啟動mysql時顯示:/tmp/mysql.sock 不存在的解決方法


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的位置,然后按前面兩種解決方案挑一種做即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM