mysql my.cnf设置sock=/var/lib/mysql/mysql.sock报错can't connect local mysql /tmp/mysql.sock

系统环境 centos7+mysql5.6

之前配置mysql时虽然能用,但只限于本地模式,无法远程访问,表现为:mysql -u ‘root’@‘X.X.X.X’ -p
报错提示:无法连接’root’@‘X.X.X.X’@‘localhost’ 很明显是有一个什么配置无法解析’root’@'X.X.X.X’为-u root -h ‘X.X.X.X’;
但是很不幸当初没有及时发现,又因为mysql配置方式不熟悉,就导致后面连mysql service 都无法打开,最后决定卸载,重装

重装是下载tar.gz文件然后解压到/usr/local下
然后配置my.cnf
socket=/var/lib/mysql/mysql.sock
然后一直报错,就是无法连接到/tmp/mysql.sock
查看了/tmp下确实没有mysql.sock而在/var/lib/mysql下确实有mysql.sock
但是它一直提示权限不足,加之网上一些帖子认为报此类型错误和权限有关系,我就修改权限,还试着在/tmp下自己创建一个该文件,但是都没有效果,后来试着改变my.cnf 的配置sock=/tmp/mysql.sock然后service mysql restart
再度尝试果然可以。

可能的原因:每次mysql服务启动都会到my.cnf下sock文件是否存在,不存在就创建,但是应该是默认的sock文件存放在/tmp下

你可能感兴趣的:(问题与解答)