找不到mysql.sock

二进制安装mysql报如下错误

[root@tzPC sdb1]# mysql -v
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

发现/tmp/mysql.sock不存在,造成这样的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次mysql.sock 。

解决方法

先查看当前进程是否有存活的mysql,有则kill掉它,再重启数据库

$ ps -ef | grep mysql
$ kill -9 xxxx
$ /etc/init.d/mysqld start

如果还得不到解决,则检查配置文件是否正确

$ cat /etc/my.cnf
[mysqld]
user=mysql
basedir=/mnt/sdb1/mysql
datadir=/mnt/sdb1/mysql_data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock

使用命令查找mysql.sock文件

$ find / -name mysql.sock

如果没找到,重新执行mysql_install_db重建授权表

$ mysql/bin/mysql_install_db

再执行如下命令,mysql.sock文件就有了

$ mysql/bin/mysqld_safe &

$ find / -name mysql.sock
/tmp/mysql.sock
posted @ 2020-09-07 16:19  努力吧阿团  阅读(744)  评论(0编辑  收藏  举报