您好,登錄后才能下訂單哦!
小編給大家分享一下mysql連接時mysql.sock為什么找不到,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討方法吧!
原因:
1)mysql服務沒啟動;
2)sock文件路徑設置錯誤 ;
3)sock文件所在目錄的權限問題;
4)這個文件直接丟失了
解決步驟:
1)檢查服務有沒有啟動
2)在my.cnf文件中查看socket參數指定的路徑,查看這個路徑有沒有訪問權限
3)到那個路徑下去看一下到底有沒有這個mysql.sock文件。
如果該路徑下沒有sock文件,我們先用find命令找出這個文件的位置,如果find也找不到,重啟一下mysql服務即可,會自動生成一個。然后把他復制到soctek參數指定的路徑下去。
或者建立一個軟連接,這也是比較推薦的方法,比如這個文件在/var/lib/mysql.sock,socket參數指定的路徑是/tmp/mysql.sock。
我們就可以這樣創建:ln -s /var/lib/mysql.sock /tmp/mysql.sock,創建完之后,再嘗試連接
另外需要注意的是,mysql.sock文件默認是在/tmp下,數據庫啟動的時候,系統也默認去這個文件下找mysql.sock文件,
但是/tmp目錄有時會被某個定時任務給清除,那么我們可以給/tmp目錄加一個sticky權限,
保護其不被刪除,chmod +t /tmp即可,使得/tmp下的文件只能由文件所有者和root用戶才能刪除
4)如果還是報那個錯誤,我們就用TCP/IP來連接
看完了這篇文章,相信你對mysql連接時mysql.sock為什么找不到有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。