无法连接到 mysql 服务器错误 2002 (HY000):无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

无法连接到 mysql 服务器错误 2002 (HY000):无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

我尝试连接到 mysql 服务器,但是它给出了套接字问题,我已将 my.cnf 从 /var/lib/mysql/mysql.sock 编辑为 /home/mysql/mysql.sock Nb:此问题在将 mysql db 文件移动到新目录之前存在。

[root@dc ~]# /usr/bin/mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


[root@dc ~]# ps aux | grep mysqld
root      8472  0.0  0.0 108216  1596 pts/2    S    10:18   0:00 /bin/sh  /usr/bin/mysqld_safe --datadir=/home/mysql --socket=/home/mysql/mysql.sock --pid-       file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
 mysql     8691  0.1  0.0 543468 47860 pts/2    Sl   10:18   0:00   /usr/libexec/mysqld --basedir=/usr --datadir=/home/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/home/mysql/mysql.sock
root      8825  0.0  0.0 103356   852 pts/2    S+   10:20   0:00 grep mysqld

my.cnf 下的 Mysqld 指令:

[mysqld]
datadir=/home/mysql
socket=/home/mysql/mysql.sock

答案1

尝试将套接字添加到客户端指令中的 my.cnf。

[mysql]

# CLIENT #
port                            = 3306
socket                          = /home/mysql/mysql.sock

[mysqld_safe]

socket                          = /home/mysql/mysql.sock
nice                            = 0

[mysqld]

# GENERAL #
user                            = mysql
default-storage-engine          = InnoDB
pid-file                        = /var/run/mysqld/mysqld.pid
socket                          = /home/mysql/mysql.sock

答案2

您是否已验证文件 /home/mysql/mysql.sock 存在且可读等?

我以前见过这种情况,存在正确问题,文件无法创建或无法访问。

另外,当您执行“/etc/init.d/mysqld restart”* 时日志中是否有任何错误?

// Mike *或任何你的操作系统需要重新启动守护进程/服务

答案3

您的 ps 输出显示,您的 mysqld 的套接字存储在:

/home/mysql/mysql.sock

但是你的 mysql 客户端尝试默认的:

/var/lib/mysql/mysql.sock

因此你可以尝试:

/usr/bin/mysql -u root -p -S /home/mysql/mysql.sock

相关内容