找不到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
今天的学习是为了以后的工作更加的轻松!