Can not connect to MySQL server详细解决方法:
排错过程:
1、到/tmp/下确实没有mysql.sock.
2、执行 bin/mysqld_safe –user=mysql ,可以看到提示,信息放到/var/lib/mysql/zuolong.err文件里.zuolong为你的hostname
3、查看 /var/lib/mysql/yourhostname.err里面的信息,看到启动mysql时,会看在/var/run/mysqld/生成mysqld.sock文件。
4、用ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock,重启一下mysql服务,php连接正常。
系统重启后,/tmp/msyql.sock文件又没了,错误又出现。
5、执行bin/mysqld_safe –user=mysql –socked=/tmp/mysql.sock在/tmp/里面可以生成mysql.sock,php也正常。
6、可是重启以后,系统是不会加上–socked的这项呀,查看了一下mysql自动启动脚本vim /etc/init.d/mysql发现里面也没涉及到socked的地方。
7、再次跑去修改/etc/my.cnf里面的socket=/tmp/mysql.sock,结果还是不行。找了大量资料,都发现不了问题。
8、最后,在偶然的机会,发现在/etc/里面还有一个mysql目录,进去又发现了一个my.cnf文件。这个目录和文件 都是编译安装后自动生成的。而在/etc/下的那个my.cnf是我按网上教程自己copy来的。在里面无论怎么配置socket都不生效。
解决:
vim /etc/mysql/my.cnf
一看里面的配置,就知道问题所在了。
将
socket = /var/run/mysqld/mysqld.sock
修改为
socket = /tmp/mysql.sock
重启mysql,问题解决
温馨提示:答案为网友推荐,仅供参考