这个问题是前几天帮助一个网友解决的记录在文档中,这里凑数量整理到网站中。这个同学的网站和服务器在上午还是正常的,也不清楚是自己捣鼓什么还是其他原因导致无法访问网站,于是就帮助他重启服务器、重启Nginx、MYSQL,然后看到有报错提示。
Can 't connect to local MySQL server through socket '/tmp/mysql.sock '
可见问题就在这里。
实际上这个问题我以前有在帮助一个网友在BT面板中解决过,我直接将他数据库备份一下后卸载数据库后重新安装数据库就解决的。反正他数据库问题直接删除重新安装一下,解决可能有破损文件的问题。
这不,我在这里不准备用这个办法,先分析下,是因为在tmp目录中没有"mysql.sock"文件。
我们是不是只要将这个文件拷贝进来就可以呢?
find / -name mysql.sock
找一下这个文件在哪里有没有。
/var/lib/mysql/mysql.sock
这里有一个。然后我们需要修改文件:
vi /usr/local/mysql/my.cnf
修改socket 文件路径为上面可知的URL地址,这样保存之后重启MYSQL就没有报错。或者,我们也可以创建一个软路由。
ln -s /var/lib/mysql.sock /tmp/mysql.sock
就不需要修改my.cnf文件路径了。