c++ - MYSQL Too many connections 错误不会消失

标签 c++ mysql

我在 Ubuntu Linux 上运行的 C++ 程序中遇到 MySQL“太多连接”错误。

这是获取错误的代码(它在返回 mysql 错误的方法中,如果有的话):

MYSQL connect;
mysql_init(&connect);
if (!mysql_real_connect(&connect,SERVER,USER,PASSWORD,DATABASE,0,NULL,0))
{
    return mysql_error(&connect);
}

此代码不断返回字符串“Too many connections”。

我想知道这是否真的是其他错误。在我收到此错误之前,该程序已经运行了几个月。当错误第一次出现时,是因为我针对数千次更新/读取运行了程序,所以是的,很可能我用完了可用连接。问题是,如果确实如此,我找不到释放它们的方法。

这是我尝试过的:

  • 刷新主机;
  • 冲洗表格;
  • 重启MYSQL
  • 完全重启机器

自此错误首次出现以来已超过 12 小时,因此如果是连接问题,则不会重置/释放任何内容。我原以为重启机器会释放一些东西。

最佳答案

参见 C.5.2.7. Too many connections.

查看所有 MySQL 连接。

 netstat -apn | grep mysql | grep -i established

提示

  • 仅当连接指针为空或与数据库的连接不可用时才构建并返回连接对象。
  • 在整个 session 中使用一个连接池。
  • 在每个 session 结束时关闭连接并释放/清除连接指针。
  • 增加/etc/mysql/my.cnf 中的 max_connections=# 或使用 --max_connections=# 重启 MySQL>

关于c++ - MYSQL Too many connections 错误不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879410/

相关文章:

c++ - C++中的正则表达式问题

C++ 继承以及如何通过父类(super class)传递和维护子类数据

c++ - 在 C++ 中,为什么仅包含 union 及其基类实例的派生类占用的内存大于 union 的大小?

mysql - 是否可以在 MySQL 中仅授予元数据权限

Mysql 匹配,反对没有返回正确的结果

php - 将 MySQL 结果集创建为 CSV 字符串

c++ - 如何在NetBeans(Linux)中链接库?

c++ - 总是返回成员变量 getter 的引用是个好主意吗?

php - Lumen 5.6 迁移错误指定的 key 太长最大 key 长度为 767 字节

php - Symfony2 : Unable to use DoctrineExtensions Mysql Year function