mysql啟動(dòng)異常mysql.sock 啟動(dòng)mysql錯(cuò)誤解決方法,學(xué)會(huì)查看錯(cuò)誤日志:mysql.sock丟失,mysqld_safe啟動(dòng)報(bào)錯(cuò) 轉(zhuǎn)載自:http://www.cnblogs.com/super-lucky/p/superlucky.html 本人還是個(gè)菜鳥,下面是我的經(jīng)驗(yàn)之談,能解決一些問題,有不對(duì)的地方,敬請(qǐng)斧正。
mysql啟動(dòng)異常mysql.sock轉(zhuǎn)載自:http://www.cnblogs.com/super-lucky/p/superlucky.html
本人還是個(gè)菜鳥,下面是我的經(jīng)驗(yàn)之談,能解決一些問題,有不對(duì)的地方,敬請(qǐng)斧正。
我的是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 ]
? ? ? ? ?Starting mysqld: [ FAILED]
? ? ? ?>ps -ef | grep mysql
? ? ? ? ?root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql ? 只有這一條
至此,我可以確定,mysql無法啟動(dòng)。
我開始排錯(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
? ? ? ? ? 顯示為空,未查詢到mysql.sock文件,mysql.sock文件丟失了。
我看網(wǎng)上有人說mysql.sock套接字文件可以簡(jiǎn)單地通過重啟服務(wù)器重新創(chuàng)建得到它,
? ? ? ? ?>init 6 ? ? ?重啟命令
? ? ? ? ? ?重啟后發(fā)現(xiàn)錯(cuò)誤還是那樣,沒有任何改變,mysql.sock重啟服務(wù)器未自動(dòng)生成。
接下來了解到mysql.sock是一個(gè)臨時(shí)文件,在mysql啟動(dòng)時(shí)會(huì)自動(dòng)生成,我的服務(wù)器未啟動(dòng),自然就沒有mysql.sock文件。
我嘗試安全啟動(dòng)模式,mysqld_safe試圖通過工作目錄找到服務(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
各種命令嘗試無效的情況下,我開始了本次最大的收獲----學(xué)會(huì)看錯(cuò)誤日志。
在錯(cuò)誤日志中,啟動(dòng)失敗的原因極為明顯,file ‘./mysql-bin。000004’ not found,failed to open!
?mysql開啟了bin日志功能,到數(shù)據(jù)庫(kù)根目錄查看該文件是存在的,可能是文件權(quá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”開頭的文件都是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”開頭的文件是軟鏈接文件。或者可以通過修改/etc/my.cnf文件來修正它。
? ?成功解決了!~
就是這樣一個(gè)問題折騰了我這么久,錯(cuò)誤日志讓它無所遁形。查看錯(cuò)誤日志可以明確問題所在,而不是像我之前那樣盲目的找錯(cuò)。
俗話說授人以魚不如授人以漁,學(xué)會(huì)查看日志,你也可以方便快捷的解決問題了。
錯(cuò)誤使人進(jìn)步,我與這個(gè)錯(cuò)誤斗爭(zhēng)了四個(gè)多小時(shí),對(duì)linux的“一切皆文件”這句話有了更深的了解,對(duì)我學(xué)習(xí)文件系統(tǒng)管理(目錄樹)有很大的幫助,讓我的思維真正的從windows操作系統(tǒng)轉(zhuǎn)向成linux系統(tǒng)。并最終解決問題,很有成就感,我喜歡這種感覺。
希望能對(duì)閱讀的你有所幫助,謝謝!~
?
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com