由于前两天博客所在的VPS机房搬迁,加之工作太忙无精力再去弄一个备份服务器,导致了博客连续两天都无法访问。近日拜访的朋友实在是抱歉了~~

刚好之前也是一直懒得升级服务器的系统版本,旧的系统(ubuntu 11.04) 已经不被支持了,所以今天升级到了最新的 LTS 版本。还好各种数据都有备份,升级过程很顺利,各种工具安装配置基本都很快弄好了。自己试了几次,访问速度还可以~~ 嘿嘿

很快就要新年了,希望各位朋友继续多多支持~~

提前祝各位新年快乐,工作顺利,学业有成~~

最近服务器很不稳定,于是重装了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

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