在执行mysql命令的过程中,有时候会碰到如下的错误:
shell> mysqldump -uroot -p123456 -d jact > jact.sql
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/usr/local/mysql/var/mysql.sock' (2) when trying to connect
说明我们使用的连接mysql的unix套接字错误。
要找出套接字的地点,应:
shell> netstat -ln | grep mysql
unix 2 [ ACC ] STREAM LISTENING 7414 /var/lib/mysql/mysql.sock
然后敲入如下命令:
shell> mysqldump --socket=/var/lib/mysql/mysql.sock -uroot -p123456 -d jact > jact.sql
另一种解决方法为:
一是,修改mysql配置文件里的socket项的值为 '安装目录/mysql.sock',不过这种方法需要重启mysql服务,很不厚道。
二是,为/tmp/mysql.sock创建一个软链接到 '安装目录/mysql.sock':
ln -s /tmp/mysql.sock '安装目录/mysql.sock'