mysql.sock這個(gè)文件有什么用?
連接localhost通常通過一個(gè)Unix域套接字文件進(jìn)行,一般是/tmp/mysql.sock。如果套接字文件被刪除了或者路徑以及配置不對(duì),本地客戶識(shí)別不到此文件就不能連接。
如果你因?yàn)閬G失套接字文件而不能連接,你可以簡單地通過重啟服務(wù)器重新創(chuàng)建得到它,因?yàn)榉?wù)器在啟動(dòng)時(shí)重新創(chuàng)建它。
出現(xiàn)ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 報(bào)錯(cuò)這是由于當(dāng)使用host參數(shù)為“l(fā)ocalhost”連接Mysql服務(wù)時(shí),會(huì)優(yōu)先使用“sock文件”進(jìn)行連接,而不是使用“IP:端口”進(jìn)行連接,而mysql嘗試使用“sock文件”進(jìn)行連接時(shí),卻無法獲取“sock文件”的位置。
? ]#? mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決此報(bào)錯(cuò)兩種方法:
1、可以運(yùn)行
? ? ]# find / -name mysql.sock
? ? /tmp/mysql.sock
查找mysql.sock文件路徑,然后通過下述命令登錄測(cè)試正常是可以的
? ? ]# mysql -uroot -p? -s /tmp/mysql.sock
2、此原因是mysql.sock配置在 [client] 前,會(huì)報(bào)錯(cuò)'/tmp/mysql.sock' (2),配置在 [client] 后,重啟 mysql服務(wù)正常即可,樣例:
? ? [client]
? ? port=3306
? ? socket=/tmp/mysql.sock
重啟MySQL后在mysql -uroot -p登錄即可。

配置后重啟正常
