Can't connect to local MySQL server through socket '/tmp/mysql.sock'
上述提示可能在啟動mysql時遇到,即在/tmp/mysql.sock位置找不到所需要的mysql.sock文件,主要是由於my.cnf文件里對mysql.sock的位置設定導致。
mysql.sock默認的是在/var/lib/mysql, 如果發現確實是在該目錄下,可以在[mysqld]下面加入mysql.sock的path
vi /etc/my.cnf(my.cnf也可能在其他路徑下)
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
但是要保證使用mysql的用戶具有對該目錄的寫權限,否則這樣的改動由於權限限制仍然會報錯。
所以為了避免權限問題也可以使用軟鏈接為/var/lib/mysql/mysql.sock創建一個到/tmp/mysql.sock的聯接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
由於/tmp/文件夾默認對other有w權限,這樣就可以避免權限問題。
此外,如果發現mysql.sock不在默認的/var/lib/mysql位置,一種解決方法是使用find命令搜索mysql.sock的位置,然后按前面兩種解決方案挑一種做即可。