Table錯誤is marked as crashed and last (automatic) repair failed
錯誤分析:
此錯誤為表損壞,修復即可。一般原因為服務器突然斷電,而有程序還在往表里寫數據。或者表的數據很大。避免浪費時間去修表。注意服務器操作時停掉數據庫。
解決辦法:
首先進入數據庫,執行命令 show processlist;查看正在對此表的操作,如果有repire 修復、 讀表等相關進程kill 掉再修復。因有相關進程,修復的時候不會報錯,但是發現修復完畢后,還是提示這個錯誤,即修復失敗。
修復語句:
./myisamchk -c -r /data1/mariadb_data/databasename/**.MYI --tmpdir=/data1/tmp/ --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M
星號 × 代表表名稱。在安裝目錄的 bin/ 下執行。
注意: 如果數據表很大,一定要加上 參數:否則執行一段時間后會出現如下錯誤
MySQL myisamchk: error: myisam_sort_buffer_size is too small
————————————————
原文鏈接:https://blog.csdn.net/u012675743/article/details/53447558
./myisamchk -c -r /data/mysql/shangcheng/ecs_sessions.MYI --tmpdir=/data/mysql/tmp/ --sort_buffer_size=256M --key_buffer_size=256M --read_buffer_size=2M --write_buffer_size=2M