開博第一篇文章,寫寫今天碰到的鬱悶事。
一大早發現,日誌收集任務失敗,從13號開始全部的日誌都沒有收集到,致使北京那邊的解析任務失敗。剛開始覺得哪位神人把個人進程停掉了,檢查了每一臺機器,發現全部的進程都正常運行,再查看webtool頁面,發現監控頁面顯示異常,全部的監控信息所有都是init。看了一下config server的日誌也沒有錯誤。進入mysql,查看了各個表的數據,都很正常。後來發現某個掛載的磁盤已經滿了,進mysql刪除沒用的數據,而後悲慘的事情發生了,在查詢過程當中,網絡中斷,刷新webtool頁面沒有任何反應,原本我想着從新啓動一下mysql可能就行了,結果restart失敗。
上google搜了一下,各類方法都試了一遍,發現都沒有成功。惟一的可能就是mysql出問題了。而後發現了這篇文章
MySql數據表修復方法有兩種:mysql
1. check table 和 repair tableweb
(1).登錄MySQL終端:mysql -uroot -p databasenamesql
(2)check table tabTest;
若是出現的結果說Status是OK,則不用修復,若是有Error,能夠用:
(3)repair table tabTest;
進行修復,修復以後能夠在用check table命令來進行檢查
2. myisamchk
使用myisamchk tablename.MYI
進行檢測,若是須要修復的話,可使用:
myisamchk -of tablename.MYI
照着上面的方法修復了一下全部的表。ok,終於搞定了
經過mysql的配置文件 sudo vim /etc/my.cnf能夠查看mysql的數據存放的路徑
檢查表的命令:myisamchk tbl_name 運行這個命令,若是該表須要修復,會有提示信息。
恢復表:myisamchk -r -q -f -o tbl_name (-r -q意味着「快速恢復模式」,-r意味着「恢復模式」,-f/--force 「自動修復」,-o「安全恢復」)
除了一些經常使用的幾個參數,myisamchk的參數還有不少,你們能夠用myisamchk --help查看