linux下mysql不能用,敲入命令"mysql",就报错:ERROR 2002 (HY000): Can 't connect to local MySQL server through socket '/tmp/mysql.sock ' (2),
但是Navicat工具却能够连上,通过3306端口查询和ps命令查看,mysql进程完全正常,
原因是:
错误提示:mysql默认用的是/tmp下的mysql.sock文件进行socket通信,进入/tmp目录不存在mysql.sock文件,
既然能够通信,必然存在一个mysql.sock文件,在哪里呢?
通过命令: find / -name "mysql.sock"
发现真正的mysql.sock在目录/opt/mysql/tmp下,OK,那问题基本可以解决了,既然它提示在/tmp目录下找不到mysql.sock,
那就在/tmp下给它创建一个,ln -s /opt/mysql/tmp/mysql.sock mysql.sock
结果如下:
lrwxrwxrwx 1 root root 25 4月 22 00:52 mysql.sock -> /opt/mysql/tmp/mysql.sock
再重启mysql,问题解决。