MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

16.2.1 MyISAM 起動オプション

MyISAM テーブルの振る舞いを変えるために、次の mysqld オプションを使用できます。 追加情報については セクション5.1.7「サーバーコマンドオプション」を参照してください。

表 16.3 「MyISAM オプションおよび変数リファレンス」

名前 コマンド行 オプションファイル システム変数 ステータス変数 変数スコープ 動的
bulk_insert_buffer_size はい はい はい 両方 はい
concurrent_insert はい はい はい グローバル はい
delay_key_write はい はい はい グローバル はい
have_rtree_keys はい グローバル いいえ
key_buffer_size はい はい はい グローバル はい
log-isam はい はい
myisam-block-size はい はい
myisam_data_pointer_size はい はい はい グローバル はい
myisam_max_sort_file_size はい はい はい グローバル はい
myisam_mmap_size はい はい はい グローバル いいえ
myisam_recover_options はい はい はい グローバル いいえ
myisam_repair_threads はい はい はい 両方 はい
myisam_sort_buffer_size はい はい はい 両方 はい
myisam_stats_method はい はい はい 両方 はい
myisam_use_mmap はい はい はい グローバル はい
tmp_table_size はい はい はい 両方 はい

次のシステム変数は MyISAM テーブルの振る舞いに影響を与えます。 追加情報については セクション5.1.8「サーバーシステム変数」を参照してください。

myisam_recover_options システム変数を設定して mysqld を起動すると、自動リカバリがアクティブ化されます。 この場合、サーバーが MyISAM テーブルを開いたときに、テーブルにクラッシュのマークが付いているかどうかや、テーブルのオープンカウント変数が 0 でないかどうか、そして外部ロックが使用不可能な状態でサーバーを作動させているかどうかを確認します。 これらの条件のいずれかが true である場合、次のことが起こります。

リカバリで以前に完了したステートメントのすべての行をリカバリできず、myisam_recover_options システム変数の値に FORCE を指定しなかった場合、自動修復はエラーログにエラーメッセージとともに中断されます:

Error: Couldn't repair table: test.g00pages

FORCE を指定すると、代わりにこのような警告が書かれます。

Warning: Found 344 of 354 rows when repairing ./test/g00pages

自動リカバリ値に BACKUP が含まれている場合、リカバリプロセスでは、tbl_name-datetime.BAK という形式の名前のファイルが作成されます。 これらのファイルを自動的にデータベースディレクトリからバックアップメディアに移動する cron スクリプトを持つことをお勧めします。