我收到以下错误
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0
当试图连接到我的MySQL服务器.
我在做什么:
我有MySQL中的Master-Slave复制正在工作,只是使用F5添加了负载平衡功能.
我根据他们的网站配置了F5.
但是当我尝试使用配置了F5的IP连接到我的MySQL服务器时,我得到了
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0
有任何想法吗?
更新我的进度:ZERO
- 我收到相同的错误我在/ var/log/secure中没有条目,好像有人会尝试验证来自我创建负载均衡服务器的ip.
没有引入mysql错误日志.
命令 - 什么都不返回
mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connections'; Empty set (0.00 sec)
我已经改变了我的my.cnf
文件并添加了
[mysqld] skip-name-resolve
Alterd的connect_timeout
到10
这样看来,我得到了我对我的F5创建的服务器没有回应
,我终于说服了F5管理员递给我在日志中F5服务器和我exctraced所有我需要形成的.
这是输出:
Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy: BIG-IP MySQL Proxy -- clientside initial connection Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy : BIG-IP MySQL Proxy -- clientside responding with server WELCOME packet Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy : BIG-IP MySQL Proxy -- clientside authenticated flag not set Jan 28 15:46:39 tmm err tmm[6459]: Rule /Common/iRule-f5_mysql_proxy : BIG-IP MySQL Proxy -- mysql client: attempting to do something before authentication Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy : BIG-IP MySQL Proxy -- serverside selected pool /Common/foss-mysql-slave_pool node SLAVE-IP Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy : BIG-IP MySQL Proxy -- clientside connection closed from MASTER-IP(XXXXXXX) Jan 28 15:46:39 tmm debug tmm[6459]: Rule /Common/iRule-f5_mysql_proxy : BIG-IP MySQL Proxy -- serverside connection closed from node SLAVE-IP(XXXXXXXX)
为了安全起见,我已经更换了ip!
只是作为一个额外 - 我认为这里的问题 - 我的mysql版本是5.1.69-log Thx All
来自文档:
更少见的是,当客户端尝试与服务器的初始连接时,可能会发生这种情况.在这种情况下,如果您的connect_timeout值设置为仅几秒钟,您可以通过将其增加到十秒来解决问题,如果您的距离很长或连接速度很慢,可能会更多.您可以通过使用SHOW STATUS LIKE'aborted_connections'来确定您是否遇到了这种不常见的原因.对于服务器中止的每次初始连接尝试,它将增加1.您可能会看到"读取授权数据包"作为错误消息的一部分; 如果是这样,那也表明这是您需要的解决方案.
尝试在my.cnf文件中增加connect_timeout
另一种风格:
MySQL:在"读取初始通信包"时丢失与MySQL服务器的连接
在某些时候,远程客户端无法连接到MySQL服务器.
客户端(Windows平台上的某些应用程序)给出了一个模糊的描述Connection unexpectedly terminated
.
使用MySQL客户端远程登录时出现以下错误:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
在FreeBSD上会发生这种情况,因为在修复此/etc/hosts.allow.
行之前添加以下行没有找到匹配项ALL:ALL
:
mysqld: ALL: allow
在非FreeBSD Unix系统上,值得检查文件/etc/hosts.allow
,/etc/hosts.deny.
如果要限制连接,请确保此行在/etc/hosts.allow
:
mysqld: ALL
或检查主机是否列在 /etc/hosts.deny.
在Arch Linux中,可以添加类似的行/etc/hosts.allow
:
mysqld: ALL
这通常是由连接中止引起的.您可以通过检查状态来验证这一点:
mysql> SHOW GLOBAL STATUS LIKE 'Aborted_connects';
如果此计数器在您丢失连接时不断增加,则表示您在连接期间遇到问题.
在许多情况下似乎有效的一种补救措施是增加超时.建议值为10秒:
mysql> SET GLOBAL connect_timeout = 10;
连接超时的另一个常见原因是在对客户端进行身份验证时必需的反向DNS查找.建议在my.cnf中使用config变量运行MySQL:
[mysqld] skip-name-resolve
这意味着您的GRANT语句需要基于IP地址而不是主机名.
我也从2012年在f5.com网站上找到了这份报告(现在受到登录保护,但我通过谷歌缓存获得了它)
除非您运行BIG-IP 11.1和MySQL 5.1,否则代理将无法运行,这是我测试过的版本.MySQL协议有改变的习惯.
我建议您联系F5支持并确认您使用的是受支持的版本组合.