まとまりのないブログ

something which something is something

mysql

myisamchk: error: myisam_sort_buffer_size is too small

投稿日:

myisamchkを実行したときに

myisamchk: error: myisam_sort_buffer_size is too small
Try fixing it by using the –safe-recover (-o), the –force (-f) option or by not using the –quick (-q) flag

というエラーが発生してテーブルの修復が完了することができなかった。サイズが小さすぎる、デフォルトではたしか64M程度ということなので、それでは大きめにメモリサイズを指定して実行してみたところ、

cdn-project:/usr/local/mysql# ./bin/myisamchk -r –myisam_sort_buffer_size=2024M ./data/auc/aucTable.MYI
./bin/myisamchk: unknown variable ‘myisam_sort_buffer_size=2024M’

そんな変数は知らないということらしい。それはないだろう・・・。myisam_sort_buffer_sizeの変わりにsort_buffer_sizeを指定することにした。

cdn-project:/usr/local/mysql# ./bin/myisamchk -r –sort_buffer_size=2024M ./data/auc/aucTable.MYI
– recovering (with sort) MyISAM-table ‘./data/auc/aucTable.MYI’
Data records: 0
– Fixing index 1
Wrong bytesec: 169-186-231 at 3476352160; Skipped
Wrong bytesec: 169-186-231 at 3476352160; Skipped
– Fixing index 2
Data records: 49302846

sort_buffer_sizeを2GB指定して修復を実行したらとりあえずは完了した。mysqlのデーモンを起動したら問題なく動作するようになった。起動後に一応テーブルのチェックをしてみる。

mysql> check table aucTable;

+————–+——-+———-+———-+
| Table | Op | Msg_type | Msg_text |
+————–+——-+———-+———-+
| auc.aucTable | check | status | OK |
+————–+——-+———-+———-+
1 row in set (8 min 36.97 sec)

問題なし。テーブルの最適化ということができるらしいので気休めにやっておく。

mysql> optimize table aucTable;
+————–+———-+———-+———-+
| Table | Op | Msg_type | Msg_text |
+————–+———-+———-+———-+
| auc.aucTable | optimize | status | OK |
+————–+———-+———-+———-+
1 row in set (19 min 21.08 sec)

最適かされたのかされていないのか不明。

-mysql

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

Incorrect key file for table ‘./my/table.MYI’; try to repair it

MySQLのテーブルが壊れた。Incorrect keyとかCorruptとかエラーメッセージが出たのでrepairテーブルとかmyisamchkとか色々修復するべく試したがどうやっても直ってくれない …

no image

Blitzという名前のついたバルクメモリ

PCがやたらとフリーズするのでなんでだろうかと悩んでいた原因がわかった。アプライドの特価品メモリを使っていたのが原因だった。メモリの相性が悪かった、というより不良品のメモリであるというのが正しい表現だ …

no image

mysqlのテーブルから不要なインデックスを削除する

テーブルを設計し直すために不要なインデックスを削除してみることにする。 mysql> drop index idx1 on ac200902; Query OK, 49398993 rows affe …

no image

eclipseのプロジェクトのソースファイルが全部消えた

eclipseで普通にデバッグ作業していただけなのにいきなりワークスペースのプロジェクトのフォルダ内のファイルが全部消えた。今までこんなことは経験がなかったので焦った。 消えるきっかけとなった原因 j …

no image

Wrong bytesec: 49-48-48 at linkstart: 14313808772

またテーブルのクラッシュ。mysqlのテーブルがクラッシュする頻度が激増してきた。以前はこんなことなかったのだが・・・。今は一日一回発生して絶えず見張っていなければならないという状態になってしまってい …