mysql连接远程数据库出现 ERROR 2013 (HY000) Lost connection to MySQL server at 'reading authorization packet',

mysql连接远程数据库出现 ERROR 2013 (HY000) Lost connection to MySQL server at 'reading authorization packet', system error 


 

问题描述:

公司的一台电脑,长期开机,没有重启过,突然有一天出现以下错误,再也无法重新连接到远程数据库。具体错误如下:

Lost connection to MySQL serverat ‘reading initial communication packet', system error: 0


转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/48826725


问题分析:

查了很多资料,网上都说要修改配置文件:以下框内是网上的资料:

但其实不是(文章后面有详细讲解)

最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦。
远程连接mysql是总是提示:

复制代码 代码如下:

Lost connection to MySQL server at ‘reading initial communication packet', system error: 0

很明显这是连接初始化阶段就丢失了连接的错误。
google半天大多是说的注释掉配置文件中 bind-address = 127.0.0.1 这一句。
但是我的配置文件并没有配置这一句,各种搜索均未果。今天偶然在网上看到一个遇到同样问题的人贴出的配置,发现他多了一句配置 skip-name-resolve,抱着试试看的态度改了一下并重启了mysql服务,果然远程一下子就连接上了,真是无语。
其实问题很简单,都是MySQL的配置文件默认没有为远程连接配置好,只需要更改下MySQL的配置文件即可。
具体的解决步骤如下,希望能帮助遇到同样问题的同学们:
找到并修改my.cnf文件。在不同的Linux系统下,my.cnf放在不同的位置。这里以Ubuntu Server做示例,其他系统请根据情况自行找到my.cnf的路径。一般只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下。
首先用vim打开my.cnf:

复制代码 代码如下:


vim /etc/mysql/my.cnf

看看是否有绑定本地回环地址的配置,如果有,注释掉下面这段文字:(在文字之前加上#号即可)

复制代码 代码如下:


bind-address = 127.0.0.1

然后找到[mysqld]部分的参数,在配置后面建立一个新行,添加下面这个参数:
skip-name-resolve
保存文件并重启MySQL:

复制代码 代码如下:

/etc/init.d/mysql restart


这样就会发现,问题已经解决了!远程连接不会丢失了。

 

问题解决:

 

电脑里面找不到my.cnf文件(linux),因为是win7系统,是my-default.ini文件。在安装目录下。

在配置文件里找不到网上说的bind-address = 127.0.0.1,修改了skip-name-resolve也不行。

 最后解决:

重启电脑,也就是重启mysql后就可以了。


为什么重启之后就可以了呢?很有可能是设置的timeout时间太少了!或者是太长时间没有操作过数据库造成的!其实更合理的解决方案应该是把timeout时间更改一下。


好了,以上就作为备忘写到博客里吧。有不对或者有更好的解决方案,欢迎交流。



  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
出现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服务器的负载和状态。根据具体情况采取适当的解决方法,可能需要与系统管理员、网络服务提供商或数据库管理员进行进一步的沟通和协调。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值