【mysql常见问题】找不到mysql.sock,mysql.sock丢失问题解决方法
有时候重启mysql会提示/tmp/mysql.sock不存在,此时通常会由于两种情况导致,解决方法:
一、解决var/run/mysqld没有pid和sock文件
MySQL下mysql.sock丢失丢失的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次mysql.sock 。解决方法是:
判断一般人解决故障时没有切换到mysql用户,造成权限有问题,无法创建mysql授权表,所以也就无法创建/tmp/mysql.sock 和hostname.pid文件。因此,总结解决方法如下:
#su mysql // root 用户也是可以的
$/usr/local/bin/mysql_install_db //到bin目录执行,重建授权表
$/usr/local/bin/mysqld_safe &
mysql -uroot -p //测试
mysq>bye;
如果能看到重新生成新的 /tmp/mysql.sock 和 hostname.pid 问题,说明问题已经解决。
二、解决mysql.sock文件路径不对的问题
方法一:在/var/lib/mysql创建一个link:ln -s /var/lib/mysql/mysql.sock /path/to/mysql/mysql.sock
方法二:在root权限下修改my.cnf文件(/etc/mysql/my.cnf),指定正确的路径。
#服务端基本设置
[mysqld]
#为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件
socket = /data/mysqldata/3307/mysql.sock
#客户端设置,即客户端默认的连接参数
[client]
#用于本地连接的socket套接字
socket = /data/mysqldata/3306/mysql.sock
转自:https://www.cnblogs.com/zhangweizhong/p/12179452.html
上述内容由博主自主梳理编写,仅作学习使用,如有侵权,请直接联系博主。

浙公网安备 33010602011771号