標籤:
當在linux系統中啟動mysql服務的時候service mysqld start時
報:Another MySQL daemon already running with the same unix socket.
解決辦法。
原因多個Mysql進程使用了同一個socket。
兩個方法解決:
第一個是立即關機 使用命令 shutdown -h now 關機,關機後在啟動,進程就停止了。
第二個直接把mysql.sock檔案改名即可。也可以刪除,推薦改名。
方法 mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
然後就可以啟動mysql,這時會重新建立一個mysql.sock檔案。
mysql.sock檔案的講解在網上找了如下解釋,在此轉載
這個mysql.sock應該是mysql的主機和客戶機在同一host上的時候,使用unix domain socket做為通訊協議的載體,它比tcp快。通常遇到這個問題的原因就是你的mysql server沒運行起來。
Mysql有兩種串連方式:
(1),TCP/IP
(2),socket
對mysql.sock來說,其作用是程式與mysqlserver處於同一台機器,發起本地串連時可用。
例如你無須定義串連host的具體IP得,只要為空白或localhost就可以。
在此種情況下,即使你改變mysql的外部port也是一樣可能正常串連。
因為你在my.ini中或my.cnf中改變連接埠後,mysql.sock是隨每一次 mysql server啟動產生的。已經根據你在更改完my.cnf後重啟mysql時重建了一次,資訊已跟著變更。
那麼對於外部串連,必須是要變更port才能串連的。
linux下安裝mysql串連的時候經常回提示說找不到mysql.sock檔案,解決辦法很簡單:
如果是新安裝的mysql,提示找不到檔案,就搜尋下,指定正確的位置。
如果mysql.sock檔案誤刪的話,就需要重啟mysql服務,如果重啟成功的話會在datadir目錄下面產生mysql.sock 到時候指定即可。
如果還不行就選擇用TCP串連方式串連就行了,其實windows下還支援管道串連方式。
啟動MySQL報錯