[解决]ERROR 2002 (HY000): Can't connect to local MySQL server

1. 问题复现

修改mysql配置文件后,重启mysql,本地登录mysqlmysql -u root -p,结果报错

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

此时通过添加主机地址可正常访问

mysql -h 127.0.0.1 -u root -p

查看my.cnf,可以发现问题源头,[client]、[mysqld_safe]、[mysqld]中均配置了socket = /var/run/mysqld/mysqld.sock

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql

2. 根目录下搜索mysqld.sock

find / -name mysqld.sock

如果能找到mysqld.sock文件,将my.cnf配置文件中的路径改为mysqld.sock文件的路径即可。

3. 重启mysql

使用如下命令重启mysql

service mysql stop
service mysql start

问题解决,可以正常登录

你可能感兴趣的:(mysql,server,mysql)