1. 程式人生 > >mysql my.cnf設定sock=/var/lib/mysql/mysql.sock報錯can't connect local mysql /tmp/mysql.sock

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下