10bet网址
MySQL 5.6リファレンスマニュアル
下载本手册
PDF(美国Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


MySQL 5.6リファレンスマニュアル/InnoDBストレジエンジン/ InnoDBの起動オプションおよびシステム変数

14.12 InnoDBの起動オプションおよびシステム変数

  • 真正または假であるシステム変数は,サーバー起動時に変数の名前を指定することで有効にすることができ,——跳过プリフィクスを使用することで無効にすることができます。たとえば,InnoDB適応型ハッシュンデックスを有効または無効にするには,コマンド行で——innodb_adaptive_hash_indexまたは——skip-innodb_adaptive_hash_indexを使用するか、オプションファ以及ルでinnodb_adaptive_hash_indexまたはskip-innodb_adaptive_hash_indexを使用します。

  • 数値が指定されるシステム変数は,コマンド行で--var_name价值として指定するか、オプションファ以及ルでvar_name价值として指定できます。

  • 多くのシステム変数は,実行時に変更できます(セクション5.1.5.2 "動的システム変数"を参照してください)。

  • 全球および会话変数スコプ修飾子にいては,ステトメントのドキュメントを参照してください。

  • 特定のオプションでは,InnoDBデタファアウトが制御されます。セクション14.3 " InnoDBの構成"では,これらのオプションを使用する方法にいて説明します。

  • 初期段階では使用しないような一部のオプションは,マシンの処理能力やデタベスのワクロドに基づいて,InnoDBのパフォマンス特性を調整する際に役立ます。

  • オプションおよびシステム変数の指定に関する詳細は,セクション4.2.3 "プログラムオプションの指定"を参照してください。

表14.6 InnoDBオプション/変数のリファレンス

名前 コマンド行 オプションファ邮箱ル システム変数 ステタス変数 変数スコプ 動的
daemon_memcached_enable_binlog はい はい はい グロバル いいえ
daemon_memcached_engine_lib_name はい はい はい グロバル いいえ
daemon_memcached_engine_lib_path はい はい はい グロバル いいえ
daemon_memcached_option はい はい はい グロバル いいえ
daemon_memcached_r_batch_size はい はい はい グロバル いいえ
daemon_memcached_w_batch_size はい はい はい グロバル いいえ
foreign_key_checks はい 両方 はい
have_innodb はい グロバル いいえ
ignore_builtin_innodb はい はい はい グロバル いいえ
innodb はい はい
innodb_adaptive_flushing はい はい はい グロバル はい
innodb_adaptive_flushing_lwm はい はい はい グロバル はい
innodb_adaptive_hash_index はい はい はい グロバル はい
innodb_adaptive_max_sleep_delay はい はい はい グロバル はい
innodb_additional_mem_pool_size はい はい はい グロバル いいえ
innodb_api_bk_commit_interval はい はい はい グロバル はい
innodb_api_disable_rowlock はい はい はい グロバル いいえ
innodb_api_enable_binlog はい はい はい グロバル いいえ
innodb_api_enable_mdl はい はい はい グロバル いいえ
innodb_api_trx_level はい はい はい グロバル はい
innodb_autoextend_increment はい はい はい グロバル はい
innodb_autoinc_lock_mode はい はい はい グロバル いいえ
Innodb_available_undo_logs はい グロバル いいえ
Innodb_buffer_pool_bytes_data はい グロバル いいえ
Innodb_buffer_pool_bytes_dirty はい グロバル いいえ
innodb_buffer_pool_dump_at_shutdown はい はい はい グロバル はい
innodb_buffer_pool_dump_now はい はい はい グロバル はい
Innodb_buffer_pool_dump_status はい グロバル いいえ
innodb_buffer_pool_filename はい はい はい グロバル はい
innodb_buffer_pool_instances はい はい はい グロバル いいえ
innodb_buffer_pool_load_abort はい はい はい グロバル はい
innodb_buffer_pool_load_at_startup はい はい はい グロバル いいえ
innodb_buffer_pool_load_now はい はい はい グロバル はい
Innodb_buffer_pool_load_status はい グロバル いいえ
Innodb_buffer_pool_pages_data はい グロバル いいえ
Innodb_buffer_pool_pages_dirty はい グロバル いいえ
Innodb_buffer_pool_pages_flushed はい グロバル いいえ
Innodb_buffer_pool_pages_free はい グロバル いいえ
Innodb_buffer_pool_pages_latched はい グロバル いいえ
Innodb_buffer_pool_pages_misc はい グロバル いいえ
Innodb_buffer_pool_pages_total はい グロバル いいえ
Innodb_buffer_pool_read_ahead はい グロバル いいえ
Innodb_buffer_pool_read_ahead_evicted はい グロバル いいえ
Innodb_buffer_pool_read_requests はい グロバル いいえ
Innodb_buffer_pool_reads はい グロバル いいえ
通过innodb_buffer_pool_size はい はい はい グロバル いいえ
Innodb_buffer_pool_wait_free はい グロバル いいえ
Innodb_buffer_pool_write_requests はい グロバル いいえ
innodb_change_buffer_max_size はい はい はい グロバル はい
innodb_change_buffering はい はい はい グロバル はい
innodb_checksum_algorithm はい はい はい グロバル はい
innodb_checksums はい はい はい グロバル いいえ
innodb_cmp_per_index_enabled はい はい はい グロバル はい
innodb_commit_concurrency はい はい はい グロバル はい
innodb_compression_failure_threshold_pct はい はい はい グロバル はい
innodb_compression_level はい はい はい グロバル はい
innodb_compression_pad_pct_max はい はい はい グロバル はい
innodb_concurrency_tickets はい はい はい グロバル はい
innodb_data_file_path はい はい はい グロバル いいえ
Innodb_data_fsyncs はい グロバル いいえ
innodb_data_home_dir はい はい はい グロバル いいえ
Innodb_data_pending_fsyncs はい グロバル いいえ
Innodb_data_pending_reads はい グロバル いいえ
Innodb_data_pending_writes はい グロバル いいえ
Innodb_data_read はい グロバル いいえ
Innodb_data_reads はい グロバル いいえ
Innodb_data_writes はい グロバル いいえ
Innodb_data_written はい グロバル いいえ
Innodb_dblwr_pages_written はい グロバル いいえ
Innodb_dblwr_writes はい グロバル いいえ
innodb_disable_sort_file_cache はい はい はい グロバル はい
innodb_doublewrite はい はい はい グロバル いいえ
innodb_fast_shutdown はい はい はい グロバル はい
innodb_file_format はい はい はい グロバル はい
innodb_file_format_check はい はい はい グロバル いいえ
innodb_file_format_max はい はい はい グロバル はい
innodb_file_per_table はい はい はい グロバル はい
innodb_flush_log_at_timeout はい グロバル はい
innodb_flush_log_at_trx_commit はい はい はい グロバル はい
innodb_flush_method はい はい はい グロバル いいえ
innodb_flush_neighbors はい はい はい グロバル はい
innodb_flushing_avg_loops はい はい はい グロバル はい
innodb_force_load_corrupted はい はい はい グロバル いいえ
innodb_force_recovery はい はい はい グロバル いいえ
innodb_ft_aux_table はい グロバル はい
innodb_ft_cache_size はい はい はい グロバル いいえ
innodb_ft_enable_diag_print はい はい はい グロバル はい
innodb_ft_enable_stopword はい はい はい グロバル はい
innodb_ft_max_token_size はい はい はい グロバル いいえ
innodb_ft_min_token_size はい はい はい グロバル いいえ
innodb_ft_num_word_optimize はい はい はい グロバル はい
innodb_ft_result_cache_limit はい はい はい グロバル はい
innodb_ft_server_stopword_table はい はい はい グロバル はい
innodb_ft_sort_pll_degree はい はい はい グロバル いいえ
innodb_ft_total_cache_size はい はい はい グロバル いいえ
innodb_ft_user_stopword_table はい はい はい 両方 はい
Innodb_have_atomic_builtins はい グロバル いいえ
innodb_io_capacity はい はい はい グロバル はい
innodb_io_capacity_max はい はい はい グロバル はい
innodb_large_prefix はい はい はい グロバル はい
innodb_lock_wait_timeout はい はい はい 両方 はい
innodb_locks_unsafe_for_binlog はい はい はい グロバル いいえ
innodb_log_buffer_size はい はい はい グロバル いいえ
innodb_log_compressed_pages はい はい はい グロバル はい
innodb_log_file_size はい はい はい グロバル いいえ
innodb_log_files_in_group はい はい はい グロバル いいえ
innodb_log_group_home_dir はい はい はい グロバル いいえ
Innodb_log_waits はい グロバル いいえ
Innodb_log_write_requests はい グロバル いいえ
Innodb_log_writes はい グロバル いいえ
innodb_lru_scan_depth はい はい はい グロバル はい
innodb_max_dirty_pages_pct はい はい はい グロバル はい
innodb_max_dirty_pages_pct_lwm はい はい はい グロバル はい
innodb_max_purge_lag はい はい はい グロバル はい
innodb_max_purge_lag_delay はい はい はい グロバル はい
innodb_mirrored_log_groups はい はい はい グロバル いいえ
innodb_monitor_disable はい はい はい グロバル はい
innodb_monitor_enable はい はい はい グロバル はい
innodb_monitor_reset はい はい はい グロバル はい
innodb_monitor_reset_all はい はい はい グロバル はい
Innodb_num_open_files はい グロバル いいえ
innodb_old_blocks_pct はい はい はい グロバル はい
innodb_old_blocks_time はい はい はい グロバル はい
innodb_online_alter_log_max_size はい はい はい グロバル はい
innodb_open_files はい はい はい グロバル いいえ
innodb_optimize_fulltext_only はい はい はい グロバル はい
Innodb_os_log_fsyncs はい グロバル いいえ
Innodb_os_log_pending_fsyncs はい グロバル いいえ
Innodb_os_log_pending_writes はい グロバル いいえ
Innodb_os_log_written はい グロバル いいえ
Innodb_page_size はい グロバル いいえ
innodb_page_size はい はい はい グロバル いいえ
Innodb_pages_created はい グロバル いいえ
Innodb_pages_read はい グロバル いいえ
Innodb_pages_written はい グロバル いいえ
innodb_print_all_deadlocks はい はい はい グロバル はい
innodb_purge_batch_size はい はい はい グロバル はい
innodb_purge_threads はい はい はい グロバル いいえ
innodb_random_read_ahead はい はい はい グロバル はい
innodb_read_ahead_threshold はい はい はい グロバル はい
innodb_read_io_threads はい はい はい グロバル いいえ
innodb_read_only はい はい はい グロバル いいえ
innodb_replication_delay はい はい はい グロバル はい
innodb_rollback_on_timeout はい はい はい グロバル いいえ
innodb_rollback_segments はい はい はい グロバル はい
Innodb_row_lock_current_waits はい グロバル いいえ
Innodb_row_lock_time はい グロバル いいえ
Innodb_row_lock_time_avg はい グロバル いいえ
Innodb_row_lock_time_max はい グロバル いいえ
Innodb_row_lock_waits はい グロバル いいえ
Innodb_rows_deleted はい グロバル いいえ
Innodb_rows_inserted はい グロバル いいえ
Innodb_rows_read はい グロバル いいえ
Innodb_rows_updated はい グロバル いいえ
innodb_sort_buffer_size はい はい はい グロバル いいえ
innodb_spin_wait_delay はい はい はい グロバル はい
innodb_stats_auto_recalc はい はい はい グロバル はい
innodb_stats_method はい はい はい グロバル はい
innodb_stats_on_metadata はい はい はい グロバル はい
innodb_stats_persistent はい はい はい グロバル はい
innodb_stats_persistent_sample_pages はい はい はい グロバル はい
innodb_stats_sample_pages はい はい はい グロバル はい
innodb_stats_transient_sample_pages はい はい はい グロバル はい
innodb-status-file はい はい
innodb_status_output はい はい はい グロバル はい
innodb_status_output_locks はい はい はい グロバル はい
innodb_strict_mode はい はい はい 両方 はい
innodb_support_xa はい はい はい 両方 はい
innodb_sync_array_size はい はい はい グロバル いいえ
innodb_sync_spin_loops はい はい はい グロバル はい
innodb_table_locks はい はい はい 両方 はい
innodb_thread_concurrency はい はい はい グロバル はい
innodb_thread_sleep_delay はい はい はい グロバル はい
Innodb_truncated_status_writes はい グロバル いいえ
innodb_undo_directory はい はい はい グロバル いいえ
innodb_undo_logs はい はい はい グロバル はい
innodb_undo_tablespaces はい はい はい グロバル いいえ
innodb_use_native_aio はい はい はい グロバル いいえ
innodb_use_sys_malloc はい はい はい グロバル いいえ
innodb_version はい グロバル いいえ
innodb_write_io_threads はい はい はい グロバル いいえ
timed_mutexes はい はい はい グロバル はい
unique_checks はい 両方 はい

InnoDBコマンドオプション

  • ——ignore-builtin-innodb

    コマンド行形式 ——ignore-builtin-innodb
    非推奨 はい
    システム変数 ignore_builtin_innodb
    スコプ グロバル
    動的 いいえ
    ブル

    MySQL 5.1では,このオプションを使用すると,サバは組み込みInnoDBが存在しない場合と同様に動作し,代わりにInnoDB插件を使用できました。MySQL5.6では、InnoDBがデフォルトのストレジエンジンとなり,InnoDB插件は使用されないため,このオプションは無効です。MySQL5.6.5の時点では、無視されます。

  • ——innodb [=价值

    コマンド行形式 ——innodb(=价值)
    非推奨 5.6.21
    列挙
    デフォルト
    有効な値

    サバがInnoDBサポトでコンパルされた場合に,InnoDBストレジエンジンのロドを制御します。このオプションの形式はトラステトであり,指定可能な値は,またはです。セクション5.1.8.1 "プラグ邮箱邮箱ンの邮箱ンスト邮箱ルおよびアン邮箱ンスト邮箱ル"を参照してください。

    InnoDBを無効にするには,——innodb =了または——skip-innodbを使用します。この場合,デフォルトのストレージエンジンはInnoDBであるため,——default-storage-engineおよび——default-tmp-storage-engineを使用して,永続テブルと临时テブルの両方にいてデフォルトを別のエンジンに設定しないかぎりサは開始しません。

    MySQL 5.6.21の時点では,——innodb =了および——skip-innodbオプションが非推奨となり,使用すると警告が発生します。これらのオプションは,今後の MySQL リリースで削除されます。

  • ——innodb-status-file

    コマンド行形式 ——innodb-status-file
    ブル
    デフォルト

    InnoDBがMySQLデタディレクトリにinnodb_status。pidという名前のファ邮箱ルを作成するかどうかを制御します。有効にすると,InnoDBは定期的に显示引擎innodb状态の出力をこのファ邮箱ルに書き込みます。

    このファ邮箱ルはデフォルトでは作成されません。これを作成するには,——innodb-status-file = 1オプションを付けてmysqldを起動します。このファルは,通常のシャットダウン中に削除されます。

  • ——skip-innodb

    InnoDBストレジエンジンを無効にします。——innodbの説明を参照してください。

InnoDBシステム変数

  • daemon_memcached_enable_binlog

    コマンド行形式 ——daemon-memcached-enable-binlog = #
    導入 5.6.6
    システム変数 daemon_memcached_enable_binlog
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • daemon_memcached_engine_lib_name

    コマンド行形式 ——daemon-memcached-engine-lib-name =图书馆
    導入 5.6.6
    システム変数 daemon_memcached_engine_lib_name
    スコプ グロバル
    動的 いいえ
    ファ邮箱ル名
    デフォルト innodb_engine.so

    InnoDBmemcachedプラグ邮箱ンを実装する共有ラ邮箱ブラリを指定します。

    このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • daemon_memcached_engine_lib_path

    コマンド行形式 ——daemon-memcached-engine-lib-path =目录
    導入 5.6.6
    システム変数 daemon_memcached_engine_lib_path
    スコプ グロバル
    動的 いいえ
    ディレクトリ名
    デフォルト

    InnoDBmemcachedプラグ邮箱ンを実装する共有ラ邮箱ブラリを含むディレクトリのパスです。デフォルト値は、米ySQL プラグインディレクトリを表す NULL です。MySQL プラグインディレクトリの外部に配置されている別のストレージエンジンのmemcachedプラグンを指定していなければ,このパラメタを変更する必要はないはずです。

    このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • daemon_memcached_option

    コマンド行形式 ——daemon-memcached-option =选项
    導入 5.6.6
    システム変数 daemon_memcached_option
    スコプ グロバル
    動的 いいえ
    文字列
    デフォルト

    起動時に,空白文字で区切られたmemcachedオプションをベスとなるmemcachedメモリオブジェクトのキャッシュデモンに渡すために使用されます。たとえば,memcachedが待機するポートを変更したり,同時接続の最大数を削減したり,鍵と値のペアの最大メモリーサイズを変更したり,エラーログに関するメッセージのデバッグを有効にしたりします。

    このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。memcachedのオプションについては、memcached のマニュアルページを参照してください。

  • daemon_memcached_r_batch_size

    コマンド行形式 ——daemon-memcached-r-batch-size = #
    導入 5.6.6
    システム変数 daemon_memcached_r_batch_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 1

    提交を実行して新しいトランザクションを開始する前に,実行されるmemcached読み取り操作(得到の数を指定します。daemon_memcached_w_batch_sizeの対の片方です。

    この値は,sqlステトメントを使用してテブルに行われた変更がすぐにmemcached操作に表示されるように,デフォルトで1に設定されています。ベスとなるテブルがmemcachedインタフェースからのみアクセスされているシステム上で,頻繁なコミットによるオーバーヘッドを削減するために,これを大きくすることがあります。大きすぎる値を設定すると,撤销データまたは重做データの量によっては,長時間実行されるトランザクションの場合と同様に,一部のストレージでオーバーヘッドが発生する可能性があります。

    このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • daemon_memcached_w_batch_size

    コマンド行形式 ——daemon-memcached-w-batch-size = #
    導入 5.6.6
    システム変数 daemon_memcached_w_batch_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 1

    提交を実行して新しいトランザクションを開始する前に,実行されるmemcached書き込み操作(添加增加など)の数を指定します。daemon_memcached_r_batch_sizeの対の一方です。

    この値は,格納されるデータはすべて停止に備えて保持しておくことが重要であり,すぐにコミットされるべきであるという仮定に基づいて,デフォルトで1に設定されています。クリティカルでないデータを格納するときは,頻繁なコミットによるオーバーヘッドを削減するために,この値を大きくすることがあります。ただし,クラッシュ時に,コミットされていない最後のN-1回の書き込み操作が失われる可能性があります。

    このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • ignore_builtin_innodb

    コマンド行形式 ——ignore-builtin-innodb
    非推奨 はい
    システム変数 ignore_builtin_innodb
    スコプ グロバル
    動的 いいえ
    ブル

    このセクションの前半のInnoDBコマンドオプションの下にある——ignore-builtin-innodbの説明を参照してください。

  • innodb_adaptive_flushing

    コマンド行形式 ——innodb-adaptive-flushing = #
    システム変数 innodb_adaptive_flushing
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    ワクロドに基づいて,InnoDBバッファプル内のダティペジをフラッシュする比率を動的に調整するかどうかを指定します。フラッシュ比率を動的に調整する目的は、I/O アクティビティーのバーストを回避することです。この設定はデフォルトで有効になっています。詳細は、セクション14.13.1.2 " InnoDBバッファプルのフラッシュの頻度の構成"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_adaptive_flushing_lwm

    コマンド行形式 ——innodb-adaptive-flushing-lwm = #
    導入 5.6.6
    システム変数 innodb_adaptive_flushing_lwm
    スコプ グロバル
    動的 はい
    数値
    デフォルト 10
    最小値 0
    最大値 70

    適応型フラッシュが有効になっている重做ログ容量の割合を表す低位境界値です。

  • innodb_adaptive_hash_index

    コマンド行形式 ——innodb-adaptive-hash-index = #
    システム変数 innodb_adaptive_hash_index
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    InnoDB適応型ハッシュ邮箱ンデックスが有効と無効のどらになっているのかを示します。ワクロドに応じて,適応型ハッシュ邮箱ンデックスの作成を動的に有効または無効にして,クエリのパフォマンスを改善することが望ましい場合があります。適応型ハッシュ邮箱ンデックスがすべてのワクロドに役立つとは限らないため、現実的なワークロードを使用して、有効と無効の両方でベンチマークを実施してください。詳細は、セクション14.2.13.6 "適応型ハッシュ"を参照してください。

    この変数はデフォルトで有効になっています。集全球ステトメントを使用すると,サを再起動せずに,このパラメタを変更できます。この設定を変更するには,超级権限が必要です。また,サバの起動時に——skip-innodb_adaptive_hash_indexを使用すると,無効にすることができます。

    適応型ハッシュンデックスを無効にすると,すぐにハッシュテブルが空になります。ハッシュテーブルが空になっても通常の操作は続行でき,ハッシュテーブルを使用していた実行中のクエリーは,代わりにインデックスのBツリーに直接アクセスします。適応型ハッシュンデックスを再度有効にすると,通常の操作時にハッシュテブルが再度移入されます。

  • innodb_adaptive_max_sleep_delay

    コマンド行形式 ——innodb-adaptive-max-sleep-delay = #
    導入 5.6.3
    システム変数 innodb_adaptive_max_sleep_delay
    スコプ グロバル
    動的 はい
    数値
    デフォルト 150000
    最小値 0
    最大値 1000000

    現在のワクロドに応じて,InnoDBによって自動的にinnodb_thread_sleep_delayの値が上下に調整されるようにします。ゼロ以外の値に指定すると,最大でinnodb_adaptive_max_sleep_delayオプションで指定された最大値まで,自動的にinnodb_thread_sleep_delay値の動的な調整が行われます。値はマイクロ秒数を表しています。このオプションは、InnoDBスレッド数が16個を上回る高負荷のシステムで役立。(実際には、同時接続数が数百または数千になる MySQL システムの大部分の変数です。)

    詳細は,セクション14.13.5 " InnoDBのスレッド並列性の構成"を参照してください。

  • innodb_additional_mem_pool_size

    コマンド行形式 ——innodb-additional-mem-pool-size = #
    非推奨 5.6.3
    システム変数 innodb_additional_mem_pool_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 8388608
    最小値 2097152
    最大値 4294967295

    デタディクショナリ情報およびその他の内部デタ構造を格納する際にInnoDBで使用されるメモリ。アプリケションに存在するテブル数が多いほど,ここで割り当てるメモリ量も多くなります。このプル内のメモリがInnoDBによって使い果たされると,オペレーティングシステムからのメモリーの割り当てが開始され,MySQLエラーログに警告メッセージが書き込まれます。デフォルトの値は8mバ邮箱トです。

    この変数は,InnoDBの内部メモリアロケタに関連します。これは,innodb_use_sys_mallocが有効になっている場合は使用されません。MySQL 5.6.3の時点では,innodb_additional_mem_pool_sizeは非推奨となり,今後のMySQLリリスで削除される予定です。

  • innodb_api_bk_commit_interval

    コマンド行形式 ——innodb-api-bk-commit-interval = #
    導入 5.6.7
    システム変数 innodb_api_bk_commit_interval
    スコプ グロバル
    動的 はい
    数値
    デフォルト 5
    最小値 1
    最大値 1073741824

    InnoDBmemcachedereplicationンタフェereplicationドル状態の接続が自動コミットされる頻度(秒単位)です。このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • innodb_api_disable_rowlock

    コマンド行形式 ——innodb-api-disable-rowlock = #
    導入 5.6.6
    システム変数 innodb_api_disable_rowlock
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    この変数を使用すると,InnoDBmemcachedでDML操作が実行されるときに,行ロックが無効になります。デフォルトでは,innodb_api_disable_rowlockに設定されており,memcachedがgetおよびset操作の行ロックをリクエストします。innodb_api_disable_rowlockに設定すると,memcachedは行ロックの代わりに,テブルロックをリクエストします。

    innodb_api_disable_rowlockオプションは動的ではありません。これはmysqldコマンド行で指定するか,またはMySQL構成ファMySQLルに入力する必要があります。構成は,MySQLサ。

  • innodb_api_enable_binlog

    コマンド行形式 ——innodb-api-enable-binlog = #
    導入 5.6.6
    システム変数 innodb_api_enable_binlog
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    MySQLバ邮箱ナリログとともに,InnoDBmemcachedプラグ邮箱ンを使用できます。このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • innodb_api_enable_mdl

    コマンド行形式 ——innodb-api-enable-mdl = #
    導入 5.6.6
    システム変数 innodb_api_enable_mdl
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    InnoDBmemcachedプラグ邮箱ンで使用されるテ邮箱ブルをロックします。これにより,sql数据库ンタフェ,sql数据库スからDDLによって削除または変更できなくなります。このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。

  • innodb_api_trx_level

    コマンド行形式 ——innodb-api-trx-level = #
    導入 5.6.6
    システム変数 innodb_api_trx_level
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0

    memcachedeconンタフェスで処理されたクエリ上のトランザクション分離レベルを制御できます。このオプションの使用法の詳細は,セクション14.18 " InnoDBとmemcachedの統合"を参照してください。よく聞く名前に対応する定数は,次のとおりです。

    • 0 =读未提交

    • 1 =读过承诺

    • 2 =可重复读取

    • 3 =可序列化的

  • innodb_autoextend_increment

    コマンド行形式 ——innodb-autoextend-increment = #
    システム変数 innodb_autoextend_increment
    スコプ グロバル
    動的 はい
    数値
    デフォルト(≥5.6.6) 64
    デフォルト(≤5.6.5) 8
    最小値 1
    最大値 1000

    InnoDBの自動拡張システムテブルスペスファereplicationルがいっぱいになったときに,そのサereplicationズを拡張する際の増分サereplicationズ(mバereplicationト単位)です。デフォルト値は,MySQL 5.6.6の時点では64,それよりも前では8です。この変数によって,innodb_file_per_table = 1を使用した場合に作成されるテブルごとのテブルスペスファ。innodb_autoextend_incrementの値には関係なく、これらのファ以及ルは自動拡張されます。拡張は少量で始まり,その後の拡張は増分が4mbで発生します。

  • innodb_autoinc_lock_mode

    コマンド行形式 ——innodb-autoinc-lock-mode = #
    システム変数 innodb_autoinc_lock_mode
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 1
    有効な値

    0

    1

    2

    自動邮箱ンクリメント値を生成する際に使用されるロックモドです。許可される値は,従来を表す0,連続を表す1,またはeconンタリブを表す2です。セクション14.6.5 " InnoDBでのAUTO_INCREMENT処理"では,これらのモ。

    この変数のデフォルトは,1 (連続ロックモド)です。

  • innodb_buffer_pool_dump_at_shutdown

    コマンド行形式 ——innodb-buffer-pool-dump-at-shutdown = #
    導入 5.6.3
    システム変数 innodb_buffer_pool_dump_at_shutdown
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    次回再起動時のウォムアッププロセスの時間を短縮するために,MySQLサバのシャットダウン時に,InnoDBのバッファプルにキャッシュされるペジを記録するかどうかを指定します。一般に,innodb_buffer_pool_load_at_startupと組み合わせて使用されます。

    関連情報にいては,セクション14.13.1.5”再起動を高速化するためのInnoDBバッファープールのプリロード”を参照してください。

  • innodb_buffer_pool_dump_now

    コマンド行形式 ——innodb-buffer-pool-dump-now = #
    導入 5.6.3
    システム変数 innodb_buffer_pool_dump_now
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    InnoDBのバッファプルにキャッシュされるペジをすぐに記録します。一般に,innodb_buffer_pool_load_nowと組み合わせて使用されます。

    関連情報にいては,セクション14.13.1.5”再起動を高速化するためのInnoDBバッファープールのプリロード”を参照してください。

  • innodb_buffer_pool_filename

    コマンド行形式 ——innodb-buffer-pool-filename =文件
    導入 5.6.3
    システム変数 innodb_buffer_pool_filename
    スコプ グロバル
    動的 はい
    ファ邮箱ル名
    デフォルト ib_buffer_pool

    innodb_buffer_pool_dump_at_shutdownまたはinnodb_buffer_pool_dump_nowで生成されるテーブルスペースIDおよびページIDのリストを保持するファイルの名前を指定します。テブルスペスidおよびペジidは,空间,page_idという形式で保存されます。デフォルトでは,このファイルはInnoDBデタディレクトリに配置されます。

    関連情報にいては,セクション14.13.1.5”再起動を高速化するためのInnoDBバッファープールのプリロード”を参照してください。

  • innodb_buffer_pool_instances

    コマンド行形式 ——innodb-buffer-pool-instances = #
    システム変数 innodb_buffer_pool_instances
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト(その他,≥5.6.6) 8
    デフォルト(Windows, 32ビットプラットフォ,ム,≥5.6.6) (autosized)
    デフォルト(≤5.6.5) 1
    最小値 1
    最大値 64

    InnoDBバッファプルが分割される領域の数です。バッファプルが数 G バイトの範囲にあるシステムでは、バッファープールを個別のインスタンスに分割すると、キャッシュされたページに対して異なるスレッドが読み取りおよび書き込みを行うときの競合が減るため、並列性が向上する場合があります。バッファープールに格納される各ページまたはバッファープールから読み取られる各ページは、ハッシュ関数を使用して、バッファープールインスタンスのいずれかにランダムに割り当てられます。各バッファープールは、独自の空きリスト、フラッシュリストLRU,およびバッファプルに接続されたその他のすべてのデタ構造を管理し,独自のバッファプル相互排他ロックによって保護されます。

    このオプションは,通过innodb_buffer_pool_sizeを1gバereplication ereplicationト以上のサereplication ereplicationズに設定した場合にのみ有効になります。指定した合計サopenstackズは,すべてのバッファopenstackプopenstackル間で分割されます。最高の効率を得るには,innodb_buffer_pool_instances通过innodb_buffer_pool_sizeの組み合わせを,各バッファ。

    MySQL 5.6.6より前では,デフォルトは1です。MySQL 5.6.6の時点では,デフォルトは8です。ただし,32ビットの Windows システムでは、デフォルトは通过innodb_buffer_pool_sizeの値に依存します。

    • 通过innodb_buffer_pool_sizeが1.3gバ翻版トよりも大きい場合は,innodb_buffer_pool_instancesのデフォルトが通过innodb_buffer_pool_size/ 128mバトになり,チャンクごとに個別のメモリます。32ビット版 Windows で単一のバッファープールで必要となる連続したアドレス空間を割り当てることができないという重大なリスクが存在する境界として、1.3G バイトが選択されました。

    • それ以外の場合,デフォルトは1です。

  • innodb_buffer_pool_load_abort

    コマンド行形式 ——innodb-buffer-pool-load-abort = #
    導入 5.6.3
    システム変数 innodb_buffer_pool_load_abort
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    innodb_buffer_pool_load_at_startupまたはinnodb_buffer_pool_load_nowでトリガされるInnoDBのバッファプルの内容をリストアするプロセスを中断します。

    関連情報にいては,セクション14.13.1.5”再起動を高速化するためのInnoDBバッファープールのプリロード”を参照してください。

  • innodb_buffer_pool_load_at_startup

    コマンド行形式 ——innodb-buffer-pool-load-at-startup = #
    導入 5.6.3
    システム変数 innodb_buffer_pool_load_at_startup
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    MySQLサーバーの起動時に,以前に保持されたときと同じページをロードすることで,InnoDBのバッファプルが自動的にウォムアップされるように指定します。一般に,innodb_buffer_pool_dump_at_shutdownと組み合わせて使用されます。

    関連情報にいては,セクション14.13.1.5”再起動を高速化するためのInnoDBバッファープールのプリロード”を参照してください。

  • innodb_buffer_pool_load_now

    コマンド行形式 ——innodb-buffer-pool-load-now = #
    導入 5.6.3
    システム変数 innodb_buffer_pool_load_now
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    サバの再起動を待機せずにデ,InnoDBのバッファプルをすぐにウォムアップします。ベンチマーク時にキャッシュメモリーを既知の状態に戻したり,レポートやメンテナンスのためにクエリーを実行したあとに,MySQLサーバーの通常のワークロードを再開する準備をしたりする際に役立ちます。

    関連情報にいては,セクション14.13.1.5”再起動を高速化するためのInnoDBバッファープールのプリロード”を参照してください。

  • 通过innodb_buffer_pool_size

    コマンド行形式 ——innodb-buffer-pool-size = #
    システム変数 通过innodb_buffer_pool_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 134217728
    最小値 5242880
    最大値(64ビットプラットフォム) 2 * * 64 - 1
    最大値(32ビットプラットフォム) 2 * * 32-1

    InnoDBがテブルおよびバッファプルのサ电子书阅读器ズ(バ电子书阅读器ト単位)です。デフォルト値は128米バイトです。最大値は、CPU アーキテクチャーによって異なります。最大値は、32 ビットシステムでは 4294967295 (2321), 64ビットシステムでは18446744073709551615 (2)64-1)です。32ビットシステムでは、CPU アーキテクチャーおよびオペレーティングシステムに、指定された最大値よりも小さい実用的な最大サイズが課されている可能性があります。バッファープールのサイズが 1G バイトよりも大きい場合に、innodb_buffer_pool_instancesを1よりも大きい値に設定すると,高負荷のサで拡張性を改善できます。

    この値を大きく設定するほど,テーブル内の同じデータに複数回アクセスするために必要なディスクI / Oが少なくなります。専用のデータベースサーバーでは,これを最大でマシンの物理メモリーサイズの80%まで設定することがあります。次のようなその他の問題が発生した場合は,この値を小さくする準備をしてください。

    • 物理メモリが競合すると,オペレジングが発生する可能性があります。

    • InnoDBでは,割り当てられた領域の合計が指定されたサイズよりも約10%大きくなるように,バッファーおよび制御構造用に追加のメモリーが予約されています。

    • アドレス空間は隣接しているはすです。これにより,Windows システムで特定のアドレスにロードする DLL に関する問題が発生する可能性があります。

    • バッファプルを初期化する時間は,ほぼそのサズに比例しています。大規模なンストルでは,この初期化時間が重要となる場合もあります。たとえば,最新の Linux x86_64 サーバーで 10G バイトのバッファープールを初期化するには、約 6 秒かかります。セクション8.9.1 " InnoDBバッファプル"を参照してください。

  • innodb_change_buffer_max_size

    コマンド行形式 ——innodb-change-buffer-max-size = #
    導入 5.6.2
    システム変数 innodb_change_buffer_max_size
    スコプ グロバル
    動的 はい
    数値
    デフォルト 25
    最小値 0
    最大値 50

    バッファプルの合計サereplicationズの割合として示した,InnoDBの変更バッファの最大サ邮箱ズです。この値はMySQLサーバーで頻繁に挿入,更新,および削除アクティビティーが発生する場合は大きくし,MySQLサーバーでレポート用に使用されるデータが変更されない場合は小さくするとよいでしょう。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_change_buffering

    コマンド行形式 ——innodb-change-buffering = #
    システム変数 innodb_change_buffering
    スコプ グロバル
    動的 はい
    列挙
    デフォルト 所有
    有効な値

    插入

    删除

    清洗

    变化

    所有

    没有一个

    InnoDBバッファリングの変更(I / O操作を連続して実行できるように,セカンダリインデックスへの書き込み操作を遅延させる最適化)を実行するかどうかを指定します。許可される値は插入(挿入操作のバッファリング),删除(削除操作のバッファリング。厳密に言えば,パージ操作時にあとで削除するインデックスレコードにマークを付ける書き込み),变化(挿入操作および削除マク操作のバッファリング),清洗パジ操作のバッファリング。削除されたインデックスエントリのガベージコレクションが最終的に実行される書き込み),所有(挿入,削除マ,ク,パ,ジ操作のバッファリング),および没有一个(操作のバッファリングなし)です。デフォルトは所有です。詳細にいては,セクション14.13.4 " InnoDB変更バッファリングの構成"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_checksum_algorithm

    コマンド行形式 ——innodb-checksum-algorithm = #
    導入 5.6.3
    システム変数 innodb_checksum_algorithm
    スコプ グロバル
    動的 はい
    列挙
    デフォルト(≥5.6.7) innodb
    デフォルト(5.6.6) crc32
    デフォルト(≤5.6.5) innodb
    有効な値

    innodb

    crc32

    没有一个

    strict_innodb

    strict_crc32

    strict_none

    InnoDBの各テブルスペスの各ディスクブロックに格納されているチェックサムを生成および検証する方法を指定します。

    MySQL 5.6.3の時点でinnodb_checksumsオプションは,innodb_checksum_algorithmで置き換えられました。次の値は,互換性を保ために提供されています。

    • innodb_checksum_algorithm = innodbinnodb_checksums =对と同じです。

    • innodb_checksum_algorithm =没有innodb_checksums =了と同じです。

    競合を回避するには,構成ファereplicationルおよびMySQL起動スクリプトからinnodb_checksumsへの参照を削除します。

    innodbは,すべてのMySQLバジョンとの下位互換性があります。値crc32では,より高速に,変更されたすべてのブロックのチェックサムを計算し,ディスク読み取りごとにチェックサムをチェックするアルゴリズムが使用されます。値没有一个では,ブロックデータに基づいて値が計算されるのではなく,チェックサムフィールドに定数値が書き込まれます。テブルスペス内のブロックは、古い値、新しい値、およびチェックサムなしの値を混在させて使用でき、データが更新されるにつれ徐々に更新されます。テーブルスペース内のブロックがcrc32アルゴリズムを使用するように変更されたあとは,関連付けられたテーブルを以前のバージョンのMySQLで読み取ることはできません。

    strict_ *形式の機能は,innodbcrc32,および没有一个と同じです。ただし,InnoDBは,同じテブルスペス内でチェックサム値の混在が発生した場合に停止します。これらのオプションを完全に新しいインスタンスで使用するだけで、はじめてでもすべてのテーブルスペースを設定できます。strict_ *設定では,ディスクの読み取り時に新しいチェックサム値と古いチェックサム値の両方を受け入れるために,その両方を計算する必要がないため,多少高速になります。

    次の表には,没有一个innodbcrc32オプション値,およびそれぞれに対応するstrict_オプション値間の相違点を示します。没有一个innodb,およびcrc32では,特定のタイプのチェックサム値が各データブロックに書き込まれますが,互換性を保つために,読み取り操作中にブロックを検証する際に,その他のチェックサム値のいずれかが受け入れられます。strict_形式の各パラメタでは,1種類のチェックサムのみが認識されます。これにより,検証が高速になりますが,eンスタンス内のすべてのInnoDBデタファinnodb_checksum_algorithm値で作成される必要があります。

    表14.7 innodb_checksum_algorithmで許可される設定.使用实例

    生成されるチェックサム(書き込み時) 許可されるチェックサム(読み取り時)
    没有一个 定数。 没有一个innodb,またはcrc32で生成されるチェックサムのいずれか。
    innodb ソフトウェアでInnoDBの元のアルゴリズムを使用して計算されたチェックサム。 没有一个innodb,またはcrc32で生成されるチェックサムのいずれか。
    crc32 crc32アルゴリズムを使用して計算されたチェックサム(ハードウェアの支援を得て実行される可能性もあります)。 没有一个innodb,またはcrc32で生成されるチェックサムのいずれか。
    strict_none 定数 没有一个で生成されるチェックサムのみ。
    strict_innodb ソフトウェアでInnoDBの元のアルゴリズムを使用して計算されたチェックサム。 innodbで生成されるチェックサムのみ。
    strict_crc32 crc32アルゴリズムを使用して計算されたチェックサム(ハードウェアの支援を得て実行される可能性もあります)。 crc32で生成されるチェックサムのみ。

    innodb_checksum_algorithmのデフォルト値はMySQL 5.6.6でinnodbからcrc32に変更されましたが,以前のMySQLバInnoDBデタファルの互換性向上のため,およびMySQL企业备份で使用するために5.6.7でinnodbに戻されました。検出された制限には,次のものが含まれます。

    • Crc32チェックサムを含む.ibdファイルは,5.6.3より前のMySQLバージョンへのダウングレード中に問題が発生する可能性があります。MySQL5.6.3以降では、ディスクからブロックを読み取るとき、そのブロックの新しいチェックサム値と古いチェックサム値のどちらも正しいとして認識します。それにより、アルゴリズムの設定には関係なく、アップグレードおよびダウングレード中にそのデータブロックの互換性を保証します。新しいチェックサム値で書き込まれたデータが 5.6.3 より前のレベルの MySQL によって処理された場合は、破損しているとしてレポートされる可能性があります。

    • 3.8.0までのバジョンのMySQL企业备份は,crc32チェックサムを使用するテブルスペスのバックアップをサポトしていません。MySQL企业备份は,CRC32チェックサムのサポートを3.8.1で(いくつかの制限付きで)追加しています。詳細は,MySQL企业备份3.8.1の変更履歴を参照してください。

    crc32チェックサムアルゴリズムに関する追加情報にいては,セクション14.13.15”チェックサムの高速化のためのCRC32チェックサムアルゴリズムの使用”を参照してください。

  • innodb_checksums

    コマンド行形式 ——innodb-checksums
    非推奨 5.6.3
    システム変数 innodb_checksums
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    InnoDBでは,ディスクから読み取られるすべてのテブルスペスペジ上でチェックサム検証を使用することで,ハードウェアの障害やデータファイルの破損に対する追加のフォールトトレランスを実現できます。この検証はデフォルトで有効になっています。特殊な状況(ベンチマクの実行時など)では,このような追加の安全機能は——skip-innodb-checksumsを使用して無効にすることができます。innodb_checksum_algorithmを使用すると,チェックサムを計算する方法を指定できます。

    MySQL 5.6.3以降では,このオプションは非推奨となり,innodb_checksum_algorithmで置き換えられました。innodb_checksum_algorithm = innodbinnodb_checksums =对(デフォルト)と同じです。innodb_checksum_algorithm =没有innodb_checksums =了と同じです。innodb_checksum_algorithmとの競合を回避するために、構成ファ以及ルおよび起動スクリプトからすべてのinnodb_checksumsオプションを削除してください。innodb_checksums =了によって自動的にinnodb_checksum_algorithm =没有が設定され,innodb_checksums =对は無視され,innodb_checksum_algorithmのその他の設定でオバラドされます。

  • innodb_cmp_per_index_enabled

    コマンド行形式 ——innodb-cmp-per-index-enabled = #
    導入 5.6.7
    システム変数 innodb_cmp_per_index_enabled
    スコプ グロバル
    動的 はい
    ブル
    デフォルト
    有効な値

    INFORMATION_SCHEMA。INNODB_CMP_PER_INDEXテブルで。これらの統計を収集すると負荷が高くなるため、このオプションは、InnoDB圧縮済みテーブルに関連するパフォーマンスチューニング時に開発,テスト,またはスレーブのインスタンス上でのみ有効にしてください。

  • innodb_commit_concurrency

    コマンド行形式 ——innodb-commit-concurrency = #
    システム変数 innodb_commit_concurrency
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0
    最小値 0
    最大値 1000

    同時にコミットできるスレッドの数です。値を0(デフォルト)にすると,任意の数のトランザクションを同時にコミットすることが許可されます。

    innodb_commit_concurrencyの値は,実行時にゼロからゼロ以外(またはその逆)に変更できません。ゼロ以外の値から別のゼロ以外の値に変更することはできます。

  • innodb_compression_failure_threshold_pct

    コマンド行形式 ——innodb-compression-failure-threshold-pct = #
    導入 5.6.7
    システム変数 innodb_compression_failure_threshold_pct
    スコプ グロバル
    動的 はい
    数値
    デフォルト 5
    最小値 0
    最大値 One hundred.

    高負荷での圧縮の失敗を回避するために,圧縮されたペジ内のパディングの追加がMySQLで開始されるカットオフポントを設定します。値をゼロにすると、圧縮の効率性をモニターするメカニズムが無効になり、パディングの量が動的に調整されます。

  • innodb_compression_level

    コマンド行形式 ——innodb-compression-level = #
    導入 5.6.7
    システム変数 innodb_compression_level
    スコプ グロバル
    動的 はい
    数値
    デフォルト 6
    最小値 0
    最大値 9

    InnoDB圧縮されたテブルおよびンデックスで使用されるzlib圧縮のレベルを指定します。

  • innodb_compression_pad_pct_max

    コマンド行形式 ——innodb-compression-pad-pct-max = #
    導入 5.6.7
    システム変数 innodb_compression_pad_pct_max
    スコプ グロバル
    動的 はい
    数値
    デフォルト 50
    最小値 0
    最大値 75

    圧縮された各ペジ内の空き領域として予約できる最大の割合を指定します。これにより,圧縮されたテーブルまたはインデックスが更新され,データが再度圧縮される可能性があるときに,ページ内のデータおよび変更ログを再編成する余地が得られます。innodb_compression_failure_threshold_pctがゼロ以外の値に設定され,圧縮エラの比率がカットオフポ邮箱ントを超えたときにのみ適用されます。

  • innodb_concurrency_tickets

    コマンド行形式 ——innodb-concurrency-tickets = #
    システム変数 innodb_concurrency_tickets
    スコプ グロバル
    動的 はい
    数値
    デフォルト(≥5.6.6) 5000
    デフォルト(≤5.6.5) 500
    最小値 1
    最大値 4294967295

    同時にInnoDBに入ることができるスレッドの数を決定します。スレッドがInnoDBに入ろうとしたときに,すでにスレッド数が並列実行の制限に達している場合は,そのスレッドがキューに配置されます。スレッドがInnoDBに入ることが許可されている場合は,innodb_concurrency_ticketsの値に等しい数の空きチケットが付与され,スレッドはそのチケットを使い果たすまで自由にInnoDBに出入りすることができます。それ以降は,スレッドが次にInnoDBに入ろうとしたときに,再度並列実行チェックの対象となります(キューに入る対象となる可能性もあります)。MySQL 5.6.6の時点では5000,それよりも前では500です。

    innodb_concurrency_tickets値を小さくすると,1、2行しか処理する必要のない小規模なトランザクションと,多数の行を処理する大規模なトランザクションが競合する可能性が高くなります。innodb_concurrency_tickets値を小さくする欠点は,大規模なトランザクションが完了するまでに何回もキュー間をループする必要があるため,タスクを完了するために必要な時間が長くなる点です。

    innodb_concurrency_tickets値を大きくすると,大規模なトランザクションで(innodb_thread_concurrencyで制御される)キュの終了時の位置を待機する時間が短くなり,行を取得する時間が長くなります。また,大規模なトランザクションでは、タスクを完了するために必要なキューとの間の移動も少なくなります。innodb_concurrency_tickets値を大きくする欠点は,同時に実行する大規模なトランザクションの数が非常に多くなることで,小規模なトランザクションが実行されるまでの待機時間が長くなるため,枯渇する可能性がある点です。

    innodb_thread_concurrency値をゼロ以外にすると,大規模なトランザクションと小規模なトランザクション間の適切なバランスを見つけるために,innodb_concurrency_tickets値を上下に調整する必要がある場合があります。显示引擎innodb状态レポートには,キューを通過する現時点で実行中のトランザクション用に残されているチケットの数が表示されます。このデタは,INFORMATION_SCHEMA。INNODB_TRXテブルのTRX_CONCURRENCY_TICKETSカラムから取得することもできます。

    詳細は,セクション14.13.5 " InnoDBのスレッド並列性の構成"を参照してください。

  • innodb_data_file_path

    コマンド行形式 ——innodb-data-file-path =名字
    システム変数 innodb_data_file_path
    スコプ グロバル
    動的 いいえ
    文字列
    デフォルト(≥5.6.7) ibdata1:12M: autoextend
    デフォルト(≤5.6.6) ibdata1:10M: autoextend

    InnoDBの各デタファへのパスとそれらのサ邮箱ズです。各デタファルへの完全ディレクトリパスは,ここに指定された各パスにinnodb_data_home_dirを結合することで形成されます。サ邮箱ズ値にK,またはGを追加することで,ファイルサイズがKバイト,Mバイト,またはGバイト(1024米バイト)で指定されます。データファイルのサイズをキロバイト(Kバイト)で指定する場合は,1024の倍数で指定してください。それ以外の場合は,kバ电子书阅读器ト値はもっとも近いメガバト(mバ电子书阅读器ト)の境界で丸められます。ファereplicationルサereplicationズの合計は,わずかに10m ereplicationトを上回る大きさにする必要があります。innodb_data_file_pathを指定しない場合は,デフォルトの動作で,ibdata1という名前の単一の自動拡張デタファ12mバ。各ファopenstackルのサopenstackズ制限は,オペレopenstackティングシステムによって決定されます。大きいファ邮箱ルをサポートするオペレーティングシステムでは、4G バイトよりも大きいファイルサイズを設定できます。デタファティションを使用することもできます。InnoDBテブルスペスファルの構成にいての詳細は,セクション14.3 " InnoDBの構成"を参照してください。

  • innodb_data_home_dir

    コマンド行形式 ——innodb-data-home-dir =路径
    システム変数 innodb_data_home_dir
    スコプ グロバル
    動的 いいえ
    ディレクトリ名

    システムテブルスペス内のすべてのInnoDBデタファのディレクトリパスに共通する部分です。この設定によって,innodb_file_per_tableを有効にしたときのfile-per-tableテブルスペスの場所は影響を受けません。デフォルト値は,MySQLの数据ディレクトリです。値を空の文字列として指定した場合は、innodb_data_file_path内で完全なファ邮箱ルパスを使用できます。

  • innodb_disable_sort_file_cache

    コマンド行形式 ——innodb-disable-sort-file-cache = #
    導入 5.6.4
    システム変数 innodb_disable_sort_file_cache
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    この変数を有効にすると,マージソート一時ファイル用のオペレーティングシステムファイルシステムのキャッシュが無効になります。その結果、このようなファ以及ルがO_DIRECTの同等のものとともに開きます。この変数はMySQL 5.6.4で追加されました。

  • innodb_doublewrite

    コマンド行形式 ——innodb-doublewrite
    システム変数 innodb_doublewrite
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    この変数を有効にすると(デフォルト),InnoDBにすべてのデタが2回(まず二重書き込みバッファ,次に実際のデタファに)格納されます。デタの整合性や失敗の可能性の懸念より,ベンチマ,——skip-innodb_doublewriteを使用すれば,この変数を無効にすることができます。

  • innodb_fast_shutdown

    コマンド行形式 ——innodb-fast-shutdown (= #)
    システム変数 innodb_fast_shutdown
    スコプ グロバル
    動的 はい
    数値
    デフォルト 1
    有効な値

    0

    1

    2

    InnoDBシャットダウンモドです。この値を0にすると,InnoDB低速シャットダウン,完全なパジ,および挿入バッファのマジを実行してから,シャットダウンします。この値を1(デフォルト)にすると,InnoDBはシャットダウン時に,これらの操作をスキップします。このプロセスは,高速シャットダウンと呼ばれます。この値を2にすると,InnoDBはMySQLがクラッシュした場合と同様に,そのログをフラッシュし,コールドシャットダウンを実行します。コミットされていないトランザクションは失われませんが,クラッシュリカバリ操作によって次回の起動時間が長くなります。

    低速シャットダウンには数分間かかる可能性があり,大量のデータがバッファーに存在する極端なケースでは,数時間かかる可能性もあります。MySQLのメジャーリリース間でアップグレードまたはダウングレードを行う前には、アップグレードプロセスによってファイル形式が更新される場合に備えて、すべてのデータファイルが完全に準備されるように、低速シャットダウン技術を使用してください。

    データが破損するリスクがある場合に,完全な最速のシャットダウンを行うには,緊急事態またはトラブルシューティングの状況でinnodb_fast_shutdown = 2を使用してください。

  • innodb_file_format

    コマンド行形式 ——innodb-file-format = #
    システム変数 innodb_file_format
    スコプ グロバル
    動的 はい
    文字列
    デフォルト 羚羊
    有効な値

    羚羊

    梭鱼

    新しいInnoDBテブルで使用されるファ邮箱ル形式です。現在は,羚羊および梭鱼がサポトされています。これは,独自のテブルスペスを持テブルにのみ適用されるため,これを有効にするには,innodb_file_per_tableが有効になっている必要があります。テブルの圧縮などの特定のInnoDB機能を使用するには,梭鱼ファ邮箱ル形式が必要です。

    InnoDBのテブル(算法=复制を再作成するALTER TABLE操作では,現在のinnodb_file_format設定が使用される(前述の状況が適用される)ことに注意してください。

  • innodb_file_format_check

    コマンド行形式 ——innodb-file-format-check = #
    システム変数 innodb_file_format_check
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    この変数をサバの起動時に1または0に設定すると,InnoDBシステムテブルスペスファ邮箱ル形式タグ(羚羊梭鱼など)をチェックするかどうかを有効または無効にすることができます。チェックされたタグが最新バジョンのInnoDBでサポトされているよりも大きい場合は,エラが発生し,InnoDBは起動されません。このタグの方が大きくない場合は,InnoDBによってinnodb_file_format_maxの値がファ邮箱ル形式タグに設定されます。

    注記

    デフォルト値がまたはと表示されることがあるにもかかわらず,このオプションを構成ファイルまたはコマンド行でオンまたはオフに切り替えるには,常に数値1または0を使用します。

  • innodb_file_format_max

    コマンド行形式 ——innodb-file-format-max = #
    システム変数 innodb_file_format_max
    スコプ グロバル
    動的 はい
    文字列
    デフォルト 羚羊
    有効な値

    羚羊

    梭鱼

    サバの起動時にInnoDBによって,この変数の値がシステムテブルスペスファ邮箱ル形式タグ(羚羊梭鱼など)に設定されます。サバで大きいファル形式のテブルが作成されたり,開かれたりすると,innodb_file_format_maxの値がそのファ邮箱ル形式に設定されます。

  • innodb_file_per_table

    コマンド行形式 ——innodb-file-per-table
    システム変数 innodb_file_per_table
    スコプ グロバル
    動的 はい
    ブル
    デフォルト(≥5.6.6)
    デフォルト(≤5.6.5)

    innodb_file_per_tableが有効になっている(5.6.6以上のデフォルト)場合,InnoDBでは,新たに作成された各テーブルのデータおよびインデックスがシステムテーブルスペースではなく,個別の.ibdファ邮箱ルに格納されます。これらのInnoDBテブル用のストレジは,テブルが削除されたり,切り捨てられたりすると再利用されます。このように設定すると,テブルの圧縮などのその他のいくかのInnoDB機能が有効になります。このような機能,およびfile-per-tableテーブルスペースを使用する利点および欠点についての詳細は,セクション14.5.2 " InnoDB File-Per-Tableモド"を参照してください。

    ALTER TABLEでテブルが再作成されるケス(算法=复制)では,innodb_file_per_tableを有効にすることは,ALTER TABLE操作によってInnoDBテブルがシステムテブルスペスから個々の.ibdファ邮箱ルに移動されることも意味することに注意してください。

    innodb_file_per_tableを無効にすると,InnoDBではすべてのテブルおよびンデックス用のデタが,システムテブルスペスを構成するIbdataファルに格納されます。このように設定すると,删除表截断表などの操作で,ファ。これは,ストレージデバイス全体が MySQL データ専用になっているサーバー環境に最適です。システムテーブルスペースは縮小されず、ンスタンス内のすべてのデタベスにわたって共有されないため,innodb_file_per_table =了のときは,領域が制約されているシステムで一時デタを大量にロドすることは回避してください。このような場合は,領域を再利用するためにインスタンス全体を削除できるように,個別のインスタンスを設定します。

    MySQL 5.6.6の時点では,デフォルトでinnodb_file_per_tableが有効になっています。それよりも前では,無効になっています。MySQL5.5または5.1との下位互換性が懸念事項となっている場合は、これを無効にすることを検討してください。これにより、ALTER TABLEによってInnoDBテブルがシステムテブルスペスから個々の.ibdファ邮箱ルに移動することが回避されます。

    innodb_file_per_tableは動的であり,集全球を使用してまたはに設定できます。このパラメタは,MySQL構成ファ邮箱ルmy.cnfまたはmy.ini)でも設定できますが,このためにはサバをシャットダウンしてから再起動する必要があります。

    このパラメタの値を動的に変更するには,超级権限が必要です。動的に変更すると、すべての接続の操作がすぐに影響を受けます。

  • innodb_flush_log_at_timeout

    導入 5.6.6
    システム変数 innodb_flush_log_at_timeout
    スコプ グロバル
    動的 はい
    数値
    デフォルト 1
    最小値 1
    最大値 2700

    ログをN秒ごとに書き込んで,フラッシュします。innodb_flush_log_at_timeoutはMySQL 5.6.6で導入されました。フラッシュを減らし、バイナリロググループのコミット時のパフォーマンスへの影響を回避するために、フラッシュ間のタイムアウト期間を長くすることができます。MySQL 5.6.6 よりも前では、フラッシュの頻度は 1 秒ごとに 1 回でした。innodb_flush_log_at_timeoutのデフォルト設定も1秒ごとに1回です。

  • innodb_flush_log_at_trx_commit

    コマンド行形式 ——innodb-flush-log-at-trx-commit (= #)
    システム変数 innodb_flush_log_at_trx_commit
    スコプ グロバル
    動的 はい
    列挙
    デフォルト 1
    有効な値

    0

    1

    2

    コミット操作に対する厳密なコンプライアンスと,コミット関連のI / O操作が再編成およびバッチ処理されるときに実現可能な高いパフォーマンスとの間のバランスを制御します。デフォルト値を変更するとパフォーマンスを改善できますが,クラッシュ時にトランザクションが最大で1秒間失われる可能性があります。

    • 完全にacidコンプラ1を使用する必要があります。この値を使用すると,トランザクションコミットのたびに,InnoDBログバッファの内容がログファ邮箱ルに書き込まれ、ログファ以及ルがディスクにフラッシュされます。

    • 値を0にすると,約1秒ごとに1回,InnoDBのログバッファの内容がログファ。ログバッファからログファルに書き込みは,トランザクションコミット時には実行されません。プロセスのスケジューリングの問題が原因で,1秒ごとに1回のフラッシュが毎秒発生する100%の保証はありません。ディスク操作へのフラッシュは約1秒ごとに1回しか発生しないため,任意のmysqldプロセスがクラッシュすると,トランザクションが最大で1秒間失われる可能性があります。

    • 値を2にすると,トランザクションコミットのたびに,InnoDBのログバッファーの内容がログファイルに書き込まれ,約1秒ごとに1回ログファイルがディスクにフラッシュされます。プロセスのスケジューリングの問題が原因で,1秒ごとに1回のフラッシュが毎秒発生する100%の保証はありません。ディスク操作へのフラッシュは約1秒ごとに1回しか発生しないため,オペレーティングシステムがクラッシュしたり,停電が発生したりすると,トランザクションが最大で1秒間失われる可能性があります。

    • MySQL 5.6.6の時点では,InnoDBでのログフラッシュの頻度がinnodb_flush_log_at_timeoutで制御されます。これにより,ログフラッシュの頻度をN秒間に設定できます(ここで,N1……2700で,デフォルト値は1です)。ただし,任意のmysqldプロセスがクラッシュすると,トランザクションが最大でN秒間消失する可能性があります。

    • innodb_flush_log_at_trx_commitの設定とは関係なく,ddlの変更やその他のInnoDBアクティビティによって,InnoDBのログがフラッシュされます。

    • InnoDBクラッシュリカバリは,innodb_flush_log_at_trx_commitの設定に関係なく機能します。トランザクションは完全に適用されるか、完全に消去されるかのいずれかです。

    トランザクションでInnoDBが使用されるレプリケションセットアップの持続性および一貫性を保場合:

    • バナリロギングが有効になっている場合は,sync_binlog = 1を設定します。

    • 常にinnodb_flush_log_at_trx_commit = 1を設定します。

    注意

    多くのオペレーティングシステムや一部のディスクハードウェアは,ディスクへのフラッシュ操作を行なったと欺きます。フラッシュが行われていなくても,行われたとmysqldに通知される可能性があります。そのため,1を設定してもトランザクションの持続性は保証されず,最悪のケ,スでは,停電によってInnoDBのデタが破損する可能性もあります。バッテリーバックアップのディスクキャッシュをSCSIディスクコントローラ内やディスク自体で使用すると,ファイルフラッシュの速度が上がり,操作が安全になります。ハドウェアキャッシュ内でディスク書き込みのキャッシュを無効にするために,Unixコマンドhdparmを使用してみたり,ハドウェアベンダ固有のその他のコマンドを使用したりすることもできます。

  • innodb_flush_method

    コマンド行形式 ——innodb-flush-method =名字
    システム変数 innodb_flush_method
    スコプ グロバル
    動的 いいえ
    文字列
    デフォルト(Windows) async_unbuffered
    デフォルト(Unix) fsync
    有効な値(Unix,≥5.6.7)

    fsync

    O_DSYNC

    O_DIRECT

    O_DIRECT_NO_FSYNC

    有効な値(Unix,≤5.6.6)

    fsync

    O_DSYNC

    O_DIRECT

    InnoDBデタファおよびログファ邮箱ルにデタをフラッシュする際に使用される方法を定義します。これにより,I/O スループットが影響を受ける可能性があります。この変数は、Unix および Linux システムでのみ構成可能です。Windows システムでは、フラッシュ方法は常にasync_unbufferedであり,変更できません。

    innodb_flush_methodオプションの内容は,次のとおりです。

    • fsyncInnoDBfsync ()システムコルを使用して,デ。fsyncはデフォルト設定です。

    • O_DSYNCInnoDBは,O_SYNCを使用してログファルを開いてフラッシュし,fsync ()を使用してデタファ。さまざまな種類のUnixで問題が発生しているため,InnoDBでは直接O_DSYNCが使用されません。

    • O_DIRECTInnoDBは,O_DIRECT(Solarisでは译:())を使用してデタファルを開き,fsync ()を使用してデタファルの両方をフラッシュします。このオプションは,一部の GNU/Linux バージョン、FreeBSD、および Solaris で使用可能です。

    • O_DIRECT_NO_FSYNCInnoDBは,i / oのフラッシュ時にO_DIRECTを使用しますが,後続のfsync ()システムコルはスキップします。この設定は,一部のタイプのファイルシステムには適していますが、その他には適していません。たとえば、XFS には適していません。たとえば、使用中のファイルシステムですべてのファイルメタデータを保持するために、fsync ()が必要であるのかどうかが不明な場合は,代わりにO_DIRECTを使用してください。このオプションはMySQL 5.6.7(错误# 11754304,错误# 45892)で導入されました。

    各設定によるパフォマンスへの影響度は,ハ。使用する設定を決定したり,デフォルト設定のままにするかどうかを決定したりするには,特定の構成でベンチマークを実施します。設定ごとにfsync ()呼び出しの全体数を確認するには,Innodb_data_fsyncsステタス変数を調査します。ワクロドに読み取り操作と書き込み操作を混在させると、一部の設定での実行が影響を受ける可能性があります。たとえば、ハードウェア RAID コントローラおよびバッテリーでバックアップされる書き込みキャッシュが搭載されたシステムでは、InnoDBのバッファープールとオペレーティングシステムのファイルシステムキャッシュ間での二重バッファリングを回避する際に,O_DIRECTが役立ことがあります。InnoDBのデ选择ステトメントを含む読み取り負荷の高いワクロドで,デフォルト値またはO_DSYNCの速度が速くなる可能性があります。このパラメタは,必ず,本番環境が反映されたハ。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_flush_neighbors

    コマンド行形式 ——innodb-flush-neighbors
    導入 5.6.3
    システム変数 innodb_flush_neighbors
    スコプ グロバル
    動的 はい
    列挙
    デフォルト 1
    有効な値

    0

    1

    2

    InnoDBのバッファプルからペジをフラッシュすると,同じエクステント内のその他のダティペジもフラッシュされるかどうかを指定します。

    • デフォルト値の1では,バッファープールから同じエクステント内の連続するダーティーページがフラッシュされます。

    • 0を設定すると,innodb_flush_neighborsがオフになり,その他のダティ。

    • 2を設定すると、同じエクステント内のダティ。

    テブルデタが従来の硬盘驱动器ストレジデバ,1回の操作でこのような隣接ペジをフラッシュすると,さまざまな時間に個々のページをフラッシュする場合と比較して,(主にディスクシーク操作の)I / Oオーバーヘッドが削減されます。テブルデタが固态硬盘上に格納されている場合は,シーク時間が重要な要素ではないため,この設定をオフにすれば,書き込み操作を分散できます。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_flushing_avg_loops

    コマンド行形式 ——innodb-flushing-avg-loops = #
    導入 5.6.6
    システム変数 innodb_flushing_avg_loops
    スコプ グロバル
    動的 はい
    数値
    デフォルト 30.
    最小値 1
    最大値 1000

    InnoDBが以前に計算されたフラッシュ状態のスナップショットを保持する繰り返しの数です。これにより,適応型フラッシュワクロドの変更に対応する速度が制御されます。この値を大きくすると,ワクロドが変化するに,フラッシュ操作の速度が円滑か徐々に変化します。この値を小さくすると,適応型フラッシュがワクロドの変化にすばやく適応します。これにより,ワクロドが突然に増減した場合に、フラッシュアクティビティーが急増する可能性があります。

  • innodb_force_load_corrupted

    コマンド行形式 ——innodb-force-load-corrupted
    導入 5.6.3
    システム変数 innodb_force_load_corrupted
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    InnoDBの起動時に,破損マクが付けられたテブルをロドできます。トラブルシューティング時に,何も対処しなければアクセスできないデータをリカバリする際にのみ使用してください。トラブルシュティングが完了したら,この設定をオフに戻して,サを再起動します。

  • innodb_force_recovery

    コマンド行形式 ——innodb-force-recovery = #
    システム変数 innodb_force_recovery
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 0
    最小値 0
    最大値 6

    クラッシュリカバリモドです。一般に,重大なトラブルシューティングの状況でのみ変更されます。指定可能な値は 0 から 6 までです。これらの値の意味およびinnodb_force_recoveryに関する重要な情報にいては,セクション14.19.2 " InnoDBのリカバリの強制的な実行"を参照してください。

    警告

    緊急状況でのみ,この変数を0よりも大きい値に設定してください。これにより,InnoDBを起動し,テブルをダンプできるようになります。安全対策として,innodb_force_recoveryを0よりも大きくすると,InnoDB插入更新,または删除操作が回避されます.また,5.6.15の時点では,innodb_force_recoveryの設定を4よりも大きくすると,InnoDBが読み取り専用モドになります。

    このような制約のために,——relay-log-info-repository =表——master-info-repository =表などのレプリケションオプションによってInnoDB内のテーブルに情報が格納されると,レプリケーション管理コマンドに失敗し,エラーが発生する可能性があります。

  • innodb_ft_aux_table

    導入 5.6.4
    システム変数 innodb_ft_aux_table
    スコプ グロバル
    動的 はい
    文字列

    全文ンデックスを含むInnoDBテブルの修飾名を指定します。この変数は診断のために使用され,実行時にのみ設定できます。例:

    set global innodb_ft_aux_table = 'test/t1';

    この変数を起動時に設定しようとすると,选项“——innodb-ft-aux-table”不能带参数エラが発生し,起動が中止されます。この変数をdb_name/table_name形式の名前に設定すると,INFORMATION_SCHEMAテブルINNODB_FT_INDEX_TABLEINNODB_FT_INDEX_CACHEINNODB_FT_CONFIGINNODB_FT_DELETED,およびINNODB_FT_BEING_DELETEDに,指定されたテンデックスに関する情報が表示されます。

  • innodb_ft_cache_size

    コマンド行形式 ——innodb-ft-cache-size = #
    導入 5.6.4
    システム変数 innodb_ft_cache_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト(≥5.6.10) 8000000
    デフォルト(≥5.6.4,≤5.6.9) 32000000
    最小値 1600000
    最大値 80000000

    InnoDBの全文検索インデックスのキャッシュ用に割り当てられたメモリー量(バイト単位)です。InnoDB全文e .ンデックスの作成時に,この量の解析済みドキュメントがメモリ.内に保持されます。innodb_ft_cache_sizeのサ管理员ズ制限に達すると,管理员ンデックスの挿入および更新のみがディスクにコミットされます。innodb_ft_cache_sizeでは、キャッシュサ。すべてのテブルにグローバルな制限を設定する方法については、innodb_ft_total_cache_sizeを参照してください。

  • innodb_ft_enable_diag_print

    コマンド行形式 ——innodb-ft-enable-diag-print = #
    導入 5.6.4
    システム変数 innodb_ft_enable_diag_print
    スコプ グロバル
    動的 はい
    ブル
    デフォルト(≥5.6.7)
    デフォルト(≤5.6.6)

    追加の全文検索(fts)診断の出力を有効にするかどうかを指定します。このオプションは,主に高度な FTS デバッグのために使用され、大部分のユーザーには関心がないものです。出力はエラーログに記録され、次のような情報が含まれています。

    • FTS邮箱ンデックス同期の進行状況(FTSキャッシュ制限に達したとき)。例:

      FTS SYNC for table test, deleted count: 100 size: 10000 bytes SYNC words: 100
    • FTS最適化の進行状況。例:

      FTS_OPTIMIZE:对“mysql”进行优化
    • FTS网站ンデックス構築の進行状況。例:

      处理的文档数量:1000
    • FTSクエリーでは,クエリー解析のツリー,単語の重み,クエリーの処理時間,およびメモリーの使用状況が出力されます。例:

      FTS搜索处理时间:1秒:100毫秒:行10000全搜索内存:245666(字节),行10000
  • innodb_ft_enable_stopword

    コマンド行形式 ——innodb-ft-enable-stopword = #
    導入 5.6.4
    システム変数 innodb_ft_enable_stopword
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    ンデックスの作成時に,一連のストップワドInnoDB全文ンデックスに関連付けられることを指定します。innodb_ft_user_stopword_tableオプションが設定されている場合は,そのテブルからストップワドが取得されます。そうでなければ,innodb_ft_server_stopword_tableオプションが設定されている場合は,そのテブルからストップワドが取得されます。それ以外の場合は,組み込みのデフォルトストップワドセットが使用されます。

  • innodb_ft_max_token_size

    コマンド行形式 ——innodb-ft-max-token-size = #
    導入 5.6.4
    システム変数 innodb_ft_max_token_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 84
    最小値 10
    最大値 252

    InnoDBの全文ンデックスに格納されている単語の最大長です。この値に制限を設定すると,実在の単語ではなく,検索語句になる可能性の低い英字の任意のコレクションや長いキーワードが省略されることで,インデックスのサイズが削減されるため,クエリーの速度が上がります。

  • innodb_ft_min_token_size

    コマンド行形式 ——innodb-ft-min-token-size = #
    導入 5.6.4
    システム変数 innodb_ft_min_token_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 3.
    最小値 0
    最大値 16

    InnoDBの全文ンデックスに格納されている単語の最小長です。この値を大きくすると,検索のコンテキストで重要となる可能性の低い一般的な単語(一个などの英単語)が省略されることで,インデックスのサイズが削減されるため,クエリーの速度が上がります。内容でCJK(中国語,日本語,韓国語)文字セットが使用されている場合は,値1を指定します。

  • innodb_ft_num_word_optimize

    コマンド行形式 ——innodb-ft-num-word-optimize = #
    導入 5.6.4
    システム変数 innodb_ft_num_word_optimize
    スコプ グロバル
    動的 はい
    数値
    デフォルト 2000

    InnoDB全文ンデックスでの各优化表操作時に処理される単語数です。全文検索インデックスを含むテーブルへの一括挿入または一括更新操作では,すべての変更を組み込むために大量のインデックスのメンテナンスが必要となる可能性があるため,それぞれが最後に終了した場所から再開する一連の优化表ステトメントを実行するとよいでしょう。

  • innodb_ft_result_cache_limit

    コマンド行形式 ——innodb-ft-result-cache-limit = #
    導入 5.6.13
    システム変数 innodb_ft_result_cache_limit
    スコプ グロバル
    動的 はい
    数値
    デフォルト 2000000000
    最小値 1000000
    最大値(Windows,≥5.6.13,≤5.6.16) 2 * * 32-1
    最大値(Unix, 64ビットプラットフォ,ム,≥5.6.13,≤5.6.16) 2 * * 64 - 1
    最大値(Unix, 32ビットプラットフォ,ム,≥5.6.13,≤5.6.16) 2 * * 32-1
    最大値(≥5.6.17) 2 * * 32-1

    FTSクエリごとまたはスレッドごとに,(バト単位で定義された)InnoDBの全文検索(fts)クエリ結果のキャッシュ制限です。中間および最終のInnoDBFTSクエリ結果は,メモリ内で処理されます。InnoDBのFTSクエリー結果が非常に大きい(何百万や何億もの行数など)場合に,過剰なメモリー消費を回避するには,innodb_ft_result_cache_limitを使用してInnoDBのFTSクエリズ制限を課します。メモリは,ftsクエリの処理時に必要に応じて割り当てられます。結果のキャッシュサイズ制限に達すると,クエリーで最大限に許可されるメモリー量を超えたことを示すエラーが返されます。

    MySQL 5.6.17の時点では,すべてのプラットフォームタイプおよびプラットフォームビットサイズに対応したinnodb_ft_result_cache_limitの最大値は,2**32-1です。Bug #71554。

  • innodb_ft_server_stopword_table

    コマンド行形式 ——innodb-ft-server-stopword-table = db_name / table_name
    導入 5.6.4
    システム変数 innodb_ft_server_stopword_table
    スコプ グロバル
    動的 はい
    文字列
    デフォルト

    このオプションは,すべてのInnoDBテブルに対応した独自のInnoDB全文帐号ンデックスストップワ帐号ドリストを指定する際に使用されます。特定のInnoDBテブルに独自のストップワドリストを構成するには,innodb_ft_user_stopword_tableを使用します。

    db_name/table_nameの形式で,innodb_ft_server_stopword_tableをストップワドリストを含むテブルの名前に設定します。

    innodb_ft_server_stopword_tableを構成する前に,ストップワドテブルが存在する必要があります。全文ンデックスを作成する前に,innodb_ft_enable_stopwordを有効にして,innodb_ft_server_stopword_tableオプションを構成する必要あります。

    ストップワドテブルは,价值という名前の単一のVARCHARカラムを含むInnoDBテブルにする必要があります。

    詳細は,セクション12.9.4 "全文ストップワド"を参照してください。

  • innodb_ft_sort_pll_degree

    コマンド行形式 ——innodb-ft-sort-pll-degree = #
    導入 5.6.4
    システム変数 innodb_ft_sort_pll_degree
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 2
    最小値 1
    最大値 32

    検索邮箱ンデックスの構築時に,InnoDB全文インデックス内のテキストのインデックス作成およびトークン化を行う際に,並列して使用されるスレッド数です。使用法の追加情報にいては,innodb_sort_buffer_sizeを参照してください。

  • innodb_ft_total_cache_size

    コマンド行形式 ——innodb-ft-total-cache-size = #
    導入 5.6.13
    システム変数 innodb_ft_total_cache_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 640000000
    最小値 32000000
    最大値 1600000000

    すべてのテブルに対応したInnoDB全文検索openstackンデックスキャッシュ用に割り当てられた合計メモリopenstack量(バopenstackト単位)です。それぞれが全文検索インデックスを持つ多数のテーブルを作成すると,使用可能なメモリーの大部分が消費される可能性があります。innodb_ft_total_cache_sizeでは,過剰なメモリー消費を回避する際に役立つ,すべての全文検索インデックスに対応したグローバルなメモリー制限が定義されます。econンデックス操作でグロバルな制限に達すると,econ強制的な同期がトリガされます。

  • innodb_ft_user_stopword_table

    コマンド行形式 ——innodb-ft-user-stopword-table = db_name / table_name
    導入 5.6.4
    システム変数 innodb_ft_user_stopword_table
    スコプ グロバル,セッション
    動的 はい
    文字列
    デフォルト

    このオプションは,特定のテブルに独自のInnoDB全文帐号ンデックスストップワ帐号ドリストを指定する際に使用されます。すべてのInnoDBテブル用に独自のストップワドリストを構成するには,innodb_ft_server_stopword_tableを使用します。

    db_name/table_nameの形式で,innodb_ft_user_stopword_tableをストップワドリストを含むテブルの名前に設定します。

    innodb_ft_user_stopword_tableを構成する前に,ストップワドテブルが存在する必要があります。全文ンデックスを作成する前に,innodb_ft_enable_stopwordを有効にして,innodb_ft_user_stopword_tableオプションを構成する必要あります。

    ストップワドテブルは,价值という名前の単一のVARCHARカラムを含むInnoDBテブルにする必要があります。

    詳細は,セクション12.9.4 "全文ストップワド"を参照してください。

  • innodb_io_capacity

    コマンド行形式 ——innodb-io-capacity = #
    システム変数 innodb_io_capacity
    スコプ グロバル
    動的 はい
    数値
    デフォルト 200
    最小値 One hundred.
    最大値(64ビットプラットフォム) 2 * * 64 - 1
    最大値(32ビットプラットフォム) 2 * * 32-1

    innodb_io_capacityパラメタは,InnoDBバックグラウンドタスクで実行されるI/Oアクティビティ(バッファプルからのペジのフラッシュ挿入バッファからのデタのマジなど)に上限を設定します。デフォルト値は200です。高いI / Oレートを処理できる高負荷のシステムでは,サーバーの起動時に大きい値を設定すると,サーバーが高いレートの行変更に関連付けられたバックグラウンドメンテナンス作業を処理できるようになります。

    innodb_io_capacityの制限は,すべてのバッファ。ダティペジがフラッシュされるとき,innodb_io_capacity制限は,バッファ。

    個別の5400 RPMまたは7200 RPMドライブが搭載されたシステムでは,元のデフォルトのOne hundred.まで値を小さくするとよいでしょう。

    このパラメータはほぼ,システムが1秒あたりに実行できるI / O操作の数に設定するようにしてください。理想的には,この設定はできるだけ小さく保ます。ただし,これらのバックグラウンドアクティビティーに遅延が発生するほど小さくしないでください。値が大きすぎる場合は、データがバッファープールおよび挿入バッファーから瞬時に削除されるため、キャッシュを使用する重要な利点が得られません。

    この値は約100 IOPSを実行できる旧世代のディスクドライブで実現可能なIOPS (I / O操作每秒)の推定比率を表します。現在のデフォルトの200は最新のストレージデバイスがさらに高いI / Oレートを処理できることを反映しています。

    一般に,InnoDBのI / Oで使用されるドライブ(特に,高い数値のIOPSを処理できる高速ドライブ)の数に応じて,値を大きくすることができます。たとえば,InnoDB用に複数のディスクまたはソリッドステートディスクを使用するシステムでは,このパラメータを制御する機能の利点が得られる可能性が高くなります。

    非常に大きい数値も指定できますが,実際にはこのような大きな値にすると,利点を得られるとしてもわずかです。たとえば,100万は非常に大きい値と考えられます。

    innodb_io_capacityの値は,innodb_io_capacity_maxで定義された最大値まで,100以上の任意の数値に設定できます。デフォルト値は200です。このパラメタの値はMySQLオプションファル(my.cnfまたはmy.ini)で設定するか,あるいは集全球コマンド(これには.超级権限が必要です)で動的に変更できます。

    このオプションに関する詳細なガereplicationドラereplicationンにereplicationいては,セクション14.13.8 " InnoDBマスタスレッドのI/Oレトの構成"を参照してください。InnoDBのI/O パフォーマンスに関する一般的な情報については、セクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_io_capacity_max

    コマンド行形式 ——innodb-io-capacity-max = #
    導入 5.6.6
    システム変数 innodb_io_capacity_max
    スコプ グロバル
    動的 はい
    数値
    デフォルト(Windows, 64ビットプラットフォム) 2000
    デフォルト(Unix, 64ビットプラットフォ,ム) 看描述
    デフォルト(32ビットプラットフォム) 看描述
    最小値 2000
    最大値(Windows, 64ビットプラットフォム) 2 * * 32-1
    最大値(Unix, 64ビットプラットフォ,ム) 2 * * 64 - 1
    最大値(32ビットプラットフォム) 2 * * 32-1

    緊急時にinnodb_io_capacityの設定を拡張する際に,InnoDBで許可されている上限です。起動時にinnodb_io_capacityの設定を指定し,innodb_io_capacity_maxに値を指定しない場合は,innodb_io_capacity_maxのデフォルト値がinnodb_io_capacityの2倍となり,下限が2000となります。また,2000は初期のデフォルトinnodb_io_capacity_max構成値です。

    innodb_io_capacity_max設定は,すべてのバッファ。

    MySQL 5.6開発中の短期間は,この変数はinnodb_max_io_capacityと呼ばれていました。MySQL5.6.7では、innodb_io_capacityオプションとの関係を強調するために,innodb_io_capacity_maxという名前に変更されました。

  • innodb_large_prefix

    コマンド行形式 ——innodb-large-prefix
    導入 5.6.3
    システム変数 innodb_large_prefix
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    このオプションを有効にすると,动态および压缩行フォマットを使用するInnoDBテブルで,767バ(最大で3072バ)帐号ンデックスキ帐号プリフィクスが許可されます。(このようなテーブルの作成には、innodb_file_format =梭鱼およびinnodb_file_per_table = trueのオプション値も必要になります)さまざまな設定でインデックスキープリフィクスに関連付けられた関連性の最大値については,セクション14.6.7 " InnoDBテブル上の制限"を参照してください。

    冗余および紧凑的行フォーマットを使用したテーブルでは,このオプションによってキープリフィクスの長さは影響を受けません。

  • innodb_lock_wait_timeout

    コマンド行形式 ——innodb-lock-wait-timeout = #
    システム変数 innodb_lock_wait_timeout
    スコプ グロバル,セッション
    動的 はい
    数値
    デフォルト 50
    最小値 1
    最大値 1073741824

    行ロックが解除されるまでInnoDBトランザクションが待機する時間の長さ(秒単位)です。デフォルト値は50秒です。別のInnoDBトランザクションでロックされている行へのアクセスを試みるトランザクションは,行への書き込みアクセスを最大でこの秒数間待機してから,次のエラーを発行します。

    错误1205 (HY000):锁定等待超时超过;尝试重新启动事务

    ロック待機のタ翻版ムアウトが発生すると,(トランザクション全体ではなく)現在のステ翻版トメントがロルバックされます。トランザクション全体をロルバックするには,——innodb_rollback_on_timeoutオプションを付けてサバを起動します。セクション14.19.4 " InnoDBのエラ処理"も参照してください。

    高度に邮箱ンタラクティブなアプリケ邮箱ションまたはOLTPシステムでは,ユーザーのフィードバックをすばやく表示したり,あとで処理するために更新をキューに入れたりするために,この値を小さくするとよいでしょう。長時間実行されるバックエンド操作(その他の大規模な挿入操作や更新操作が完了するまで待機するデータウェアハウスでの変換ステップなど)では,この値を大きくするとよいでしょう。

    innodb_lock_wait_timeoutInnoDBの行ロックにのみ適用されます。MySQLのテブルロックInnoDB内部では発生せず、このタ。

    デッドロックInnoDBによってすぐに検出され,デッドロックになったトランザクションのいずれかがロールバックされるため,デッドロックにはロック待機のタイムアウト値が適用されません。

    innodb_lock_wait_timeoutは,実行時に集全球または设置会话ステトメントとともに設定できます。全球値を変更するには,超级権限が必要です。これを変更すると、それ以降に接続するすべてのクラ以及アントの操作が影響を受けます。任意のクラ邮箱アントがinnodb_lock_wait_timeout会话設定を変更でき、そのクラ以及アントのみが影響を受けます。

  • innodb_locks_unsafe_for_binlog

    コマンド行形式 ——innodb-locks-unsafe-for-binlog
    非推奨 5.6.3
    システム変数 innodb_locks_unsafe_for_binlog
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    この変数によって,InnoDBが検索および邮箱ンデックススキャンでギャップロックを使用する方法が影響を受けます。MySQL5.6.3の時点では、innodb_locks_unsafe_for_binlogは非推奨となり,今後のMySQLリリスで削除される予定です。

    通常、InnoDBでは,ンデックス行ロックとギャップロックを組み合わせた"ネクストキロック"と呼ばれるアルゴリズムが使用されます。InnoDBは,テーブルインデックスを検索またはスキャンするときに,生成されたインデックスレコード上に共有ロックまたは排他ロックを設定するという方法で,行レベルロックを実行します。したがって,行レベルロックは,実際には,ンデックスレコ,ドロックです。さらに,あるeconンデックスレコ,そのeconンデックスレコギャップも影響を受けます。つまり,ネクストキーロックは,インデックスレコードロックと,そのインデックスレコードの前のギャップに対するギャップロックとを組み合わせたものです。あるセッションが邮箱ンデックス内のレコ邮箱ドR上に共有ロックまたは排他ロックを持っている場合は、別のセッションが以及ンデックスの順番でRの直前にあるギャップに新しい邮箱ンデックスレコ邮箱ドを挿入できません。セクション14.2.6 " InnoDBのレコド,ギャップ,およびネクストキロック"を参照してください。

    innodb_locks_unsafe_for_binlogの値はデフォルトで0(無効)になっていますが,これは,ギャップロックが有効であることを意味します。InnoDBはネクストキロックを使用して,検索およびンデックススキャンを実行します。この変数を有効にするには,値を1に設定します。これにより,ギャップロックが無効になります。InnoDBはereplicationンデックスレコereplicationドロックのみを使用して,検索およびereplicationンデックススキャンを実行します。

    innodb_locks_unsafe_for_binlogを有効にしても,外部キ制約チェックや重複キチェックでのギャップロックの使用は無効になりません。

    innodb_locks_unsafe_for_binlogを有効にした場合の影響は,トランザクション分離レベルを读过承诺に設定した場合の影響に似ていますが,同じではありません。

    • innodb_locks_unsafe_for_binlogを有効にすることはグロバルな設定であるため,すべてのセッションが影響を受けます。その一方で,分離レベルは,すべてのセッションに対してグローバルに設定することも,セッションごとに個別に設定することもできます。

    • innodb_locks_unsafe_for_binlogはサーバー起動時にしか設定できないのに対して,分離レベルは起動時に設定することも,実行時に変更することもできます。

    したがって,读过承诺ではinnodb_locks_unsafe_for_binlogよりも細かく柔軟な制御が提供されます。ギャップロックに対する分離レベルの影響に関する追加の詳細については、セクション13.3.6 " set transaction構文"を参照してください。

    ギャップロックが無効になるとほかのセッションが新しい行をギャップに挿入できるため,innodb_locks_unsafe_for_binlogを有効にすると,ファントムの問題が発生する可能性があります。孩子テブルのidカラム上にインデックスがあり,識別子の値が100よりも大きいすべての行をテーブルから読み取り,選択された行の一部のカラムをあとで更新するという意図でロックすると仮定します。

    SELECT * FROM child WHERE id > 100 FOR UPDATE;

    クエリでは,idが100より大きい最初のレコンデックスがスキャンされます。その範囲内のインデックスレコード上に設定されたロックによって,ギャップへの挿入がロックアウトされていない場合は,別のセッションがそのテーブルに新しい行を挿入できます。したがって,同じトランザクション内で同じ选择を再度実行すると,クエリ。これは,デ,タベ,スに新しい項目が追加された場合は,InnoDBで直列化可能性が保証されないことも意味します。したがって,innodb_locks_unsafe_for_binlogが有効な場合にInnoDBによって保証される最大の分離レベルは,读过承诺になります.(競合直列化可能性は引き続き保証されます.)ファントムの追加情報に,セクション14.2.7 "ネクストキロックによるファントム問題の回避"を参照してください。

    innodb_locks_unsafe_for_binlogを有効にした場合には,次のような影響も発生します。

    • 更新または删除ステトメントでは,InnoDBは更新または削除の対象となる行に対してのみ,ロックを保持します。一致しなかった行のレコドロックは,MySQLによる在哪里条件の評価後に解除されます。これにより,デッドロックの可能性が大幅に低くなりますが、まだ発生する可能性はあります。

    • 更新ステトメントである行がすでにロックされていた場合,InnoDB半一貫性読み取りを実行し,最後にコミットされたバジョンをMySQLに返すため,MySQLはその行が更新在哪里条件に一致するかどうかを判断できます。その行が一致した場合(その行を更新する必要がある場合),MySQLはその行を再度読み取り,InnoDBは今度はその行をロックするか,その行のロックが解除されるまで待機します。

    次のような例にいて,このテブルから検討します。

    CREATE TABLE t (a INT NOT NULL, b INT)插入t值(1、2),(2、3),(2),(4,3),(2);提交;

    この場合は,テーブルにインデックスが設定されていないため,検索およびインデックススキャンでは,非表示のクラスタ化されたインデックスを使用してレコードのロックが行われます(セクション14.2.13.2 "クラスタereplicationンデックスとセカンダリereplicationンデックス"を参照してください)。

    あるクラ邮箱アントが次のステ邮箱トメントを使用して,更新を実行すると仮定します。

    SET autocommit = 0;SET b = 5 WHERE b = 3;

    また2番目のクライアントが1番目のクライアントの実行後に次のステートメントを実行することで,更新を実行すると仮定します。

    SET autocommit = 0;SET b = 4 WHERE b = 2;

    InnoDBは各更新を実行する際に,まず各行の排他ロックを取得し,次にその行を変更するかどうかを判断します。InnoDBがその行を変更せず,かinnodb_locks_unsafe_for_binlogが有効な場合は,そのロックが解除されます。それ以外の場合,トランザクションが終了するまでInnoDBはそのロックを保持します。これにより,トランザクション処理が次のような影響を受けます。

    innodb_locks_unsafe_for_binlogが無効な場合は次のように,最初の更新はxロックを取得し,そのいずれも解除しません。

    独占锁(1、2);保留x锁x锁(2,3);更新(2,3)到(2,5);保留x锁x锁(3,2);保留x锁x锁(4,3);更新(4,3)到(4,5);保持x锁x锁(5,2);保留独占锁

    次のように,2番目の更新は(1番目の更新がすべての行のロックを保持しているため),ロックを取得しようとしてもすぐにブロックされ,1番目の更新がコミットまたはロルバックを実行するまで続行されません。

    独占锁(1、2);块,并等待第一个UPDATE提交或回滚

    innodb_locks_unsafe_for_binlogが有効な場合は次のように,最初の更新はxロックを取得したあとに,変更されない行のロックを解除します。

    独占锁(1、2);解锁(1、2)独占锁(2、3);更新(2,3)到(2,5);保留x锁x锁(3,2);解锁(2)独占锁(4,3);更新(4,3)到(4,5);保持x锁x锁(5,2);解锁(5,2)

    2番目の更新では次のように,InnoDB半一貫性読み取りを行い,最後にコミットされたバジョンをMySQLに返すため,MySQLはその行が更新在哪里条件に一致するかどうかを判断できます。

    独占锁(1、2);更新(1,2)到(1,4);保留x锁x锁(2,3);解锁(2、3)独占锁(3 2);更新(3,2)到(3,4);保留x锁x锁(4,3);解锁(4,3)独占锁(2);更新(5,2)到(5,4);保留独占锁
  • innodb_log_buffer_size

    コマンド行形式 ——innodb-log-buffer-size = #
    システム変数 innodb_log_buffer_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 8388608
    最小値 262144
    最大値 4294967295

    ディスク上のログファ邮箱ルに書き込む際にInnoDBで使用されるバッファのサ(バ)です。デフォルトの値は8mバ邮箱トです。ログバッファを大きくすると,トランザクションがコミットする前にディスクにログを書き込まなくても,大規模なトランザクションを実行できます。したがって,多数の行を更新、挿入、または削除するトランザクションの場合、ログバッファーを大きくすると、ディスク I/O を節約できます。一般的な I/O チューニングのアドバイスについては、セクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_log_compressed_pages

    コマンド行形式 ——innodb-log-compressed-pages = #
    導入 5.6.11
    システム変数 innodb_log_compressed_pages
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    再圧縮されたペジの邮箱メ邮箱ジがInnoDB重做ログに格納されるかどうかを指定します。

    この変数はMySQL 5.6.11で追加されました。

  • innodb_log_file_size

    コマンド行形式 ——innodb-log-file-size = #
    システム変数 innodb_log_file_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト(≥5.6.8) 50331648
    デフォルト(≤5.6.7) 5242880
    最小値 1048576
    最大値(≥5.6.3) 512GB / innodb_log_files_in_group . txt
    最大値(≤5.6.2) 4GB / innodb_log_files_in_group . txt

    ロググルプ内の各ログファ邮箱ルのサ电子书阅读器ズ(バ电子书阅读器ト単位)です。ログファ邮箱ルを結合したサ邮箱ズ(innodb_log_file_sizeinnodb_log_files_in_group)は,512gバ电子书トよりもわずかに小さい最大値を上回ることができません。たとえば,255Gバイトのログファイルのペアを使用すれば、制限に近づくことはできますが、上回ることはできません。デフォルト値は 48M バイトです。適切な値の範囲は、1M バイトから 1/バッファプルN番目のサ邮箱ズまでです。ここで,Nはグルプ内のログファ。値を大きくするほど、バッファープール内で必要となるチェックポイントフラッシュアクティビティーの数が少なくなるため、ディスク I/O を節約できます。また、ログファイルを大きくすると、クラッシュリカバリの速度が遅くなります。ただし,米ySQL 5.5 以上ではリカバリのパフォーマンスが改善されているため、ログファイルのサイズに対する考慮事項も少なくなります。一般的な I/O チューニングのアドバイスについては、セクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

    重要

    Bug #69477が原因で,外部に格納された大きなフィールドに対する重做ログの書き込みによって,最新のチェックポイントが上書きされる可能性があります。このバグに対処するためにMySQL 5.6.20で導入されたパッチを適用すれば,で書き込まれるRedoログのサereplicationズがRedoログファereplicationルサereplicationズの10%に制限されます。この制限の結果として,innodb_log_file_sizeは,テデタサ10倍よりも大きい値に,その他の変数の長さフィ(VARCHARVARBINARY,および文本型のフィルド)の長さを加えた値に設定されるはずです。

    MySQL 5.6.22では,重做ログの書き込み制限は合計重做ログサereplicationズinnodb_log_file_sizeinnodb_log_files_in_group)の10%に緩められました。(错误# 19498877)

  • innodb_log_files_in_group

    コマンド行形式 ——innodb-log-files-in-group = #
    システム変数 innodb_log_files_in_group
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 2
    最小値 2
    最大値 One hundred.

    ロググルプ内のログファ邮箱ルの数です。InnoDBはファ邮箱ルに輪状に書き込みをします。デフォルト(推奨) 値は 2 です。これらのファイルの場所は、innodb_log_group_home_dirで指定されます。ログファ邮箱ルを結合したサイズ (innodb_log_file_sizeinnodb_log_files_in_group)は,最大で512gバ电子书トにすることができます。

  • innodb_log_group_home_dir

    コマンド行形式 ——innodb-log-group-home-dir =路径
    システム変数 innodb_log_group_home_dir
    スコプ グロバル
    動的 いいえ
    ディレクトリ名

    InnoDB重做ログファ邮箱ルへのディレクトリパスです。この数は,innodb_log_files_in_groupで指定されます。どのInnoDBログ変数も指定しない場合は,デフォルトで,MySQLデタディレクトリ内にib_logfile0およびib_logfile1という名前の2。これらのサズは,innodb_log_file_sizeシステム変数のサ邮箱ズで指定されます。

  • innodb_lru_scan_depth

    コマンド行形式 ——innodb-lru-scan-depth = #
    導入 5.6.3
    システム変数 innodb_lru_scan_depth
    スコプ グロバル
    動的 はい
    数値
    デフォルト 1024
    最小値 One hundred.
    最大値(64ビットプラットフォム) 2 * * 64 - 1
    最大値(32ビットプラットフォム) 2 * * 32-1

    InnoDBバッファプルでのフラッシュ操作のアルゴリズムおよびヒュリスティクスに影響を与えるパラメタです。主に,i / oンテンシブなワクロ。バッファプルンスタンスごとに,page_cleanerスレッドがフラッシュするダティペジを検索する際に,どのくらいの深さまでバッファープールLRUリストをスキャンするのかが指定されます。これは,1秒ごとに1回実行されるバックグラウンド操作です。一般的なワクロドで予備のI/O容量を持っている場合は,この値を大きくします。書き込みが集中するワークロードでI / O容量がいっぱいになった場合は,この値を小さくします(特に大きなバッファープールを持っている場合)。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_max_dirty_pages_pct

    コマンド行形式 ——innodb-max-dirty-pages-pct = #
    システム変数 innodb_max_dirty_pages_pct
    スコプ グロバル
    動的 はい
    数値
    デフォルト 75
    最小値 0
    最大値 99

    InnoDBは,ダティペジの割合がこの値を超えないように,バッファプルからデタをフラッシュしようと試みます。0から99までの範囲内の整数を指定します。デフォルト値は 75 です。

    innodb_max_dirty_pages_pct設定は,フラッシュアクティビティのタゲットを確立します。フラッシュの頻度には影響を与えません。フラッシュの頻度の管理にいては,セクション14.13.1.2 " InnoDBバッファプルのフラッシュの頻度の構成"を参照してください。

    この変数に関する追加情報にいては,セクション14.13.1.6 " InnoDBバッファプルのフラッシュのチュニング"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_max_dirty_pages_pct_lwm

    コマンド行形式 ——innodb-max-dirty-pages-pct-lwm = #
    導入 5.6.6
    システム変数 innodb_max_dirty_pages_pct_lwm
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0
    最小値 0
    最大値 99

    ダティペジの比率を制御するために事前フラッシュが有効になっている場合に,ダティペジの割合を表す低位境界値です。デフォルトの0では、事前フラッシュの動作が完全に無効になります。この変数に関する追加情報については、セクション14.13.1.6 " InnoDBバッファプルのフラッシュのチュニング"を参照してください。

  • innodb_max_purge_lag

    コマンド行形式 ——innodb-max-purge-lag = #
    システム変数 innodb_max_purge_lag
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0
    最小値 0
    最大値 4294967295

    この変数は,パジ操作が遅れたときに,插入更新,および删除操作を遅延させる方法を制御します(セクション14.2.12 " InnoDBマルチバジョン"を参照してください)。デフォルト値は0(遅延なし) です。

    InnoDBトランザクションシステムでは,更新または删除操作で削除のマクが付けられたドを含むトランザクションのリストが保持されます。purge_lagの値は,このリストの長さを表しています。purge_laginnodb_max_purge_lagを超えると,各插入更新,および删除操作が遅延します。

    purge_lagが非常に大きくなるような極端な状況で,過剰な遅延を回避するには,innodb_max_purge_lag_delay構成オプションを設定すれば,遅延の量に上限を設定できます。遅延は,パジバッチの開始時に計算されます。

    トランザクションが小規模(100バ)であり,許可されている未パInnoDBテーブル行が100バイトであると仮定すると,問題のあるワークロードに適した一般的な設定が100年万になる可能性があります。

    遅延の値は,InnoDB Monitor出力の交易セクションに履歴リストの長さとして表示されます。たとえば,出力に次の行が含まれている場合は、遅延の値が 20 です。

    ------------ TRANSACTIONS ------------ Trx id counter 0 290328385清除Trx的n:o < 0 290315608 undo n:o < 0 17历史列表长度20

    一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_max_purge_lag_delay

    コマンド行形式 ——innodb-max-purge-lag-delay = #
    導入 5.6.5
    システム変数 innodb_max_purge_lag_delay
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0
    最小値 0

    innodb_max_purge_lag構成オプションで課された遅延の最大遅延をミリ秒単位で指定します。ゼロ以外の値は,innodb_max_purge_lagの値に基づいて,公式から計算された遅延期間への上限を表します。デフォルトのゼロは、遅延間隔に上限が課されていないことを意味します。

    一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_mirrored_log_groups

    効果はありません。この変数はMySQL 5.6.11の時点で非推奨となり,将来のMySQLリリースで削除される予定です。

  • innodb_monitor_disable

    コマンド行形式 ——innodb-monitor-disable =(计数器模块| | |模式所有)
    導入 5.6.2
    システム変数 innodb_monitor_disable
    スコプ グロバル
    動的 はい
    文字列

    INFORMATION_SCHEMA。INNODB_METRICSテブルで1以上のカウンタをオフにします。使用法にいては,セクション21.29.19 " information_schema innodb_metricsテブル"を参照してください。

  • innodb_monitor_enable

    コマンド行形式 ——innodb-monitor-enable =(计数器模块| | |模式所有)
    導入 5.6.2
    システム変数 innodb_monitor_enable
    スコプ グロバル
    動的 はい
    文字列

    INFORMATION_SCHEMA。INNODB_METRICSテブルで1以上のカウンタをオンにします。使用法にいては,セクション21.29.19 " information_schema innodb_metricsテブル"を参照してください。

  • innodb_monitor_reset

    コマンド行形式 ——innodb-monitor-reset =(计数器模块| | |模式所有)
    導入 5.6.2
    システム変数 innodb_monitor_reset
    スコプ グロバル
    動的 はい
    文字列

    INFORMATION_SCHEMA。INNODB_METRICSテブルで1以上のカウンタに対応するカウント値をゼロにリセットします。使用法にいては,セクション21.29.19 " information_schema innodb_metricsテブル"を参照してください。

  • innodb_monitor_reset_all

    コマンド行形式 ——innodb-monitor-reset-all =(计数器模块| | |模式所有)
    導入 5.6.2
    システム変数 innodb_monitor_reset_all
    スコプ グロバル
    動的 はい
    文字列

    INFORMATION_SCHEMA。INNODB_METRICSテブルで1以上のカウンタに対応するすべての値(最小,最大など)をリセットします。使用法にいては,セクション21.29.19 " information_schema innodb_metricsテブル"を参照してください。

  • innodb_old_blocks_pct

    コマンド行形式 ——innodb-old-blocks-pct = #
    システム変数 innodb_old_blocks_pct
    スコプ グロバル
    動的 はい
    数値
    デフォルト 37
    最小値 5
    最大値 95

    古いブロックサブリストで使用されるInnoDBバッファプルの概算割合を指定します。値の範囲は 5 から 95 です。デフォルト値は 37 (つまり、プールの 3/8 ) です。多くの場合、innodb_old_blocks_timeと組み合わせて使用されます。詳細は,セクション14.13.1.3 "バッファプルをスキャンに耐えられるようにする"を参照してください。LRUアルゴリズムやエビクションポリシなどのバッファプル管理にセクション8.9.1 " InnoDBバッファプル"を参照してください。

  • innodb_old_blocks_time

    コマンド行形式 ——innodb-old-blocks-time = #
    システム変数 innodb_old_blocks_time
    スコプ グロバル
    動的 はい
    数値
    デフォルト(≥5.6.6) 1000
    デフォルト(≤5.6.5) 0
    最小値 0
    最大値 2 * * 32-1

    ゼロ以外の値にすると,バッファプルテブルの完全スキャン時などの短期間でのみ参照されるデタでいっぱいになることから保護されます。この値を大きくすると,テーブルの完全スキャンがバッファープール内にキャッシュされたデータとやりとりすることからさらに保護されます。

    最初のアクセス後に,古いサブリストに挿入されるブロックが新しいサブリストに移動するまでに,そこに滞在する必要のある期間をミリ秒(ms)単位で指定します。値を0にすると,古いサブリストに挿入されたブロックは、挿入後にどのくらいの期間でアクセスが発生するのかには関係なく、最初のアクセスの直後に新しいサブリストに移動します。この値が 0 より大きい場合、ブロックは最初のアクセス後、少なくともそのミリ秒でアクセスが発生するまで、古いサブリストに残ります。たとえば、1000 の値では、ブロックは最初のアクセス後、それらが新しいサブリストに移動される資格を得るまで、1 秒間古いサブリストにとどまります。

    デフォルト値は,MySQL 5.6.6の時点では1000,それよりも前では0です。

    多くの場合,この変数はinnodb_old_blocks_pctと組み合わせて使用されます。詳細は,セクション14.13.1.3 "バッファプルをスキャンに耐えられるようにする"を参照してください。LRUアルゴリズムやエビクションポリシなどのバッファプル管理にセクション8.9.1 " InnoDBバッファプル"を参照してください。

  • innodb_online_alter_log_max_size

    コマンド行形式 ——innodb-online-alter-log-max-size = #
    導入 5.6.6
    システム変数 innodb_online_alter_log_max_size
    スコプ グロバル
    動的 はい
    数値
    デフォルト 134217728
    最小値 65536
    最大値 2 * * 64 - 1

    InnoDBテブルに対するオンラ帐号帐号ンDDL操作時に使用される一時ログファ邮箱ルのサ邮箱ズに上限を指定します。作成される1。このログファopenstackルには,ddl操作時にテopenstackブルで挿入,更新,または削除されたデopenstackタが格納されます。一時ログファルは,innodb_sort_buffer_sizeの値で必要になったときに,最大でinnodb_online_alter_log_max_sizeで指定された最大値まで拡張されます。一時ログファ邮箱ルがサ邮箱ズの上限を超えた場合は,ALTER TABLE操作に失敗し,コミットされていない並列DML操作がすべてロルバックされます。したがって,このオプションの値を大きくすると、オンライン DDL 操作時に実行できる DML 数は多くなりますが、ログからデータを適用するためにテーブルがロックされると、DDL 操作の終了時の期間も長くなります。

  • innodb_open_files

    コマンド行形式 ——innodb-open-files = #
    システム変数 innodb_open_files
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト(≥5.6.6) 1 (autosized)
    デフォルト(≤5.6.5) 300
    最小値 10
    最大値 4294967295

    この変数は,複数のInnoDBテブルスペスを使用する場合にのみ関連します。MySQLで一度に開いたままにできる.ibdファ邮箱ルの最大数が指定されます。最小値は10です。MySQL5.6.6の時点では、innodb_file_per_tableが無効になっている場合のデフォルト値は300です。それ以外の場合は,300よりも大きい値およびtable_open_cacheです. 5.6.6よりも前のデフォルト値は300です。

    .ibdファ邮箱ルで使用されるファ邮箱ルディスクリプタは,InnoDBテブルでのみ使用されます。それらは,——open-files-limitサーバーオプションによって指定されたものからは独立していて,テーブルキャッシュの操作に影響を与えません。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_optimize_fulltext_only

    コマンド行形式 ——innodb-optimize-fulltext-only = #
    導入 5.6.4
    システム変数 innodb_optimize_fulltext_only
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    InnoDBテブルでの优化表ステトメントの動作方法を変更します。全文ンデックスを含むInnoDBテブルのメンテナンス操作時に,一時的に有効にするために使用されます。

    デフォルトでは,优化表はテブルのクラスタ化された邮箱ンデックス内のデタを再構成します。このオプションを有効にすると,优化表はこのようなテブルデタの再構成をスキップし,その代わりに全文ンデックス用に新たに追加,削除,および更新されたト,クンデ,タを処理します。InnoDBテブルの全文帐号ンデックスに帐号いての詳細は,セクション14.2.13.3 " fulltext 10.1ンデックス"を参照してください。

  • innodb_page_size

    コマンド行形式 ——innodb-page-size = # k
    導入 5.6.4
    システム変数 innodb_page_size
    スコプ グロバル
    動的 いいえ
    列挙
    デフォルト 16384
    有効な値

    4 k

    8 k

    16 k

    4096

    8192

    16384

    MySQLンスタンス内のすべてのInnoDBテブルスペスペジサを指定します。この値は,ンスタンスが作成されたあとに,定数が残っている場合に設定されます。ペジサズは,値16 k(デフォルト),8 k,または4 kを使用して指定できます。また,バイト単位 (4096、8192、16384) でページサイズを指定することもできます。

    最大のペジサズでは,デフォルトが広範囲のワクロド(特に,テブルスキャンを伴うクエリや一括更新を伴うDML操作)に適しています。ペジサズが小さいほど,多くの小規模な書き込みを伴うOLTPワクロドの効率性が高くなる可能性があります。その一方で,単一のペ,ジに数多くの行が含まれる場合は,競合の問題が発生する可能性もあります。ペジを小さくすると,一般に小さなブロックサズが使用される固态硬盘ストレジデバ。InnoDBのページサイズをストレージデバイスのブロックサイズに近づけると,ディスクに再度書き込まれる未変更データの量が最小限になります。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_print_all_deadlocks

    コマンド行形式 ——innodb-print-all-deadlocks = #
    導入 5.6.2
    システム変数 innodb_print_all_deadlocks
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    このオプションを有効にすると,mysqldエラログに,InnoDBのユザトランザクション内のすべてのデッドロックに関する情報が記録されます。それ以外の場合は,显示引擎innodb状态コマンドを使用すると,最後のデッドロックに関する情報のみが表示されます。不定期に発生するInnoDBのデッドロックは,InnoDBによってすぐに状況が検出され,自動的にトランザクションのいずれかがロールバックされるため,必ずしも問題になるとは限りません。アプリケーションにロールバックを検出し,その操作を再試行するための適切なエラー処理ロジックが存在しない場合は,デッドロックが発生する原因についてトラブルシューティングを行う際に,このオプションを使用するとよいでしょう。多数のデッドロックが発生する場合は,各トランザクションが同じ順序でテーブルにアクセスするように(これにより,デッドロックの状況が回避されます),複数のテーブルに対してDMLまたは选择……更新ステトメントを発行するトランザクションを再構築する必要があることを示している可能性があります。

  • innodb_purge_batch_size

    コマンド行形式 ——innodb-purge-batch-size = #
    システム変数 innodb_purge_batch_size
    スコプ グロバル
    動的 はい
    数値
    デフォルト(≥5.6.3) 300
    デフォルト(≤5.6.2) 20.
    最小値 1
    最大値 5000

    重做ログレコドの単位で表現される変更の粒度です。これにより,パジ操作がトリガされ,変更されたバッファプルブロックがディスクにフラッシュされます。このオプションは,innodb_purge_threads =n設定と組み合わせてパフォーマンスを調整するために使用されるため,一般的なユーザーは変更する必要がありません。

  • innodb_purge_threads

    コマンド行形式 ——innodb-purge-threads = #
    システム変数 innodb_purge_threads
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト(≥5.6.5) 1
    デフォルト(≤5.6.4) 0
    最小値(≥5.6.5) 1
    最小値(≤5.6.4) 0
    最大値(≥5.6.2) 32
    最大値(≤5.6.1) 1

    InnoDBのパジ操作専用のバックグラウンドスレッドの数です。MySQL5.6.5での新しいデフォルトの最小値である 1 は、パージ操作がマスタスレッドの一部としてではなく,常にバックグラウンドスレッドで実行されることを表します。ゼロ以外の値にすると,1つ以上のバックグラウンドスレッドでパージ操作が実行されるため、InnoDB 内の内部競合を削減でき、拡張性が改善されます。この値を 1 よりも大きくすると、数多くの個別のパージスレッドが作成されるため、複数のテーブル上でDML操作が実行されるシステムの効率性を改善できます。最大値は32です。

  • innodb_random_read_ahead

    コマンド行形式 ——innodb-random-read-ahead = #
    導入 5.6.3
    システム変数 innodb_random_read_ahead
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    InnoDBのI/Oを最適化するために,ランダムな先読み技術を有効にします。ランダム先読み機能は,InnoDB插件(バジョン1.0.4)から削除されたため,InnoDB插件InnoDB組み込みのバジョンになった時点ではMySQL 5.5.0に含まれていませんでした。ランダム先読みは,innodb_random_read_ahead構成オプション(デフォルトでは無効になっています)とともに,MySQL 5.1.59および5.5.16以降でふたたび導入されました。

    さまざまなタプの先読みリクエストに関するパフォセクション14.13.1.1 " InnoDBバッファプルのプリフェッチ(先読み)の構成"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_read_ahead_threshold

    コマンド行形式 ——innodb-read-ahead-threshold = #
    システム変数 innodb_read_ahead_threshold
    スコプ グロバル
    動的 はい
    数値
    デフォルト 56
    最小値 0
    最大値 64

    バッファプルにペジをプリフェッチする際にInnoDBで使用される線形の先読みの感度を制御します。InnoDBが少なくともinnodb_read_ahead_thresholdペジをエクステント(64ペジ)から連続して読み取る場合は,次のエクステント全体の非同期読み取りが開始されます。許可される値の範囲は0から64までです。MySQL5.6.1の時点では、値を 0 にすると先読みが無効になります。5.6.1 よりも前では、値を 0 にすると、64 ページのエクステントの境界ページを読み取るときに、先読みがトリガーされました。デフォルトの 56 では、InnoDBは次のエクステント全体の非同期読み取りを開始するために,少なくとも56ページをエクステントから連続して読み取る必要があります。

    この先読みメカニズムによって読み取られるページ数,およびその中でアクセスされずにバッファープールから削除される数を把握しておくと,innodb_read_ahead_thresholdパラメタを微調整する際に役立ます。MySQL 5.5の時点では,显示引擎innodb状态の出力に,Innodb_buffer_pool_read_aheadおよびInnodb_buffer_pool_read_ahead_evictedグロバルステタス変数からのカウンタ情報が表示されます。これらの変数は,先読みリクエストによってバッファプルに格納されるペジの数,およびこのようなペジの中で,個別にアクセスされずにバッファルからエビクションされる数を示します。これらのカウンタには、最後にサーバーが再起動された以降のグローバルな値が表示されます。

    显示引擎innodb状态には,先読みページが読み取られる比率,およびこのようなページがアクセスされずに削除される比率も表示されます。1秒ごとの平均値は,最後に显示引擎innodb状态が呼び出された以降に収集された統計に基づいて計算され,出力の缓冲池和内存セクションに表示されます。

    詳細は,セクション14.13.1.1 " InnoDBバッファプルのプリフェッチ(先読み)の構成"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

  • innodb_read_io_threads

    コマンド行形式 ——innodb-read-io-threads = #
    システム変数 innodb_read_io_threads
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 4
    最小値 1
    最大値 64

    InnoDBでの読み取り操作で使用されるI/Oスレッドの数です。デフォルト値は4です。書き込みスレッドで対応するものは,innodb_write_io_threadsです。詳細は,セクション14.13.6 " InnoDBバックグラウンドI/Oスレッドの数の構成"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

    注記

    Linuxシステムでは,デフォルトのinnodb_read_io_threads設定で複数(一般には12台よりも多く)のMySQLサバを実行すると,innodb_write_io_threadsおよびLinuxのaio-max-nr設定がシステムの制限を超過する可能性があります。理想的にはaio-max-nr設定を大きくします。回避策として,MySQL構成オプションの一方または両方の設定を小さくするとよいでしょう。

  • innodb_read_only

    コマンド行形式 ——innodb-read-only = #
    導入 5.6.7
    システム変数 innodb_read_only
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    サバを読み取り専用モドで起動します。読み取り専用メディア上のデータベースアプリケーションまたはデータセットを配布するために使用されます。複数のインスタンス間で同じデータディレクトリを共有する際に,データウェアハウスで使用することもできます。使用手順にいては,セクション14.3.1 "読み取り専用操作用のInnoDBの構成"を参照してください。

  • innodb_replication_delay

    コマンド行形式 ——innodb-replication-delay = #
    システム変数 innodb_replication_delay
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0
    最小値 0
    最大値 4294967295

    innodb_thread_concurrencyに達した場合のスレブサバ上のレプリケションスレッドの遅延(ミリ秒単位)です。

  • innodb_rollback_on_timeout

    コマンド行形式 ——innodb-rollback-on-timeout
    システム変数 innodb_rollback_on_timeout
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    MySQL 5.6では;InnoDBはデフォルトで、トランザクションタロルバックします。——innodb_rollback_on_timeoutを指定すると,トランザクションタInnoDBはトランザクション全体を中止してロルバックします(MySQL 4.1と同じ動作です)。

  • innodb_rollback_segments

    コマンド行形式 ——innodb-rollback-segments = #
    導入 5.6.2
    システム変数 innodb_rollback_segments
    スコプ グロバル
    動的 はい
    数値
    デフォルト 128
    最小値 1
    最大値 128

    トランザクション内でInnoDBが使用するシステムテブルスペスにあるロルバックセグメントの数を定義します。この設定は引き続き有効ですが,innodb_undo_logsで置き換えられます。

  • innodb_sort_buffer_size

    コマンド行形式 ——innodb-sort-buffer-size = #
    導入 5.6.4
    システム変数 innodb_sort_buffer_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 1048576
    最小値(≥5.6.5) 65536
    最小値(5.6.4) 524288
    最大値 67108864

    InnoDBeconfンデックスの作成時に,デ。指定されたサイズでは,内部ソート用にメモリーに入力され,ディスクに書き込まれたデータの量が定義されます。これは,実行と呼ばれることもあります。マジフェズ時に,指定されたサ読み取られ,マジされます。設定を大きくするほど,実行数およびマジ数が少なくなります。このことは,チュニングの観点から理解する際に重要です。

    このソート領域は,後続のインデックスのメンテナンス操作時ではなく,インデックスの作成時のマージソートでのみ使用されます。e .ンデックスの作成が完了すると,バッファ.の割り当てが解除されます。

    このオプションの値では,オンラ帐号帐号ンDDLの操作時に並列DMLを記録するために,一時ログファereplicationルが拡張される量も制御されます。

    この設定が構成可能になる前は,サイズが1048576バイト(1米バイト)にハードコーディングされていました。その値は,現在もデフォルトのままです。

    ンデックスを作成するALTER TABLEまたは创建表ステートメントの実行時に,それぞれが,このオプションで定義されたサイズを持つ3つのバッファーが割り当てられます。さらに,ポインタ上でソートを実行できるように,ソートバッファー内の行に補助ポインタが割り当てられます(これは,ソート操作時の行の移動とは異なります)。

    一般的なソト操作では,次のような公式を使用して,メモリの消費を見積もることができます。

    (6 /*FTS_NUM_AUX_INDEX*/ * (3*@@GLOBAL.innodb_sort_buffer_size) + 2 * (@@GLOBAL.innodb_sort_buffer_size/dict_index_get_min_size(index)*/) * 8 /*64位sizeof *buf->tuples*/")

    @@GLOBAL.innodb_sort_buffer_size / dict_index_get_min_size(指数)は,保持される最大のタプル数を示します。2 * (@@GLOBAL.innodb_sort_buffer_size/*dict_index_get_min_size(index)*/) * 8 /*64位的*buf->元组*/は、割り当てられた補助ポ以及ンタ数を示します

    注記

    32ビットの場合は,8の代わりに4で乗算します。

    全文邮箱ンデックスでの並列ソ邮箱トでは,innodb_ft_sort_pll_degreeの設定で乗算します。

    (6 /*FTS_NUM_AUX_INDEX*/ @@GLOBAL.innodb_ft_sort_pll_degree)
  • innodb_spin_wait_delay

    コマンド行形式 ——innodb-spin-wait-delay = #
    システム変数 innodb_spin_wait_delay
    スコプ グロバル
    動的 はい
    数値
    デフォルト 6
    最小値 0
    最大値 4294967295

    スピンロックでのポリング間の最大遅延です。このメカニズムの低レベルの実装は,ハードウェアとオペレーティングシステムの組み合わせによって異なるため,遅延は一定の時間間隔に対応しません。デフォルト値は6です。詳細は,セクション14.13.10 "スピンロックのポリングの構成"を参照してください。

  • innodb_stats_auto_recalc

    コマンド行形式 ——innodb-stats-auto-recalc = #
    導入 5.6.6
    システム変数 innodb_stats_auto_recalc
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    テブル内のデタが大幅に変更されたあとは,InnoDBによって自動的に永続的統計が再計算されます。現在のしきい値は,テブル内の行の10%です。この設定は,innodb_stats_persistentオプションが有効になっている場合や,创建表またはALTER TABLEステトメントでSTATS_PERSISTENT = 1句が有効になっている場合に,作成されたテブルに適用されます。統計を生成するためにサンプルとして取得されるデタの量は,innodb_stats_persistent_sample_pages構成オプションで制御されます。

    innodb_stats_auto_recalcに関する追加情報にいては,セクション14.13.16.1 "永続的オプティマザ統計のパラメタの構成"を参照してください。

  • innodb_stats_method

    コマンド行形式 ——innodb-stats-method =名字
    導入 5.6.2
    システム変数 innodb_stats_method
    スコプ グロバル
    動的 はい
    列挙
    デフォルト nulls_equal
    有効な値

    nulls_equal

    nulls_unequal

    nulls_ignored

    InnoDBテブルの統計を収集するときに,サバが値を処理する方法です。この変数は,nulls_equalnulls_unequal,およびnulls_ignoredの3の値を指定できます。nulls_equalの場合,すべてのンデックス値を同等として扱い,値の数とサ邮箱ズが同等の単一値グル邮箱プを生成します。nulls_unequalの場合,値同士を同等として扱わず,それぞれのはサ管理员ズが1の別個のグル管理员プを生成します。nulls_ignoredの場合,値は無視されます。

    テブル統計を生成するために使用する方法は,セクション8.3.7 " InnoDBおよびMyISAM ereplicationンデックス統計コレクション"に記載されているように,オプティマイザがクエリー実行のためのインデックスを選択する方法に影響を与えます。

  • innodb_stats_on_metadata

    コマンド行形式 ——innodb-stats-on-metadata
    システム変数 innodb_stats_on_metadata
    スコプ グロバル
    動的 はい
    ブル
    デフォルト(≥5.6.6)
    デフォルト(≤5.6.5)

    この変数を有効にすると,显示表状态显示指数などのメタデタステトメントが実行されるときや,INFORMATION_SCHEMAテブルまたは统计数据にアクセスするときに,InnoDBによって統計が更新されます。(これらの更新は、分析表で実行されるものに似ています.)無効にすると,これらの操作時にInnoDBによって統計が更新されません。この設定を無効のままにすると,多数のテーブルまたはインデックスを持つスキーマのアクセス速度を改善できます。InnoDBテブルが関与するクエリの実行計画の安定性も改善できます。

    設定を変更するには,SET GLOBAL innodb_stats_on_metadata=模式ステトメントを発行します。ここで,模式のいずれか(または.10のいずれか)です。この設定を変更するには,超级権限が必要です。変更すると,すべての接続の操作がすぐに影響を受けます。

    MySQL 5.6.6の時点では,この変数はデフォルトで無効になっています。それよりも前では,有効になっています。

  • innodb_stats_persistent

    コマンド行形式 ——innodb-stats-persistent =设置
    導入 5.6.6
    システム変数 innodb_stats_persistent
    スコプ グロバル
    動的 はい
    ブル
    デフォルト
    有効な値

    0

    1

    InnoDBンデックスの統計がディスクに保持されるかどうかを指定します。それ以外の場合は,頻繁に統計が再計算される可能性があります。これにより,クエリの実行計画が変化する可能性があります。テブルが作成されると、この設定が各テーブルとともに格納されます。テーブルを作成する前にグローバルレベルでinnodb_stats_persistentを設定することも,创建表およびALTER TABLEステトメントでSTATS_PERSISTENT句を使用して,システム全体の設定をオーバーライドし,個々のテーブルの永続的統計を構成することもできます。

    このオプションにいての詳細は,セクション14.13.16.1 "永続的オプティマザ統計のパラメタの構成"を参照してください。

  • innodb_stats_persistent_sample_pages

    コマンド行形式 ——innodb-stats-persistent-sample-pages = #
    導入 5.6.2
    システム変数 innodb_stats_persistent_sample_pages
    スコプ グロバル
    動的 はい
    数値
    デフォルト 20.

    ンデックス付きカラムのカカディナリティやその他の統計分析表で計算された統計など)を見積もるときに,サンプルとして取得される电子书ンデックスペジの数です。値を大きくすると、クエリの実行計画を改善するンデックス統計の精度が改善されますが,InnoDBテブルに対する分析表の実行時にI/Oが増加することになります。追加情報にいては,セクション14.13.16.1 "永続的オプティマザ統計のパラメタの構成"を参照してください。

    注記

    innodb_stats_persistent_sample_pagesに大きな値を設定すると,分析表の実行時間が長くなる可能性があります。アクセスされるデタベスペジの数を見積もる方法にセクション14.13.17”InnoDBテーブルに対する分析表の複雑さの推定”を参照してください。

    このオプションは,テブルでinnodb_stats_persistent設定がオンになっている場合にのみ適用されます。このオプションがテブルでオフになっている場合は,代わりにinnodb_stats_transient_sample_pages設定が適用されます。

  • innodb_stats_sample_pages

    コマンド行形式 ——innodb-stats-sample-pages = #
    非推奨 5.6.3
    システム変数 innodb_stats_sample_pages
    スコプ グロバル
    動的 はい
    数値
    デフォルト 8
    最小値 1
    最大値 2 * * 64 - 1

    非推奨です。代わりにinnodb_stats_transient_sample_pagesを使用してください。

  • innodb_stats_transient_sample_pages

    コマンド行形式 ——innodb-stats-transient-sample-pages = #
    導入 5.6.2
    システム変数 innodb_stats_transient_sample_pages
    スコプ グロバル
    動的 はい
    数値
    デフォルト 8

    ンデックス付きカラムのカカディナリティやその他の統計分析表で計算された統計など)を見積もるときに,サンプルとして取得される电子书ンデックスペジの数です。デフォルト値は8です。値を大きくすると、インデックス統計の精度が改善されます。これにより、クエリの実行計画を改善できますが,InnoDBテブルを開くときや統計を再計算するときにI/Oが増加するという犠牲が伴います.输出说明追加情報にいてはセクション14.13.16.2 "非永続的オプティマザ統計のパラメタの構成"を参照してください。

    注記

    innodb_stats_transient_sample_pagesに大きな値を設定すると,分析表の実行時間が長くなる可能性があります。アクセスされるデタベスペジの数を見積もる方法にセクション14.13.17”InnoDBテーブルに対する分析表の複雑さの推定”を参照してください。

    このオプションは,テブルでinnodb_stats_persistent設定がオフになっている場合にのみ適用されます。このオプションがテブルでオンになっている場合は,代わりにinnodb_stats_persistent_sample_pages設定が適用されます。innodb_stats_sample_pagesオプションの場所を取得します。

  • innodb_status_output

    コマンド行形式 ——innodb-status-output
    導入 5.6.16
    システム変数 innodb_status_output
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    標準InnoDB监控の定期的な出力を有効または無効にする際に使用されます。また,InnoDB锁监控器の定期的な出力を有効または無効にする際に,innodb_status_output_locksと組み合わせて使用されます。追加情報にいては,セクション14.15 " InnoDBモニタ"を参照してください。

  • innodb_status_output_locks

    コマンド行形式 ——innodb-status-output-locks
    導入 5.6.16
    システム変数 innodb_status_output_locks
    スコプ グロバル
    動的 はい
    ブル
    デフォルト

    InnoDB锁定监视器の定期的な出力を有効または無効にする際に使用されます。innodb_status_outputと組み合わせて使用する必要があります。追加情報にいては,セクション14.15 " InnoDBモニタ"を参照してください。

  • innodb_strict_mode

    コマンド行形式 ——innodb-strict-mode = #
    システム変数 innodb_strict_mode
    スコプ グロバル,セッション
    動的 はい
    ブル
    デフォルト

    innodb_strict_modeにすると,InnoDBは特定の条件に対応した警告ではなく,エラを返します。デフォルト値はです。

    厳密モドは、SQL内の無視できる誤字や構文エラー,または操作モードとSQLステートメントのさまざまな組み合わせによる意図しないその他の結果から保護する際に役立ちます。innodb_strict_modeにすると,InnoDBは警告を発行して,指定されたステートメントを処理する(意図しない動作が伴う可能性があります)のではなく,特定のケースでエラー状況が発生します。これは,米ySQL で受け入れられる SQL 構文を制御し、警告なしでエラーを無視するのか、入力構文とデータ値を検証するのかを決定する MySQL のsql_modeと類似しています。

    innodb_strict_modeの設定によって,创建表ALTER TABLE,および创建索引ステトメントの構文エラ処理が影響を受けます。innodb_strict_modeでは,選択したペ,ジサ,ズに対してレコ,插入または更新が失敗しないように,レコズのチェックも有効になります。

    オラクルでは,创建表ALTER TABLE,および创建索引ステトメントでROW_FORMATおよびKEY_BLOCK_SIZE句を使用する際に,innodb_strict_modeを有効にすることが推奨されています。innodb_strict_modeにすると,InnoDBは競合する句を無視し,テンデックスを作成し,メッセ。結果として生成されるテーブルでは,圧縮されたテーブルを作成しようとしても圧縮されないなど,意図したものとは異なる動作が発生する可能性があります。innodb_strict_modeにすると,このような問題が発生するとすぐにエラーが生成され,テーブルまたはインデックスは作成されないため,後続のトラブルシューティングセッションが回避されます。

    mysqldの起動時にコマンド行で,またはmy.cnfまたはmy.ini構成ファ邮箱ルで,innodb_strict_modeを切り替えることができます。SET [GLOBAL|SESSION] innodb_strict_mode=模式ステトメントを使用すれば,実行時にinnodb_strict_modeを有効または無効にすることもできます。ここで,模式のいずれかです。全球値を変更するには,超级権限が必要です。これを変更すると、それ以降に接続するすべてのクラ以及アントの操作が影響を受けます。任意のクラ邮箱アントがinnodb_strict_mode会话設定を変更でき、そのクラ以及アントのみが設定の影響を受けます。

  • innodb_support_xa

    コマンド行形式 ——innodb-support-xa
    システム変数 innodb_support_xa
    スコプ グロバル,セッション
    動的 はい
    ブル
    デフォルト 真正的

    XAトランザクションの2相コミットでInnoDBのサポトを有効にします。これにより,トランザクションの準備時に追加のディスクフラッシュが発生します。この設定はデフォルトです。XA メカニズムは内部で使用されるため、バイナリログがオンになっていて、複数のスレッドからのデータの変更が許可されている任意のサーバーで重要となります。オフにすると、ライブデータベースがコミットするときとは異なる順序で、トランザクションがバイナリログに書き込まれる可能性があります。これにより、ディザスタリカバリ時やレプリケーションスレーブでバイナリログが再現されるときに、異なるデータが生成される可能性があります。1 つのスレッドしかデータを変更できない例外的な設定を使用している場合を除いて、レプリケーションマスターサーバーではオフにしないでください。

    1 .のスレッドからのデタ変更のみが許可されているサバでは,InnoDBテーブルのパフォーマンスを改善するために,このオプションをオフにすることが安全であり,推奨されています。たとえば,レプリケションSQL スレッドのみがデータを変更するレプリケーションスレーブでは、オフにすることができます。

    また,安全なバイナリロギングまたはレプリケーションで必要でなく,外部のXAトランザクションマネージャーを使用しない場合でも,このオプションをオフにすることができます。

  • innodb_sync_array_size

    コマンド行形式 ——innodb-sync-array-size = #
    導入 5.6.3
    システム変数 innodb_sync_array_size
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 1
    最小値 1
    最大値 1024

    大量の待機中スレッドを含むワークロードの並列性を高くするために,スレッドの調整に使用される内部データ構造を分割します。この設定はMySQL MySQL目录ンスタンスの起動時に構成する必要があり,あとで変更することはできません。大量の(一般に 768 を超える) 待機中スレッドが頻繁に生成されるワークロードでは、このオプション値を大きくすることをお勧めします。

  • innodb_sync_spin_loops

    コマンド行形式 ——innodb-sync-spin-loops = #
    システム変数 innodb_sync_spin_loops
    スコプ グロバル
    動的 はい
    数値
    デフォルト 30.
    最小値 0
    最大値 4294967295

    スレッドが中断される前に,InnoDB相互排他ロックが開放されるまでスレッドが待機する回数です。デフォルト値は30です。

  • innodb_table_locks

    コマンド行形式 ——innodb-table-locks
    システム変数 innodb_table_locks
    スコプ グロバル,セッション
    動的 はい
    ブル
    デフォルト 真正的

    自动提交= 0の場合,InnoDB锁表の要求を受け入れます。MySQLはすべてのスレッドがテブルに対するすべてのロックを解放するまで、锁表…写から戻りません。innodb_table_locksのデフォルト値は1です。これは,自动提交= 0.の場合,锁表によってInnoDBがテブルを内部的にロックすることを意味します。

    MySQL 5.6では;锁表…写を使用して明示的にロックされたテブルには,Innodb_table_locks = 0が無効です。锁表…写で暗黙的に(たとえば,トリガを使用して),または锁表…读によって,読み取りまたは書き込み用にロックされたテブルには有効です。

  • innodb_thread_concurrency

    コマンド行形式 ——innodb-thread-concurrency = #
    システム変数 innodb_thread_concurrency
    スコプ グロバル
    動的 はい
    数値
    デフォルト 0
    最小値 0
    最大値 1000

    InnoDBは,この変数で指定された制限以下の数のオペレティングシステムスレッドを同時にInnoDB内部に保持しようと試みます(InnoDBでは,ユザトランザクションを処理する際にオペレティングシステムのスレッドが使用されます)。スレッド数がこの制限に達すると,それ以降のスレッドは実行されるまで,先入れ先出し(fifo)キュ内で待機状態になります。ロックを待機しているスレッドは,並列実行中のスレッドの数にカウントされません。

    この変数の範囲は0から1000までです。値0(デフォルト)は,無制限の並列性 (並列性チェックなし) と解釈されます。スレッドの並列性チェックを無効にすると、InnoDBは必要な数だけのスレッドを作成できます。値を0にすると,InnoDB内部のクエリおよび显示引擎innodb状态出力の行操作セクションにあるキュキュカウンタ内のクエリも無効になります。

    MySQLインスタンスとその他のアプリケーションでCPUリソースを共有している場合や,ワークロードまたは並列ユーザー数が増加している場合は,この変数を設定することを検討してください。適切な設定は,ワークロード,コンピューティング環境,および実行中のMySQLのバージョンによって異なります。最適なパフォマンスを実現する設定を決定するには,広範囲の値をテストする必要があります。innodb_thread_concurrencyは動的な変数であるため,これを使用すれば,ライブテストシステムでさまざまな設定を試みることができます。特定の設定でパフォマンスが低下した場合は,すぐにinnodb_thread_concurrencyを0に戻してください。

    次のガ。

    • ワクロドに対する並列ユザスレッドの数が64よりも少ない場合は,innodb_thread_concurrency = 0を設定します。

    • ワクロドの負荷が常に高い場合や,ときどき急上昇する場合は,初めにinnodb_thread_concurrency = 128を設定してから,最適なパフォーマンスが実現されるスレッド数が見つかるまで,値を96、80、64と小さくしてください。たとえば,システムに通常は 40 - 50 のユーザーが存在しますが、定期的にその数が 60、70、さらには 200 まで上昇すると仮定します。パフォーマンスは、並列ユーザーが 80 のときは安定していますが、この数を上回ると低下が見られ始めます。この場合、パフォーマンスへの影響を回避するには、innodb_thread_concurrency = 80を設定します。

    • InnoDBでユーザースレッド用に特定の数を上回る个vCPU(たとえば,20個の个vCPU)が使用されないようにする場合は,innodb_thread_concurrencyをその数(またはパフォマンスの結果によっては,さらに小さい数)に設定します。MySQLをその他のアプリケションから分離することが目的である場合は,排他的にmysqldプロセスをvCPUにバvcenterンドすることを検討してみてください。ただし,mysqldプロセスの負荷が常に高いわけではない場合は,排他的なバインドによって最適なハードウェアの使用が実現されない可能性があります。この場合,mysqldプロセスを个vCPUにバインドしても,その他のアプリケーションも个vCPUの一部または全部を使用できます。

      注記

      オペレティングシステムの観点から見ると,mysqldプロセスをバインドするよりも,リソース管理ソリューションを使用して(使用可能な場合),アプリケーション間でCPU時間を共有する方法を管理する方が適切な場合があります。たとえば,その他のクリティカルなプロセスが実行されていない場合は,个vCPU時間の90%を特定のアプリケーションに割り当て,その他のクリティカルなプロセスが実行されている場合は,その値を40%に戻します。

    • innodb_thread_concurrencyの値が大きすぎると,システム内部およびリソース上の競合が増加するため,パフォーマンスが低下する可能性があります。

    • 場合によっては,最適なinnodb_thread_concurrencyがvCPUの数よりも小さくなる可能性もあります。

    • 定期的にシステムをモニタし,分析してください。ワクロド、ユーザー数、またはコンピューティング環境を変更するために、innodb_thread_concurrency設定の調整が必要なことがあります。

    関連情報にいては,セクション14.13.5 " InnoDBのスレッド並列性の構成"を参照してください。

  • innodb_thread_sleep_delay

    コマンド行形式 ——innodb-thread-sleep-delay = #
    システム変数 innodb_thread_sleep_delay
    スコプ グロバル
    動的 はい
    数値
    デフォルト 10000
    最小値 0
    最大値(64ビットプラットフォム,≤5.6.16) 18446744073709551615
    最大値(32ビットプラットフォム,≤5.6.16) 4294967295
    最大値(≥5.6.17) 1000000

    InnoDBキュに参加するまでに,InnoDBスレッドがスリプ状態になる期間(マクロ秒単位)です。デフォルト値は10000です。0の値はスリプを無効にします。MySQL5.6.3以降では、構成オプションinnodb_adaptive_max_sleep_delayinnodb_thread_sleep_delayで許可される最大の値に設定でき,InnoDBによって自動的に,現在のスレッドスケジューリングアクティビティーに応じてinnodb_thread_sleep_delayが上下に調整されます。この動的な調整は,システムにかかる負荷が軽い期間や,システムがほぼ容量いっぱいで動作している期間に,スレッドスケジューリングメカニズムがスムーズに機能するのに役立ちます。

    詳細は,セクション14.13.5 " InnoDBのスレッド並列性の構成"を参照してください。

  • innodb_undo_directory

    コマンド行形式 ——innodb-undo-directory = dir_name
    導入 5.6.3
    システム変数 innodb_undo_directory
    スコプ グロバル
    動的 いいえ
    ディレクトリ名
    デフォルト

    InnoDBがUndoログ用に個別のテブルスペスを作成するディレクトリの相対パスまたは絶対パスです。一般に,これらのログを別のストレス上に配置する際に使用されます。innodb_undo_logsおよびinnodb_undo_tablespacesと組み合わせて使用すると,システムテブルスペス外のUndoログのディスクレereplicationアウトが決定されます。デフォルト値のは,InnoDBがデフォルトでその他のログファ邮箱ルを作成するディレクトリと同じであることを表します。

  • innodb_undo_logs

    コマンド行形式 ——innodb-undo-logs = #
    導入 5.6.3
    システム変数 innodb_undo_logs
    スコプ グロバル
    動的 はい
    数値
    デフォルト 128
    最小値 0
    最大値 128

    トランザクション内でInnoDBが使用するシステムテブルスペスにあるロルバックセグメントの数を定義します。この設定は,Undoログに関連する相互排他競合が観察された場合のパフォーマンスのチューニングに適切です。innodb_rollback_segments設定から置き換えられました。アクティブな撤销ログではなく,使用可能な撤销ログの合計数にいては,Innodb_available_undo_logsステタス変数を参照してください。

    トランザクション内で使用されるロールバックセグメントの数は大きくしたり,小さくしたりできますが,システム内に物理的に存在するロールバックセグメントの数は減少しません。したがって,あとで必要でなくなるロールバックセグメントが割り当てられることを回避するために,このパラメータは小さい値から始めて徐々に大きくするとよいでしょう。innodb_undo_logsが設定されていない場合は,デフォルトの最大値が128になります。ロルバックセグメントの管理にいては,セクション14.2.12 " InnoDBマルチバジョン"を参照してください。

  • innodb_undo_tablespaces

    コマンド行形式 ——innodb-undo-tablespaces = #
    導入 5.6.3
    システム変数 innodb_undo_tablespaces
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 0
    最小値 0
    最大値 126

    ゼロ以外のinnodb_undo_logs設定を使用する場合に,Undoログが分割されるテブルスペスファ邮箱ルの数です。デフォルトでは,すべてのUndoログはシステムテブルスペスの一部であり,システムテ,ブルスペ,スには,innodb_undo_tablespacesで構成されたものに加えて,常に1のUndoテ。長時間実行されるトランザクション中に撤销ログが大きくなる可能性があるため,撤销ログを複数のテーブルスペースに分割すると,任意の1つのテーブルスペースの最大サイズが削減されます。テブルスペスファルは,innodb_undo_directoryで定義された場所に,撤销N形式の名前で作成されます。ここでNは,先頭のゼロを含む一連の連続する整数です。Undoテ。はじめてInnoDBを初期化するときは,innodb_undo_tablespacesの数を設定する必要があります。最初にデタベスを作成したときに指定したときよりも多くの数のUndoテInnoDBを再起動しようとすると,起動に失敗し,InnoDBで予期された数のUndoテブルスペスが見。

  • innodb_use_native_aio

    コマンド行形式 ——innodb-use-native-aio = #
    システム変数 innodb_use_native_aio
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    Linuxの非同期I/Oサブシステムを使用するかどうかを指定します。この変数はLinuxシステムにのみ適用され,サの実行中は変更できません。このオプションはデフォルトで有効になっているため,通常は触れる必要がありません。

    MySQL 5.5の時点では,Windowsシステム上のInnoDBに備わっている非同期I/O機能がLinuxシステムでも使用できます。(その他の Unix に似たシステムでは、引き続き同期 I/O 呼び出しが使用されます。)この機能によって、I/O 負荷の高いシステムの拡張性が改善されます。一般に、显示引擎innodb状态コマンドの出力に数多くの中断された読み取り/書き込みが表示されます。

    大量のInnoDBI / Oスレッドとともに実行すると(特に,同じサーバーマシン上で複数のこのようなインスタンスを実行すると),Linuxシステムの能力制限を超える可能性があります。この場合,次のエラを受信する可能性があります。

    EAGAIN:指定的maxevents超出了用户可用事件的限制。

    一般に,/proc/sys/fs/aio-max-nrにより大きな制限を記述すれば,このエラに対処できます。

    ただし,osの非同期I/Oサブシステムの問題によってInnoDBが起動しない場合は,innodb_use_native_aio = 0を無効にして(オプションファルで)innodb_use_native_aio = 0を使用します)、サバを起動してください。また,InnoDBtmpdirの場所,tmpfsファルシステム,およびtmpfs上でAIOがサポートされていないLinuxカーネルなどを組み合わせた潜在的な問題が検出された場合に,このオプションが起動中に自動的にオフになる可能性もあります。

  • innodb_use_sys_malloc

    コマンド行形式 ——innodb-use-sys-malloc = #
    非推奨 5.6.3
    システム変数 innodb_use_sys_malloc
    スコプ グロバル
    動的 いいえ
    ブル
    デフォルト

    InnoDBがオペレティングシステムのメモリアロケタを使用するのか()、独自のものを使用するのか(を指定します。デフォルト値はです。詳細は,セクション14.13.3 " InnoDBのためのメモリアロケタの構成"を参照してください。

    MySQL 5.6.3の時点では,innodb_use_sys_mallocは非推奨となり,今後のMySQLリリスで削除される予定です。

  • innodb_version

    InnoDBのバジョン番号です.5.6.11以降では,InnoDBごとに個別の番号付与が廃止され,この値は版本変数の番号と同じです。

  • innodb_write_io_threads

    コマンド行形式 ——innodb-write-io-threads = #
    システム変数 innodb_write_io_threads
    スコプ グロバル
    動的 いいえ
    数値
    デフォルト 4
    最小値 1
    最大値 64

    InnoDBの書き込み操作で使用されるI/Oスレッドの数です。デフォルト値は4です。読み取りスレッドで対応するものは,innodb_read_io_threadsです。詳細は,セクション14.13.6 " InnoDBバックグラウンドI/Oスレッドの数の構成"を参照してください。一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。

    注記

    Linuxシステムでは,デフォルトのinnodb_read_io_threads設定で複数(一般には12台よりも多く)のMySQLサバを実行すると,innodb_write_io_threadsおよびLinuxのaio-max-nr設定がシステムの制限を超過する可能性があります。理想的にはaio-max-nr設定を大きくします。回避策として,MySQL構成オプションの一方または両方の設定を小さくするとよいでしょう。

また、ディスクへのバ以及ナリログの同期を制御するsync_binlogの値も考慮に入れるようにしてください。

一般的なI/Oチュセクション8.5.7 " InnoDBディスクI/Oの最適化"を参照してください。