ERROR 2002 (HY000): Can't connect to local MySQL server through socket

2015-01-21 12:46:23 · 作者: · 浏览: 2

在安装好了MySQL之后,使用了新的配置文件后,MySQL服务器可以成功启动,但在登陆的时候出现了ERROR 2002 (HY000): Can't connect to local MySQL server through socket,即无法通过socket连接到mysql服务器,同时提供了socket文件的位置。下面是这个问题的描述与解决办法。


1、故障现象
[root@SZDB mysqldata]# mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysqldata/mysql.sock' (111)


?


2、故障分析
#查看mysql实例的状态
[root@SZDB mysqldata]# netstat -ntlp? | grep 3306
tcp? ? ? ? 0? ? ? 0 :::3306? ? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 13001/mysqld


#查看my.cnf关于socket的配置
[root@SZDB mysqldata]# more /etc/my.cnf |grep sock
socket = /tmp/mysql.sock


?


3、解决故障
a、通过配置my.cnf mysql选项socket文件位置解决
#先停止mysql服务器
[root@SZDB mysqldata]# service mysqld stop
Shutting down MySQL.[? OK? ]


#修改my.cnf,如下
[root@SZDB mysqldata]# vi /etc/my.cnf
[mysql]
no-auto-rehash
socket = /tmp/mysql.sock? #添加该行


#重启mysql服务器
[root@SZDB mysqldata]# service mysqld start
Starting MySQL..[? OK? ]


#再次连接正常
[root@SZDB mysqldata]# mysql -uroot -p
Enter password:
mysql> show variables like 'version';
+---------------+------------+
| Variable_name | Value? ? ? |
+---------------+------------+
| version? ? ? | 5.6.12-log |
+---------------+------------+


?


b、为socket文件建立链接方式
[root@SZDB mysqldata]# ln -s /tmp/mysql.sock /data/mysqldata/mysql.sock
ln: creating symbolic link `/data/mysqldata/mysql.sock' to `/tmp/mysql.sock': File exists
[root@SZDB mysqldata]# rm mysql.sock? ? #上面提示文件存在,所以删除之前的mysql.sock文件
[root@SZDB mysqldata]# ln -s /tmp/mysql.sock /data/mysqldata/mysql.sock
[root@SZDB mysqldata]# ls -hltr mysql.sock
lrwxrwxrwx 1 root root 15 Oct 11 14:00 mysql.sock -> /tmp/mysql.sock
[root@SZDB mysqldata]# mysql -uroot -p
Enter password:
mysql> show variables like 'socket';
+---------------+-----------------+
| Variable_name | Value? ? ? ? ? |
+---------------+-----------------+
| socket? ? ? ? | /tmp/mysql.sock |
+---------------+-----------------+