error: myisam_sort_buffer_size is too small

// 本地測試環境
D:\xampp\mysql\bin>myisamchk -c -r ../data/aiyingli_db/rank_all
- recovering (with sort) MyISAM-table '../data/aiyingli_db/rank_all'
Data records: 0
- Fixing index 1
- Fixing index 2
myisamchk: error: myisam_sort_buffer_size is too small
MyISAM-table '../data/aiyingli_db/rank_all' is not fixed because of errors
Try fixing it by using the --safe-recover (-o), the --force (-f) option or by no
t using the --quick (-q) flag

介紹:首先介紹一下Mysql的data文件夾(也就是村表的文件夾),存儲大小不能過小!rmysql

ank_all 爲表名sql

在data目錄下rank_all有三個後綴爲rank_all.frm、rank_all.MYD、rank_all.MYI.測試

  1. .frm   爲表結構ui

  2. .MYD 爲表數據spa

  3. .MYI   爲表索引code

  4. .TMD 這個後綴具體是什麼我也無法解釋,大概在執行這段命令 REPAIR TABLE rank_all USE_FRM 的時候會出現索引

  • 問題一:個人表MYI後綴文件沒有了怎麼辦?it

  • 問題二:有MYI後綴的文件但仍是報錯?io

  • 問題三:我沒有了MYD表數據文件怎麼辦?table

問題一和問題二能夠同用一種方法解決步驟:

    用」repair table」方式修復 

    語法:repair table 表名 [選項]   例子:repair table rank_all

    若是此方法報錯能夠直接使用:REPAIR TABLE rank_all USE_FRM

    上面方法執行了好長時間沒有動靜,那就停掉命令吧!

    而後換成另外一種方法:myisamchk -c -r ../data/rank_all

    而後會報錯說是 myisamchk: error: myisam_sort_buffer_size is too small

    解決辦法:D:\xampp\mysql\bin>myisamchk -c -r ../data/aiyingli_db/rank_all --sort_buffer_size=2G

    注意:在執行的過程當中可能須要花費一點時間,耐心等待!此方法通過測試。

問題三解決方法:

    若是有TMD後綴的文件,複製一份直接修改成 [表名].MYD

    注意:此方法沒有測試,網上看到的

相關文章
相關標籤/搜索