明明在/etc/my.cnf 配置了mysql.sock,为什么会在/var/lib/mysql/mysql.sock 里边寻找

Posted 朽木大叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了明明在/etc/my.cnf 配置了mysql.sock,为什么会在/var/lib/mysql/mysql.sock 里边寻找相关的知识,希望对你有一定的参考价值。

操作系统:centos7.2

mysql版本:mysql 5.7

用rpm包新安装的mysql数据库,在修改mysql的数据库存储地址时将socket路径也一同进行了修改,但是修改完成后,启动也正常,在登录数据库的时候却报出以下错误提示:

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock

但是查看配置文件 vi /etc/my.cnf

[mysqld]

socket = /tmp/mysql.sock 

路径明明已经改成到/data/mysql目录下,为什么会提示  /var/lib/mysql路径下去读取?

后面查找相关资料,发现用rpm安装的话,mysql客户端sock默认是去读取/var/lib/mysql/mysql.sock

所以需要在配置文件中添加客户端的socket配置

 [client]

socket = /tmp/mysql.sock 

添加完配置再重新启动mysql,就可以正常登录了。

以上是关于明明在/etc/my.cnf 配置了mysql.sock,为什么会在/var/lib/mysql/mysql.sock 里边寻找的主要内容,如果未能解决你的问题,请参考以下文章

mysql 配置my.cnf时出状况了,mysql无法启动!

从启动脚本分析mysql读取my.cnf配置的顺序

mysql my.cnf 配置建议

MySQL配置文件my.ini或my.cnf的位置

在/etc/my.cnf未配置 [clIent] 导到mysql找不到socket

详解MySql的配置文件my.cnf