發生找不到 mysql.sock 的處理方法!

出現以下的訊息:

Got an error: Connection error: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’


mysql.sock 突然消失算是常見的問題,如果是第一次安裝MySQL才出現,那只要找出 mysql.sock 在哪裡就可以了。

以上述的錯誤訊息,mysql.sock 應該是在 /var/lib/mysql/ 裡面 ,如果沒有的話,就下:

#find / -name mysql.sock

來找看看放在哪裡,找到之後再下:

#mysqladmin -S /找到路徑/mysql.sock -u root {參數}

那…如果是突然不見的,或是都找不到怎麼辦?

那只好重新啟動 mysql 了,tarball 安裝可以透過 mysqld 或 mysqladmin 重新啟動,rpm 安裝可以透過 service mysql restart 。但是在 mysql.sock 不見的情況下,可能是無法重新啟動 mysql 的,如果真的不行,只好先下:

#ps -aux|grep mysql

再把看到的 pid 先砍了

#kill 看到的pid

確定全部都殺完了,再看一次還有沒有

#ps -aux|grep mysql

確定裡面的 mysql 都沒有了,然後再執行 mysqld 或是 service mysql start 就可以了。

9 comments On 發生找不到 mysql.sock 的處理方法!

  • 小弟不解,mysql.sock 突然消失算是常見的問題,是什麼狀況會讓他消失,因為最近我家的Server常出現這類的問題,希望能得到一些solution,謝謝

  • 會突然消失的狀況我只出現過幾次,你可以用 Google 查看看有沒有答案。

  • 我有一個問題,
    是在 mysql 啟動後,
    儲存 pid 的那個檔案大小是 0
    也就是說 pid 沒有寫入。
    在想要關閉 mysql 時只能使用 kill -9 的方法,
    請問是否有方法解決。

  • 奇怪啊…為什麼我裝起來時會沒有mysql.sock啊…是不是少裝什麼,我是Fedora3

  • 我的系统是fc7,装的时候是全装了,用mysql时提示:
    mysql
    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
    没有mysql.sock
    ps -e也没发现mysql启动
    find / -name mysql.sock也没找到不能解决sos help

  • 太感谢了,终于用你的方法搞定了!

  • I can’t use this command, cos i don’t know how
    “#mysqladmin -S /找到路徑/mysql.sock -u root {參數}”
    works

    but i found we can directly modify the /etc/my.cnf file, just make sure u have the folling lines inside /etc/my.cnf

    [mysql]
    socket=/tmp/mysql.sock

    this will make /tmp/mysql.sock ur default sock file path when u using “mysql -u USER”

  • this help me a lot !!!

  • 相當實用,謝謝你的分享!

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar