当我运行我的程序超过几天时,我遇到了与 MySQL 问题的连接失败。连接到数据库时,MySQL 错误代码是 2013。MySQL 服务器和客户端程序都在同一台机器上。我使用 FC5 作为我的操作系统,MySQL 版本是 5.0.18。有人可以对此有所了解吗?
我在调用时收到 mysql 错误 2013 mysql_real_connect()
...
任何帮助表示赞赏。
当我运行我的程序超过几天时,我遇到了与 MySQL 问题的连接失败。连接到数据库时,MySQL 错误代码是 2013。MySQL 服务器和客户端程序都在同一台机器上。我使用 FC5 作为我的操作系统,MySQL 版本是 5.0.18。有人可以对此有所了解吗?
我在调用时收到 mysql 错误 2013 mysql_real_connect()
...
任何帮助表示赞赏。
尝试使用 localhost,而不是您自己的 IP。我不知道为什么,但这立即为我解决了问题。
如果有人能突然澄清为什么这会起作用,我将不胜感激。
听起来像是防火墙问题。您是否尝试过暂时禁用防火墙?
另一种可能的解决方案涉及编辑此处提到的启动脚本并注释掉以下行:
SKIP=跳过网络
这里提到了第三种可能的解决方案。用户尝试访问 InnoDB 数据库,但意外禁用了 MySQL 服务器的 InnoDB 支持。
(新)我发现这篇 MySQL 官方文章有很多解决问题的方法。您是否修改了 wait_timeout 系统变量?
这是一个你可能想不到的答案。我遇到了同样的问题。MySQL 错误 2013。以下是症状:
PHPMyAdmin 触发了 2013 和错误 95。
我可以进入 MySQL 监视器,但启动需要非常长的时间。命令行实用程序启动后,我可以查看表格并且一切正常
服务器需要很长时间才能停止并重新启动。
MySQL 错误日志中没有错误。
我和一位优秀的系统管理员一起工作,他检查了 netstat -tn,得到了答案:
tcp 0 0 [my.srv.ip]:3306 184.73.87.215:59271 ESTABLISHED
tcp 0 1 [my.srv.ip]:38138 184.73.87.215:113 SYN_SENT
IP 解析为 Amazon Web Services。尽管端口 80 之外的所有内容都是仅允许的,但我的 3306 上仍有一些刺痛。是时候查看我的防火墙规则了。
没有新表,mtop 也没有显示任何活动,但我在 auth 日志中发现了很多:
Apr 19 15:14:52 magic2 mysqld[18953]: refused connect from ec2-184-73-87-215.compute-1.amazonaws.com
Apr 19 15:18:02 magic2 mysqld[18953]: refused connect from ec2-184-73-87-215.compute-1.amazonaws.com
在 iptables 中阻止了有问题的 IP 后,问题突然消失了。偷偷摸摸的混蛋。这个故事的寓意是:看起来像错误的东西,可能是黑客。
bz
检查您的 my.cnf。将您的绑定地址设置为服务器的 IP 地址。为我解决了这个问题。似乎没有人知道那个问题的答案!
我的解决方法是 - 将 'localhost' 更改为 '127.0.0.1'
可能是网络错误导致 TCP/IP 连接断开,或者服务器上的 wait_timeout 已超过;后者实际上可以用于降低打开连接数,但应用程序需要正确处理错误代码 2013!