admin 管理员组

文章数量: 1184232

Linux版本:Centos7
在解决这个问题之前,先确保已经对MySQL完成了初步的设置。详情可看BV1qS4y1h77S

该问题出现的原因

        客户端 (mysql) 和 服务器 (mysqld) 配置的套接字文件(socket)路径不一致。

解决步骤

1、先检查mysqld是否正常运行,下图所示情况为正常。

systemctl status mysqld

  输出结果:

2、检查配置文件中socket的路径。

cat /etc/myf|grep socket

 输出结果:

socket=/var/lib/mysql/mysql.sock

3、使用--socket参数指定正确的路径。在连接时,明确告诉 mysql 客户端应该连接哪个 socket 文件。

mysql -u root -p --socket=/var/lib/mysql/mysql.sock

        如果连接正常就进行下一步,否则是由其他原因导致,可以去看看其他人的教程。

4、修改MySQL配置文件,让客户端也使用正确的默认路径。

      编辑/etc/myf文件,在[client]部分添加socket配置

sudo vim /etc/myf

修改后的内容如下:

# For advice on how to change settings please see
# http://dev.mysql/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# === 添加以下部分 ===
[client]
socket=/var/lib/mysql/mysql.sock
# ===================

5、最后进行连接测试即可。

mysql -u root -p

本篇博客到此结束,希望能对您有所帮助,感谢您的阅读。

本文标签: 解决方案 connect local error MySQL