最近服务器很不稳定,因而重装了mysql 和php 服务,可是接着却遇到了很头疼的麻烦。php
远程链接mysql是老是提示:mysql
代码以下:sql
Lost connection to MySQL server at ‘reading initial communication packet', system error: 0vim
很明显这是链接初始化阶段就丢失了链接的错误。服务器
google半天大可能是说的注释掉配置文件中 bind-address = 127.0.0.1 这一句。ide
可是个人配置文件并无配置这一句,各类搜索均未果。今天偶然在网上看到一个遇到一样问题的人贴出的配置,发现他多了一句配置 skip-name-resolve,抱着试试看的态度改了一下并重启了mysql服务,果真远程一会儿就链接上了,真是无语。google
其实问题很简单,都是MySQL的配置文件默认没有为远程链接配置好,只须要更改下MySQL的配置文件便可。rest
具体的解决步骤以下,但愿能帮助遇到一样问题的同窗们:server
找到并修改my.cnf文件。在不一样的Linux系统下,my.cnf放在不一样的位置。这里以Ubuntu Server作示例,其余系统请根据状况自行找到my.cnf的路径。通常只会存放在/etc/my.cnf或者/etc/mysql/my.cnf下。ip
首先用vim打开my.cnf:
代码以下:
vim /etc/mysql/my.cnf
看看是否有绑定本地回环地址的配置,若是有,注释掉下面这段文字:(在文字以前加上#号便可)
代码以下:
bind-address = 127.0.0.1
而后找到[mysqld]部分的参数,在配置后面创建一个新行,添加下面这个参数:
skip-name-resolve
保存文件并重启MySQL:
复制代码 代码以下:
/etc/init.d/mysql restart
这样就会发现,问题已经解决了!远程链接不会丢失了。