ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading authorization packet’, system error:

当WEB服务器负载高的时候,经常会出现这种错误,

原因:

MySQL默认connect_timeout是5秒,超过了这个时间MySQL的server端就会返回“Bad handshake”。

解决办法:

1.大多数时候设置"set global connect_timeout=60"是可以解决问题的;

我们可以通过执行“ SHOW STATUS LIKE 'aborted%' ”,可以观察到
Variable_name Value
Aborted_clients 6
Aborted_connects 15010

觉得是否要增加connect_timeout的时间,"Aborted_connects"将会随着服务端放弃客户端初始连接而增加。如果"Aborted_connects"很大,并且不断增加,就需要增加"connect_timeout".

2.在MySQL的配置文件中[mysqld]添加"skip-name-resolve",减少域名解析的时间

3.部署服务器端的网络要好,至少大于100Mbps/s

4.如果是在调用mysql_query的时候出现的问题,那就需要把"net_read_timeout"的时间调成30秒,或者60秒,或者更大的值

5.如果还不能解决问题,那估计是你的SQL语句中含有BLOB这种大类型,我们就需要增加"max_allowed_packet"的值了

参考资料:

http://dev.mysql.com/doc/refman/5.0/en/error-lost-connection.html

当出现“lost connection to mysql server at ‘reading authorization packet’, system”错误时,意味着客户端无法正确连接到MySQL服务器,并且故障通常是由以下原因之一引起的: 1. 网络问题:可能是网络连接不稳定或网络延迟导致连接丢失。这可能是由于网络故障或服务器故障引起的。 解决方法:检查网络连接并确保网络稳定。尝试重新连接MySQL服务器,如果问题持续存在,可能需要联系系统管理员或网络服务提供商以解决网络问题。 2. 认证错误:可能是由于客户端提供的凭据与MySQL服务器的凭据不匹配引起的。这可能是由于密码错误或用户名错误等问题引起的。 解决方法:检查提供的用户名和密码是否正确,并确保它们与MySQL服务器上配置的凭据匹配。可以尝试使用正确的凭据重新连接MySQL服务器。 3. 服务器过载或故障:可能是由于MySQL服务器负载过重或发生故障导致无法处理连接请求。 解决方法:检查MySQL服务器的负载和状态。如果服务器过载,可以尝试等待一段时间再尝试连接。如果服务器发生故障,可能需要联系系统管理员或数据库管理员以解决问题。 综上所述,当出现“lost connection to mysql server at ‘reading authorization packet’, system”错误时,我们应该首先检查网络连接,确保网络稳定;然后检查提供的凭据是否正确;最后,检查MySQL服务器的负载和状态。根据具体情况采取适当的解决方法,可能需要与系统管理员、网络服务提供商或数据库管理员进行进一步的沟通和协调。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值