西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴(lài)的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → mysql啟動(dòng)錯(cuò)誤:mysql.sock丟失,mysqld_safe報(bào)錯(cuò)解決方案

mysql啟動(dòng)錯(cuò)誤:mysql.sock丟失,mysqld_safe報(bào)錯(cuò)解決方案

相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/8/3 20:30:44字體大�。�A-A+

作者:西西點(diǎn)擊:259次評(píng)論:0次標(biāo)簽: mysql

  • 類(lèi)型:數(shù)據(jù)庫(kù)類(lèi)大�。�1.7M語(yǔ)言:英文 評(píng)分:6.6
  • 標(biāo)簽:
立即下載

我的是CentOS6.3+MySQL5.1.57。重啟了一次服務(wù)器后,使用> mysql -u root -p登陸是出現(xiàn)下面的錯(cuò)誤:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

于是,我檢察mysql狀態(tài):

       > /etc/rc.d/init.d/mysqld  status  

          顯示stop,未運(yùn)行。

       >/etc/rc.d/init.d/mysqld  restart

         Stopping mysqld: [ OK ]

         MySQL Daemon failed to start.

         Starting mysqld: [ FAILED]

       >ps -ef | grep mysql

         root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql   只有這一條

至此,我可以確定,mysql無(wú)法啟動(dòng)。

我開(kāi)始排錯(cuò),首先發(fā)現(xiàn)/tmp/mysql.sock不存在

        >vim /etc/my.cnf

          socket=/var/lib/mysql/mysql .sock

          /var/lib/mysql/mysql .sock同樣不存在

        >find / -name mysql.sock

          顯示為空,未查詢(xún)到mysql.sock文件,mysql.sock文件丟失了。

我看網(wǎng)上有人說(shuō)mysql.sock套接字文件可以簡(jiǎn)單地通過(guò)重啟服務(wù)器重新創(chuàng)建得到它,

         >init 6      重啟命令

           重啟后發(fā)現(xiàn)錯(cuò)誤還是那樣,沒(méi)有任何改變,mysql.sock重啟服務(wù)器未自動(dòng)生成。

接下來(lái)了解到mysql.sock是一個(gè)臨時(shí)文件,在mysql啟動(dòng)時(shí)會(huì)自動(dòng)生成,我的服務(wù)器未啟動(dòng),自然就沒(méi)有mysql.sock文件。

我嘗試安全啟動(dòng)模式,mysqld_safe試圖通過(guò)工作目錄找到服務(wù)器和數(shù)據(jù)庫(kù),但mysqld_safe還是失敗。

       >mysqld_safe &
         Starting mysqld daemon with databases from ....../mysql/var 
         STOPPING server from pid file   .......pid

         130802 15:17:11 mysqld ended

各種命令嘗試無(wú)效的情況下,我開(kāi)始了本次最大的收獲----學(xué)會(huì)看錯(cuò)誤日志。

在錯(cuò)誤日志中,啟動(dòng)失敗的原因極為明顯,file ‘./mysql-bin。000004’ not found,failed to open!

 mysql開(kāi)啟了bin日志功能,到數(shù)據(jù)庫(kù)根目錄查看該文件是存在的,可能是文件權(quán)限的問(wèn)題。

       >chown -R mysql:mysql /....../mysql/var

       >mysqld_safe &

       >/etc/rc.d/init.d/mysqld  restart

         Stopping mysqld: [ OK ]

         Starting mysqld: [ OK]

成功啟動(dòng)了!~

此時(shí)mysql.sock文件出現(xiàn)了,在/var/lib/mysql/mysql .sock。如下圖所示,以”s”開(kāi)頭的文件都是socket文件。

          > mysql -u root -p

             ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

/tmp/mysql.sock

解決這個(gè)錯(cuò)誤很簡(jiǎn)單,因?yàn)?tmp/mysql.sock不存在,用這樣的方法:

>ln -s /var/lib/mysql/mysql .sock   /tmp/mysql .sock

以”l”開(kāi)頭的文件是軟鏈接文件。或者可以通過(guò)修改/etc/my.cnf文件來(lái)修正它。

成功解決了!~

就是這樣一個(gè)問(wèn)題折騰了我這么久,錯(cuò)誤日志讓它無(wú)所遁形。查看錯(cuò)誤日志可以明確問(wèn)題所在,而不是像我之前那樣盲目的找錯(cuò)。

俗話(huà)說(shuō)授人以魚(yú)不如授人以漁,學(xué)會(huì)查看日志,你也可以方便快捷的解決問(wèn)題了。

錯(cuò)誤使人進(jìn)步,我與這個(gè)錯(cuò)誤斗爭(zhēng)了四個(gè)多小時(shí),對(duì)linux的“一切皆文件”這句話(huà)有了更深的了解,對(duì)我學(xué)習(xí)文件系統(tǒng)管理(目錄樹(shù))有很大的幫助,讓我的思維真正的從windows操作系統(tǒng)轉(zhuǎn)向成linux系統(tǒng)。并最終解決問(wèn)題,很有成就感,我喜歡這種感覺(jué)。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱(chēng):
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)