我在Ubuntu Linux上运行的C ++程序中遇到MySQL“Too many connections”错误。
这是获取错误的代码(它在一个返回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。”
我想知道这是否真的是其他错误。在我收到此错误之前,该程序已经工作了几个月。当错误首次出现时,是因为我已经针对数千个更新/读取运行程序,所以是的,很可能我用完了可用的连接。问题是,如果就是这样,我找不到释放它们的方法。
以下是我的尝试:
此错误首次出现已超过12小时,因此如果是连接,则不会重置/释放任何内容。我本以为重启机器会发布一些东西。
答案 0 :(得分:3)
请参阅C.5.2.7. Too many connections.
查看所有MySQL连接。
netstat -apn | grep mysql | grep -i established
max_connections=#
或使用--max_connections=#
重启MySQL 答案 1 :(得分:0)
确保在完成连接后关闭连接。
考虑重用连接或连接池。