mysql转移数据报ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
关闭mysql服务:
service mysqld stop
转移mysql数据目录
mv /var/lib/mysql/ /data/
编辑my.cnf
vi /etc/my.cnf
修改其中的datadir和socket到新的路径
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
service mysqld start
但是尽管启动服务没有问题,但是通过mysql客户端连接的时候却报错:
[root@hostXXX data]# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
原因是无法通过socket文件/var/lib/mysql/mysql.sock连接到mysql服务器
做软连接,重启mysql服务,恢复正常。
ln – s /data/mysql/mysql.sock /var/lib/mysql/
不做软链接也可以,只需要在/etc/my.cnf里添加[mysql]字段指定socket的位置到转移后的位置即可
[mysql]
socket=/data/mysql/mysql.sock