綠色資源(yuán)網:您身邊最放心的(de)安全下(xià)載站! 最新軟件|熱門排行|軟件分類|軟(ruǎn)件專題|廠商大全

綠色資源網

技術教程(chéng)
您的(de)位置:首頁數據庫類MySQL → mysql啟動錯誤:mysql.sock丟失,mysqld_safe報錯(cuò)解決(jué)方案

mysql啟動錯誤(wù):mysql.sock丟失,mysqld_safe報錯解決方案

我要評論 2013/08/03 23:12:04 來源:綠色資源網 編輯:www.ynaad.com [ ] 評(píng)論:0 點擊:594次

我的(de)是CentOS6.3+MySQL5.1.57。重啟了一次服務器(qì)後,使用> mysql -u root -p登(dēng)陸(lù)是出現下麵的錯誤:

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

於是(shì),我檢察(chá)mysql狀(zhuàng)態:

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

          顯示stop,未運行。

       >/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   隻有這一條

至此,我(wǒ)可(kě)以(yǐ)確定,mysql無法啟動(dòng)。

我開始排錯,首先發(fā)現/tmp/mysql.sock不存在

        >vim /etc/my.cnf

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

          /var/lib/mysql/mysql .sock同樣不(bú)存在(zài)

        >find / -name mysql.sock

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

我看網(wǎng)上有人說mysql.sock套接字文件可以簡單地(dì)通過重啟服務器重新(xīn)創建得到它,

         >init 6      重(chóng)啟命令

           重啟後發現錯誤還是那樣,沒有任何改變,mysql.sock重啟服務(wù)器未自動生成。

接下來了解到mysql.sock是一個臨時文件(jiàn),在mysql啟動時會自動生成,我的服(fú)務器未啟動(dòng),自然就沒有mysql.sock文件。

我(wǒ)嚐試安全啟動模式,mysqld_safe試圖(tú)通過工作目錄(lù)找到(dào)服務器和數據庫,但mysqld_safe還是失敗。

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

         130802 15:17:11 mysqld ended

各種命令嚐試無效的情況下,我開始了本次最(zuì)大的收獲----學(xué)會看錯誤日(rì)誌。

在錯誤(wù)日誌中(zhōng),啟(qǐ)動失敗的原(yuán)因極為明(míng)顯(xiǎn),file ‘./mysql-bin。000004’ not found,failed to open!

 mysql開(kāi)啟了bin日誌功能,到數據庫根目錄查看該文件是存在的,可(kě)能是文件權限的問題。

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

       >mysqld_safe &

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

         Stopping mysqld: [ OK ]

         Starting mysqld: [ OK]

成功啟動了!~

此時mysql.sock文(wén)件出現了,在/var/lib/mysql/mysql .sock。如下圖(tú)所示,以”s”開頭的文(wén)件都是socket文件。

          > mysql -u root -p

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

/tmp/mysql.sock

解決這個錯誤很(hěn)簡單(dān),因為/tmp/mysql.sock不存在,用這樣的方法(fǎ):

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

以”l”開頭的文件是軟鏈接文件。或者可以通過修改/etc/my.cnf文件來修(xiū)正它。

成功解(jiě)決了!~

就是這樣一個問題折騰(téng)了我這麽久,錯誤日誌讓它無所遁形。查看錯誤日誌可以明確(què)問(wèn)題所(suǒ)在(zài),而不是像我(wǒ)之前那樣盲目(mù)的(de)找錯。

俗話說授人以(yǐ)魚不如授人以漁,學會查看日誌,你也可以方便快捷(jié)的(de)解決問題了(le)。

錯誤(wù)使人進步,我與這個錯誤鬥爭了四個多小時,對linux的“一切(qiē)皆文件”這(zhè)句話有了更深的了解,對我學習文件係統管理(目錄樹)有很大的幫助,讓(ràng)我的思維真正的從windows操作(zuò)係(xì)統轉向成linux係統。並最(zuì)終解決問題,很有成就感,我喜歡這種感覺。

關鍵詞:mysql

閱讀本文後您有什麽(me)感(gǎn)想? 已(yǐ)有 人給出評價!

  • 0 歡(huān)迎喜歡
  • 0 白(bái)癡
  • 0 拜(bài)托
  • 0 哇(wa)
  • 0 加油
  • 0 鄙視
免费人欧美成又黄又爽的视频丨一本色道久久88综合日韩精品丨国产专区日韩精品欧美色丨午夜无遮挡男女啪啪视频丨国产欧美日韩综合精品一区二区丨亚洲精品无码不卡在线播HE丨亚洲精品国产精品国自产观看丨日韩国产高清av不卡