Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел описывает InnoDB
Связанные опции команды и системные переменные.
Системные переменные, которые являются истиной или ложью, могут быть включены при запуске сервера, называя их,
или отключены при использовании a --skip-
префикс. Например, чтобы включить или
отключить InnoDB
контрольные суммы, можно использовать --innodb_checksums
или --skip-innodb_checksums
на командной строке, или innodb_checksums
или skip-innodb_checksums
в
файле опции. Системные переменные, которые берут числовое значение, могут быть определены как --
на командной строке или как var_name
=value
в
файлах опции. Для получения дополнительной информации по определению опций и системных переменных, см. Раздел
4.2.3, "Определение Опций Программы". Многие из системных переменных могут быть заменены во
времени выполнения (см. Раздел 5.1.5.2, "Динамические
Системные Переменные"). var_name
=value
Определенные опции управляют расположениями и расположением InnoDB
файлы данных. Раздел
14.2.1.2, "Конфигурируя InnoDB
"объясняет, как использовать эти опции.
Много других опций, которые Вы не могли бы использовать первоначально, помогают настроиться InnoDB
показатели производительности, основанные на машинной емкости и Вашей рабочей нагрузке базы данных.
Связанные с производительностью опции объясняются в Разделе
14.2.4,"InnoDB
Настройка производительности и Поиск и устранение
неисправностей" и Раздел
14.2.4.2,"InnoDB
Производительность и Улучшения Масштабируемости".
Таблица 14.5. InnoDB
Option/VariableReference
Имя | Cmd-строка | Файл опции | Системный Var | Var состояния | Контекст Var | Динамичный |
---|---|---|---|---|---|---|
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 | Да | Оба | Да | |||
ignore-builtin-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_server_stopword_table | Да | Да | Да | Глобальная переменная | Да | |
innodb_ft_sort_pll_degree | Да | Да | Да | Глобальная переменная | Нет | |
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_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_strict_mode | Да | Да | Да | Оба | Да | |
innodb_support_xa | Да | Да | Да | Оба | Да | |
innodb_sync_array_size | Да | Да | Да | Глобальная переменная | Нет | |
innodb_sync_spin_loops | Да | Да | Да | Глобальная переменная | Да | |
innodb_table_locks | Да | Да | Да | Оба | Да | |
innodb_temp_data_file_path | Да | Да | Да | Глобальная переменная | Нет | |
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
Опции командыОсуждаемый | 5.2.22 | ||
Формат командной строки | --ignore-builtin-innodb |
||
Формат файла опции | ignore-builtin-innodb |
||
Системное Имя переменной | ignore_builtin_innodb
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
В MySQL 5.1, эта опция, вызванная сервер, чтобы вести себя, как будто встроенное InnoDB
не присутствовали, который включал InnoDB
Plugin
использоваться вместо этого. В MySQL 5.7, InnoDB
механизм
хранения значения по умолчанию и InnoDB Plugin
не используется, таким
образом, эта опция игнорируется.
Загрузка средств управления InnoDB
механизм хранения, если сервер был
скомпилирован с InnoDB
поддержка. У этой опции есть формат с тремя
состояниями с возможными значениями OFF
, ON
, или FORCE
. См. Раздел
5.1.8.1, "Устанавливая и Удаляя Плагины".
Отключить InnoDB
, использовать --innodb=OFF
или --skip-innodb
. В этом случае, потому что механизм хранения значения по
умолчанию InnoDB
, сервер
не будет запускаться, если Вы также не будете использовать --default-storage-engine
и --default-tmp-storage-engine
установить значение по умолчанию в
некоторый другой механизм и для постоянного и для TEMPORARY
таблицы.
Формат командной строки | --innodb-status-file |
||
Формат файла опции | innodb-status-file |
||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Средства управления, ли InnoDB
создает названный файл innodb_status.
в каталоге
данных MySQL. Если включено, pid
InnoDB
периодически пишет вывод SHOW ENGINE INNODB STATUS
к этому файлу.
По умолчанию файл не создается. Чтобы создать это, запустите mysqld с --innodb-status-file=1
опция. Файл удаляется во время нормального
завершения работы.
Отключите InnoDB
механизм хранения. См. описание --innodb
.
InnoDB
Системные Переменные
daemon_memcached_enable_binlog
Формат командной строки | --daemon_memcached_enable_binlog=# |
||
Формат файла опции | daemon_memcached_enable_binlog |
||
Системное Имя переменной | daemon_memcached_enable_binlog
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | false |
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
daemon_memcached_engine_lib_name
Формат командной строки | --daemon_memcached_engine_lib_name=library |
||
Формат файла опции | daemon_memcached_engine_lib_name |
||
Системное Имя переменной | daemon_memcached_engine_lib_name
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | innodb_engine.so |
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
daemon_memcached_engine_lib_path
Формат командной строки | --daemon_memcached_engine_lib_path=directory
|
||
Формат файла опции | daemon_memcached_engine_lib_path |
||
Системное Имя переменной | daemon_memcached_engine_lib_path
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
Формат командной строки | --daemon_memcached_option=options |
||
Формат файла опции | daemon_memcached_option |
||
Системное Имя переменной | daemon_memcached_option
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
Формат командной строки | --daemon_memcached_r_batch_size=# |
||
Формат файла опции | daemon_memcached_r_batch_size |
||
Системное Имя переменной | daemon_memcached_r_batch_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1 |
Определяет сколько memcached операций чтения (get
) выполнять прежде, чем сделать a COMMIT
запустить новую транзакцию. Дубликат daemon_memcached_w_batch_size
.
Это значение устанавливается в 1 по умолчанию, так, чтобы любые изменения, произведенные в таблице через SQL-операторы, были сразу видимы к memcached операциям. Вы могли бы увеличить это, чтобы уменьшить издержки от частых фиксаций на системе, где к базовой таблице только получают доступ через интерфейс memcached. Если Вы устанавливаете слишком большое значение, количество отмены или восстанавливаете данные, мог бы наложить некоторые издержки хранения, как с любой продолжительной транзакцией.
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
Формат командной строки | --daemon_memcached_w_batch_size=# |
||
Формат файла опции | daemon_memcached_w_batch_size |
||
Системное Имя переменной | daemon_memcached_w_batch_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1 |
Определяет сколько memcached операций записи, такой
как add
, set
, или incr
,
выполнять прежде, чем сделать a COMMIT
запустить новую транзакцию. Дубликат daemon_memcached_r_batch_size
.
Это значение устанавливается в 1 по умолчанию, при условии, что любые хранившие данные важны, чтобы
сохранить в случае отключения электричества и должны сразу фиксироваться. Храня некритические
данные, Вы могли бы увеличить это значение, чтобы уменьшить издержки от частых фиксаций; но тогда
последнее N
-1 незафиксированная операция записи могла быть
потеряна в случае катастрофического отказа.
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
Осуждаемый | 5.2.22 | ||
Формат командной строки | --ignore-builtin-innodb |
||
Формат файла опции | ignore-builtin-innodb |
||
Системное Имя переменной | ignore_builtin_innodb
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
См. описание --ignore-builtin-innodb
под"InnoDB
Опции команды" ранее в этом
разделе.
Формат командной строки | --innodb_adaptive_flushing=# |
||
Формат файла опции | innodb_adaptive_flushing |
||
Системное Имя переменной | innodb_adaptive_flushing
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Определяет, скорректировать ли динамически уровень сбрасывания грязных
страниц в InnoDB
пул буферов, основанный
на рабочей нагрузке. Корректировка уровня сброса динамически предназначается, чтобы избежать пакетов
действия ввода-вывода. Эта установка включается по умолчанию. Для общего настраивающего совета
ввода-вывода см. Раздел 8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_adaptive_flushing_lwm=# |
||
Формат файла опции | innodb_adaptive_flushing_lwm |
||
Системное Имя переменной | innodb_adaptive_flushing_lwm
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 10 |
||
Диапазон | 0 .. 70 |
Низкий процент представления водяного знака емкости журнала отката, в которой включается адаптивное сбрасывание.
Формат командной строки | --innodb_adaptive_hash_index=# |
||
Формат файла опции | innodb_adaptive_hash_index |
||
Системное Имя переменной | innodb_adaptive_hash_index
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Ли InnoDB
адаптивный хеш индексирует,
включается или отключается. Адаптивный хеш индексирует функцию, полезно для некоторых рабочих
нагрузок, а не для других; проведите сравнительные тесты с этим и включенный и отключенные,
использующие реалистические рабочие нагрузки. См. Раздел
14.2.3.13.6, "Адаптивный Хеш Индексирует" для деталей. Эта переменная включается
по умолчанию. Использовать --skip-innodb_adaptive_hash_index
в сервере
запускаются, чтобы отключить это.
innodb_adaptive_max_sleep_delay
Формат командной строки | --innodb_adaptive_max_sleep_delay=# |
||
Формат файла опции | innodb_adaptive_max_sleep_delay |
||
Системное Имя переменной | innodb_adaptive_max_sleep_delay
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 150000 |
||
Диапазон | 0 .. 1000000 |
Позволяет InnoDB
автоматически скорректировать значение innodb_thread_sleep_delay
или вниз согласно текущей рабочей нагрузке.
Любое ненулевое значение включает автоматизированной, динамической корректировке innodb_thread_sleep_delay
значение, до максимального значения,
определенного в innodb_adaptive_max_sleep_delay
опция. Значение
представляет число микросекунд. Эта опция может быть полезной в занятых системах с большим чем 16
InnoDB
потоки. (Практически, это является самым ценным для систем MySQL
с сотнями или тысячами одновременных соединений.)
innodb_additional_mem_pool_size
Осуждаемый | 5.6.3 | ||
Формат командной строки | --innodb_additional_mem_pool_size=# |
||
Формат файла опции | innodb_additional_mem_pool_size |
||
Системное Имя переменной | innodb_additional_mem_pool_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 8388608 |
||
Диапазон | 2097152 .. 4294967295 |
Размер в байтах пула памяти InnoDB
использование, чтобы хранить
информацию словаря
данных и другие внутренние структуры данных. Чем больше таблиц, которые Вы имеете в своем
приложении, тем больше памяти Вы выделяете здесь. Если InnoDB
исчерпывает память в этом пуле, она начинает выделять память от операционной системы и пишет
предупреждающие сообщения в журнал ошибок MySQL. Значение по умолчанию составляет 8 МБ.
Эта переменная касается 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 |
||
Системное Имя переменной | innodb_api_bk_commit_interval
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 5 |
||
Диапазон | 1 .. 1073741824 |
Как часто автоматически фиксировать неактивные соединения, которые используют InnoDB
интерфейс memcached, в секундах. См. Раздел
14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой
опции.
Формат командной строки | --innodb_api_disable_rowlock=# |
||
Формат файла опции | innodb_api_disable_rowlock |
||
Системное Имя переменной | innodb_api_disable_rowlock
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции.
Формат командной строки | --innodb_api_enable_binlog=# |
||
Формат файла опции | innodb_api_enable_binlog |
||
Системное Имя переменной | innodb_api_enable_binlog
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Позволяет Вам использовать InnoDB
плагин memcached
с двоичным журналом
MySQL. См. Раздел 14.2.9, "Интеграция
InnoDB с memcached" для использования детализирует для этой опции.
Формат командной строки | --innodb_api_enable_mdl=# |
||
Формат файла опции | innodb_api_enable_mdl |
||
Системное Имя переменной | innodb_api_enable_mdl
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Блокирует таблицу, используемую InnoDB
плагин memcached, так, чтобы это не могло быть отброшено или
изменено DDL через интерфейс SQL. См.
Раздел 14.2.9, "Интеграция InnoDB с
memcached" для использования детализирует для этой опции.
Формат командной строки | --innodb_api_trx_level=# |
||
Формат файла опции | innodb_api_trx_level |
||
Системное Имя переменной | innodb_api_trx_level
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
Позволяет Вам управлять уровнем изоляции транзакции на запросах, обработанных интерфейсом memcached. См. Раздел 14.2.9, "Интеграция InnoDB с memcached" для использования детализирует для этой опции. Константы, соответствующие знакомым именам:
0 = READ UNCOMMITTED
1 = READ COMMITTED
2 = REPEATABLE READ
3 = SERIALIZABLE
Формат командной строки | --innodb_autoextend_increment=# |
||
Формат файла опции | innodb_autoextend_increment |
||
Системное Имя переменной | innodb_autoextend_increment
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 64 |
||
Диапазон | 1 .. 1000 |
Размер инкремента (в Мбайте) для того, чтобы расширить размер авторасширения InnoDB
системный
файл табличной
области, когда это становится полным. Значение по умолчанию 64. Эта переменная не влияет на
файлы табличной области на таблицу, которые создаются, если Вы используете innodb_file_per_table=1
. Те файлы авторасширяются независимо от
значения innodb_autoextend_increment
. Начальные расширения небольшими
количествами, после которых расширения происходят в инкрементах 4 МБ.
Формат командной строки | --innodb_autoinc_lock_mode=# |
||
Формат файла опции | innodb_autoinc_lock_mode |
||
Системное Имя переменной | innodb_autoinc_lock_mode
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1 |
||
Допустимые Значения | 0 |
||
1 |
|||
2 |
Режим блокировки, чтобы
использовать для того, чтобы генерировать автоинкрементные значения.
Допустимые значения 0, 1, или 2, для "традиционного",
"последовательного", или "чередованного" режима блокировки,
соответственно. Раздел 5.4.4,"AUTO_INCREMENT
Обработка в InnoDB
"
, описывает характеристики этих режимов.
У этой переменной есть значение по умолчанию 1 ("последовательный" режим блокировки).
innodb_buffer_pool_dump_at_shutdown
Формат командной строки | --innodb_buffer_pool_dump_at_shutdown=# |
||
Формат файла опции | innodb_buffer_pool_dump_at_shutdown |
||
Системное Имя переменной | innodb_buffer_pool_dump_at_shutdown
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Определяет, записать ли страницы, кэшируемые в пуле буферов InnoDB, когда
сервер MySQL выключен, чтобы сократить процесс разминки в следующем
перезапуске. Обычно используемый в комбинации с innodb_buffer_pool_load_at_startup
.
Формат командной строки | --innodb_buffer_pool_dump_now=# |
||
Формат файла опции | innodb_buffer_pool_dump_now |
||
Системное Имя переменной | innodb_buffer_pool_dump_now
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Сразу записывает страницы, кэшируемые в пуле буферов InnoDB. Обычно
используемый в комбинации с innodb_buffer_pool_load_now
.
Формат командной строки | --innodb_buffer_pool_filename=file |
||
Формат файла опции | innodb_buffer_pool_filename |
||
Системное Имя переменной | innodb_buffer_pool_filename
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | ib_buffer_pool |
Определяет файл, который содержит список номеров страниц, произведенных innodb_buffer_pool_dump_at_shutdown
или innodb_buffer_pool_dump_now
.
Формат командной строки | --innodb_buffer_pool_instances=# |
||
Формат файла опции | innodb_buffer_pool_instances |
||
Системное Имя переменной | innodb_buffer_pool_instances
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | -1 (autosized) |
||
Диапазон | 1 .. 64 |
Число областей, что InnoDB
пул буферов
делится на. Для систем с пулами буферов в диапазоне мультигигабайта, деля пул буферов на отдельные
экземпляры может улучшить параллелизм, уменьшая конкуренцию как различное чтение потоков и записать
в кэшируемые страницы. Каждая страница, которая сохранена в или читается из пула буферов,
присваивается одному из экземпляров пула буферов в произвольном порядке, используя хеш-функцию.
Каждый пул буферов управляет своими собственными свободными списками, списками
сброса, LRUs, и всеми другими
структурами данных, соединенными с пулом буферов, и защищается его собственным взаимным
исключением пула буферов.
Эта опция вступает в силу только, когда Вы устанавливаете innodb_buffer_pool_size
к размеру 1 гигабайта или больше. Полный размер, который Вы определяете, делится среди всех пулов
буферов. Для лучшей эффективности определите комбинацию innodb_buffer_pool_instances
и innodb_buffer_pool_size
так, чтобы каждый экземпляр пула буферов
составил по крайней мере 1 гигабайт.
Значение по умолчанию 8, за исключением 32-разрядных систем Windows, где значение по умолчанию
зависит от значения innodb_buffer_pool_size
:
Если innodb_buffer_pool_size
больше чем 1.3 Гбайт, значение по
умолчанию для innodb_buffer_pool_instances
innodb_buffer_pool_size
/128MB, с отдельным выделением
памяти запрашивает на каждый блок. 1.3 Гбайт были выбраны в качестве границы, на которой
есть существенный риск для 32-разрядного Windows, чтобы быть неспособным выделить
непрерывное адресное пространство, необходимое для единственного пула буферов.
Иначе, значение по умолчанию 1.
Формат командной строки | --innodb_buffer_pool_load_abort=# |
||
Формат файла опции | innodb_buffer_pool_load_abort |
||
Системное Имя переменной | innodb_buffer_pool_load_abort
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Прерывает процесс восстановления содержания пула буферов InnoDB,
инициированного innodb_buffer_pool_load_at_startup
или innodb_buffer_pool_load_now
.
innodb_buffer_pool_load_at_startup
Формат командной строки | --innodb_buffer_pool_load_at_startup=# |
||
Формат файла опции | innodb_buffer_pool_load_at_startup |
||
Системное Имя переменной | innodb_buffer_pool_load_at_startup
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Определяет, что на запуске сервера MySQL пул буферов InnoDB автоматически
подогревается, загружая те же
самые страницы, которые это содержало в более раннее время. Обычно используемый в комбинации с innodb_buffer_pool_dump_at_shutdown
.
Формат командной строки | --innodb_buffer_pool_load_now=# |
||
Формат файла опции | innodb_buffer_pool_load_now |
||
Системное Имя переменной | innodb_buffer_pool_load_now
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Сразу нагревает пул буферов InnoDB, загружая ряд страниц данных, не ожидая перезапуска сервера. Может быть полезным, чтобы возвратить кэш-память известному состоянию во время сравнительного тестирования, или подготовить сервер MySQL, чтобы возобновить его нормальную рабочую нагрузку после выполнения запросов для отчетов или обслуживания.
Формат командной строки | --innodb_buffer_pool_size=# |
||
Формат файла опции | innodb_buffer_pool_size |
||
Системное Имя переменной | innodb_buffer_pool_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 134217728 |
||
Минимальное Значение | 5242880 |
Размер в байтах пула
буферов, область памяти, где InnoDB
таблица кэшей и индексирует
данные. Значение по умолчанию составляет 128 МБ. Максимальное значение зависит от архитектуры ЦП;
максимум 4294967295 (232-1) на 32-разрядных системах и 18446744073709551615
(264-1) на 64-разрядных системах. На 32-разрядных системах архитектура ЦП и операционная
система могут наложить более низкий практический максимальный размер чем установленный максимум.
Когда размер пула буферов больше чем 1 Гбайт, устанавливая innodb_buffer_pool_instances
к значению, больше чем 1, может
улучшить масштабируемость относительно занятого сервера.
Чем больше Вы устанавливаете это значение, тем меньше дискового ввода-вывода необходимо, чтобы получить доступ к тем же самым данным в таблицах не раз. На выделенном сервере базы данных Вы могли бы установить это в 80 % машинного размера физической памяти. Будьте подготовлены вычислить это значение, если эти другие проблемы происходят:
Соревнование за физическую память могло бы вызвать оповещение в операционной системе.
InnoDB
резервирует дополнительную память
для буферов и управляющих структур, так, чтобы полное выделенное место было приблизительно
на 10 % больше чем указанный размер.
Адресное пространство должно быть непрерывным, который может быть проблемой о системах Windows с DLL, которые загружаются в определенных адресах.
Время, чтобы инициализировать пул буферов примерно пропорционально его
размеру. На больших установках это время инициализации могло бы быть существенным. Например,
на современном Linux x86_64 сервер, инициализация пула буферов на 10 Гбайт занимает
приблизительно 6 секунд. См. Раздел 8.9.1,"
InnoDB
Пул буферов".
Формат командной строки | --innodb_change_buffer_max_size=# |
||
Формат файла опции | innodb_change_buffer_max_size |
||
Системное Имя переменной | innodb_change_buffer_max_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 25 |
||
Диапазон | 0 .. 50 |
Максимальный размер для InnoDB изменяет буфер как процент полного
размера пула буферов.
Вы могли бы увеличить это значение для сервера MySQL с тяжелой вставкой, обновить, и удалить
действие, или уменьшить это для сервера MySQL с неизменными данными, используемыми для того, чтобы
сообщить. Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_change_buffering=# |
||
Формат файла опции | innodb_change_buffering |
||
Системное Имя переменной | innodb_change_buffering
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | all |
||
Допустимые Значения | inserts |
||
deletes |
|||
purges |
|||
changes |
|||
all |
|||
none |
Ли InnoDB
выполняет буферизацию
изменения, оптимизация, которая задерживает операции записи к вторичному, индексирует так, чтобы
операции ввода-вывода могли быть выполнены последовательно. Разрешенные значения inserts
(буферные операции вставки), deletes
(буфер удаляет операции; строго говоря, записи, что метка
индексирует записи для более позднего удаления во время работы чистки), changes
(буферная вставка и удаленный отмеченные операции), purges
(буферизуйте
операции чистки, записи, когда
удаленные элементы индекса наконец собираются "мусор"), all
(буферная вставка, удаленный отмеченный, и операции чистки) и none
(не
буферизуйте операции). Значение по умолчанию all
. Для получения
дополнительной информации см. Раздел
14.2.4.2.13, "Управляя Буферизацией Изменения InnoDB". Для общего настраивающего
совета ввода-вывода см. Раздел 8.5.7, "Оптимизируя
InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_checksum_algorithm=# |
||
Формат файла опции | innodb_checksum_algorithm |
||
Системное Имя переменной | innodb_checksum_algorithm
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | innodb |
||
Допустимые Значения | innodb |
||
crc32 |
|||
none |
|||
strict_innodb |
|||
strict_crc32 |
|||
strict_none |
Определяет, как генерировать и проверить контрольную сумму, сохраненную в
каждом дисковом блоке каждого InnoDB
табличная
область. Замены innodb_checksums
опция.
Значение innodb
обратно совместимо со всеми версиями MySQL. Значение
crc32
использует алгоритм, который быстрее, чтобы вычислить контрольную
сумму для каждого измененного блока, и проверить контрольные суммы на каждое чтение с диска.
Значение none
пишет постоянная величина в поле контрольной суммы вместо
того, чтобы вычислить значение, основанное на блочных данных. Блоки в табличной области могут
использовать соединение старых, новых, и никакие значения контрольной суммы, будучи обновленным
постепенно, поскольку данные изменяются; как только любые блоки в табличной области изменяются,
чтобы использовать crc32
алгоритм, связанные таблицы не могут быть
считаны более ранними версиями MySQL.
strict_*
формы работают то же самое как innodb
, crc32
, и none
, за исключением того, что InnoDB
остановы, если это встречается с соединением значений контрольной суммы в той же самой табличной
области. Можно только использовать эти опции в абсолютно новом экземпляре, чтобы установить все
табличные области впервые. strict_*
настройки несколько быстрее, потому
что они не должны вычислить и новые и старые значения контрольной суммы, чтобы принять обоих во
время чтения с диска.
Для информации об использовании, включая матрицу допустимых комбинаций значений контрольной суммы во время операций чтения и операций записи, см. Раздел 14.2.4.2.7, "Быстро Алгоритм Контрольной суммы CRC32".
Формат командной строки | --innodb_checksums |
||
Формат файла опции | innodb_checksums |
||
Системное Имя переменной | innodb_checksums
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
InnoDB
может использовать проверку допустимости контрольной
суммы на всех страницах табличной области, считанных из диска, чтобы гарантировать
дополнительную отказоустойчивость против аппаратных отказов или поврежденных файлов данных. Эта
проверка допустимости включается по умолчанию. При специализированных обстоятельствах (такой,
выполняя сравнительные тесты) эта дополнительная функция безопасности может быть отключена с --skip-innodb-checksums
. Можно определить метод вычисления контрольной
суммы с innodb_checksum_algorithm
.
В MySQL 5.6.3 и выше, эта опция осуждается, заменяется innodb_checksum_algorithm
. innodb_checksum_algorithm=innodb
то же самое как innodb_checksums=ON
(значение по умолчанию). innodb_checksum_algorithm=none
то же самое как innodb_checksums=OFF
.
Удалите любого innodb_checksums
опции от Ваших конфигурационных файлов
и сценариев запуска, чтобы избежать конфликтов с innodb_checksum_algorithm
: innodb_checksums=OFF
автоматически установил бы innodb_checksum_algorithm=none
; innodb_checksums=ON
был бы проигнорирован и переопределен любой другой установкой для innodb_checksum_algorithm
.
Формат командной строки | --innodb_cmp_per_index_enabled=# |
||
Формат файла опции | innodb_cmp_per_index_enabled |
||
Системное Имя переменной | innodb_cmp_per_index_enabled
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
||
Допустимые Значения | OFF |
||
ON |
Включает на - индексируют связанную со сжатием статистику в INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX
таблица. Поскольку эти
статистические данные могут быть дорогими, чтобы собраться, только включите этой опции на
разработке, тесте, или ведомых экземплярах во время настройки производительности, связанной с InnoDB
сжатые таблицы.
Формат командной строки | --innodb_commit_concurrency=# |
||
Формат файла опции | innodb_commit_concurrency |
||
Системное Имя переменной | innodb_commit_concurrency
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 1000 |
Число потоков, которые могут фиксировать одновременно. Значение 0 (значение по умолчанию) разрешает любому числу транзакций фиксировать одновременно.
Значение innodb_commit_concurrency
не может быть изменен во времени
выполнения от нуля до ненулевого или наоборот. Значение может быть изменено от одного ненулевого
значения до другого.
innodb_compression_failure_threshold_pct
Формат командной строки | --innodb_compression_failure_threshold_pct=#
|
||
Формат файла опции | innodb_compression_failure_threshold_pct |
||
Системное Имя переменной | innodb_compression_failure_threshold_pct
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 5 |
||
Диапазон | 0 .. 100 |
Устанавливает предел, в котором MySQL начинает добавлять дополнение в пределах сжатых страниц, чтобы избежать дорогих отказов сжатия. Значение нуля отключает механизм, который контролирует эффективность сжатия и динамически корректирует дополнительное количество.
Формат командной строки | --innodb_compression_level=# |
||
Формат файла опции | innodb_compression_level |
||
Системное Имя переменной | innodb_compression_level
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 6 |
||
Диапазон | 0 .. 9 |
innodb_compression_pad_pct_max
Формат командной строки | --innodb_compression_pad_pct_max=# |
||
Формат файла опции | innodb_compression_pad_pct_max |
||
Системное Имя переменной | innodb_compression_pad_pct_max
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 50 |
||
Диапазон | 0 .. 75 |
Определяет максимальный процент, который может быть зарезервирован как свободное пространство в
пределах каждой сжатой страницы,
предусматривая пространство, чтобы реорганизовать данные и журнал модификации в пределах страницы,
когда сжатая таблица
или индексируют, обновляется, и данные могли бы быть повторно сжаты. Только применяется когда innodb_compression_failure_threshold_pct
устанавливается в
ненулевое значение, и уровень отказов сжатия передает предел.
Формат командной строки | --innodb_concurrency_tickets=# |
||
Формат файла опции | innodb_concurrency_tickets |
||
Системное Имя переменной | innodb_concurrency_tickets
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 5000 |
||
Диапазон | 1 .. 4294967295 |
Определяет число потоков,
которые могут войти InnoDB
одновременно. Поток помещается в очередь,
когда он пытается войти InnoDB
если число потоков уже достигло предела
параллелизма. Когда потоку разрешают войти InnoDB
, этому дают много
"бесплатных билетов", равных
значению innodb_concurrency_tickets
, и поток может войти и уехать InnoDB
свободно, пока это не израсходовало свои билеты. После той
точки поток снова становится подвергающимся проверке параллелизма (и возможная организация очередей)
в следующий раз, когда это пытается войти InnoDB
. Значение по умолчанию
5000.
Формат командной строки | --innodb_data_file_path=name |
||
Формат файла опции | innodb_data_file_path |
||
Системное Имя переменной | innodb_data_file_path
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | ibdata1:12M:autoextend |
Пути к человеку InnoDB
файлы данных и их
размеры. Полный путь к каталогу к каждому файлу данных формируется, конкатенируя innodb_data_home_dir
к каждому пути, определенному здесь. Размеры
файла определяются в Кбайте, Мбайте, или Гбайт (1024 МБ), добавляя K
,
M
, или G
к значению размера. Сумма
размеров файлов должна быть, по крайней мере, немного больше чем 10 МБ. Если Вы не определяете innodb_data_file_path
, поведение значения по умолчанию должно создать
единственный авторасширяющийся файл данных, немного больше чем 12 МБ, названных ibdata1
. Предел размера отдельных файлов определяется Вашей
операционной системой. Можно установить размер файла больше чем в 4 Гбайт на тех операционных
системах, которые поддерживают большие файлы. Можно также использовать
необработанные разделы диска в качестве файлов данных. Для получения дальнейшей информации
на конфигурировании InnoDB
файлы табличной
области, см. Раздел 14.2.1.2, "Конфигурируя
InnoDB
".
Формат командной строки | --innodb_data_home_dir=path |
||
Формат файла опции | innodb_data_home_dir |
||
Системное Имя переменной | innodb_data_home_dir
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | file name |
Общая часть пути к каталогу для всех InnoDB
файлы
данных в системной
табличной области. Эта установка не влияет на расположение offile на
таблицу табличные области когда innodb_file_per_table
включается. Значение по умолчанию является
каталогом данных MySQL. Если Вы определяете значение как пустую строку, можно использовать
абсолютные пути к файлам в innodb_data_file_path
.
innodb_disable_sort_file_cache
Формат командной строки | --innodb_disable_sort_file_cache=# |
||
Формат файла опции | innodb_disable_sort_file_cache |
||
Системное Имя переменной | innodb_disable_sort_file_cache
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Если включено, эта переменная отключает кэш файловой системы операционной системы для сортировки с
объединением временные файлы. Эффект состоит в том, чтобы открыть такие файлы с эквивалентом O_DIRECT
.
Формат командной строки | --innodb-doublewrite |
||
Формат файла опции | innodb_doublewrite |
||
Системное Имя переменной | innodb_doublewrite
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
Если эта переменная включается (значение по умолчанию), InnoDB
хранит
все данные дважды, сначала к буферу doublewrite, тогда к
фактическим файлам
данных. Эта переменная может быть выключена с --skip-innodb_doublewrite
для сравнительных тестов или случаев, когда
главная производительность необходима, а не беспокойство о целостности данных или возможных отказах.
Формат командной строки | --innodb_fast_shutdown[=#] |
||
Формат файла опции | innodb_fast_shutdown |
||
Системное Имя переменной | innodb_fast_shutdown
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 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
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | Antelope |
||
Допустимые Значения | Antelope |
||
Barracuda |
Формат файла, чтобы
использовать для нового InnoDB
таблицы. В настоящий момент, Antelope
и Barracuda
поддерживаются. Это
применяется только для таблиц, у которых есть их собственная табличная
область, таким образом, для этого, чтобы иметь эффект, innodb_file_per_table
должен быть включен. Формат файла Барракуды требуется
для определенных функций InnoDB, таких как табличное сжатие.
Формат командной строки | --innodb_file_format_check=# |
||
Формат файла опции | innodb_file_format_check |
||
Системное Имя переменной | innodb_file_format_check
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Эта переменная может быть установлена в 1 или 0 при запуске сервера, чтобы включить или отключить ли
InnoDB
проверяет тег формата файла в системную
табличную область (например, Antelope
или Barracuda
). Если тег проверяется и выше чем поддерживаемое текущей
версией InnoDB
, ошибка происходит и InnoDB
не запускается. Если тег не выше, InnoDB
устанавливает значение innodb_file_format_max
к тегу формата файла.
Несмотря на значение по умолчанию, иногда выводимое на экран как ON
или OFF
, всегда используйте числовые значения 1 или 0, чтобы
включить или выключить эту опцию в Вашем конфигурационном файле или командной строке.
Формат командной строки | --innodb_file_format_max=# |
||
Формат файла опции | innodb_file_format_max |
||
Системное Имя переменной | innodb_file_format_max
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | Antelope |
||
Допустимые Значения | Antelope |
||
Barracuda |
При запуске сервера, InnoDB
устанавливает значение этой переменной к
тегу формата файла в
системной
табличной области (например, Antelope
или Barracuda
). Если сервер создает или открывает таблицу с "более высоким" форматом файла, он
устанавливает значение innodb_file_format_max
к тому формату.
Формат командной строки | --innodb_file_per_table |
||
Формат файла опции | innodb_file_per_table |
||
Системное Имя переменной | innodb_file_per_table
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Когда innodb_file_per_table
включается (значение по умолчанию в 5.6.6 и
выше), InnoDB
хранит данные и индексирует для каждой недавно
составленной таблицы в отдельном .ibd
файл, а
не в системной табличной области. Хранение для них InnoDB
таблицы
исправляются, когда такие таблицы отбрасываются или усеченные. Эта установка включает несколько
другим InnoDB
функции, такие как табличное сжатие.
См. Раздел 5.4.1, "Управляя Табличными областями
InnoDB" для деталей о таких функциях.
Когда innodb_file_per_table
отключается, InnoDB
хранит данные для всех таблиц и индексирует в ibdata
файлах, которые составляют системную табличную область. Эта
установка уменьшает издержки производительности операций файловой системы для операций такой как DROP TABLE
или TRUNCATE TABLE
. Для серверной среды является самым уместным, где
все устройства хранения посвящаются данным MySQL. Поскольку системная табличная область никогда не
уменьшается, и совместно используется через все базы данных в экземпляре,
избегите загружать огромное количество временных данных на ограниченной пространством системе когда
innodb_file_per_table=OFF
. Установите отдельный экземпляр в таких
случаях, так, чтобы можно было отбросить весь экземпляр, чтобы исправить пространство.
По умолчанию, innodb_file_per_table
включается с MySQL 5.6.6,
отключенного перед этим. Рассмотрите отключение этого, если обратная совместимость с MySQL 5.5 или
5.1 является беспокойством. Это предотвратит ALTER TABLE
от перемещения InnoDB
таблицы от системной табличной области до человека .ibd
файлы.
Системное Имя переменной | innodb_flush_log_at_timeout
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1 |
||
Диапазон | 0 .. 2700 |
Запишите и сбросьте журналы каждый N
секунды. innodb_flush_log_at_timeout
был представлен в MySQL 5.6.6. Это
позволяет периоду тайм-аута между сбросами быть увеличенным, чтобы уменьшить сбрасывание и избежать
воздействовать на производительность двоичной групповой фиксации журнала. До MySQL 5.6.6, сбрасывая
частоту был однажды в секунду. Настройка по умолчанию для innodb_flush_log_at_timeout
также однажды в секунду.
innodb_flush_log_at_trx_commit
Формат командной строки | --innodb_flush_log_at_trx_commit[=#] |
||
Формат файла опции | innodb_flush_log_at_trx_commit |
||
Системное Имя переменной | innodb_flush_log_at_trx_commit
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | 1 |
||
Допустимые Значения | 0 |
||
1 |
|||
2 |
Управляет балансом между строгим соответствием ACID для операций фиксации, и более высокой производительностью, которая возможна, когда связанные с фиксацией операции ввода-вывода перестраиваются и делаются в пакетах. Можно достигнуть лучшей производительности, изменяя значение по умолчанию, но тогда можно проиграть до одной второй ценности транзакций в катастрофическом отказе.
Значение по умолчанию 1 требуется для полного соответствия ACID. С этим значением буфер журнала выписывается к файлу журнала в каждой фиксации транзакции, и сброс к дисковой работе выполняется на файле журнала.
Со значением 0, любой катастрофический отказ процесса mysqld может стереться в последнюю секунду транзакций. Буфер журнала выписывается к файлу журнала однажды в секунду, и сброс к дисковой работе выполняется на файле журнала, но никакие записи не делаются в фиксации транзакции.
Со значением 2, только катастрофический отказ операционной системы или
отключение электричества питания могут стереться в последнюю секунду транзакций. Буфер
журнала выписывается к файлу в каждой фиксации, но сброс к дисковой работе не выполняется на
этом. В MySQL 5.7, сбрасывая частоту управляют innodb_flush_log_at_timeout
.
InnoDB
's разрушают
работы восстановления
независимо от значения. Транзакции или применяются полностью или стираются полностью.
Для самой большой длительности и непротиворечивости в использовании установки репликации InnoDB
с транзакциями использовать innodb_flush_log_at_trx_commit=1
и sync_binlog=1
в Вашем главном сервере my.cnf
файл.
Много операционных систем и некоторые дисковые аппаратные средства дурачат работу
сброса к диску. Они могут сказать mysqld, что сброс имел место, даже при том,
что это не имеет. Затем длительность транзакций не гарантируется даже с установкой 1, и в худшем
случае отключение электричества питания может даже повредить InnoDB
данные. Используя поддержанный батареей дисковый кэш в дисковом контроллере SCSI или в самом
диске ускоряет сбросы файла, и делает работу более безопасной. Можно также попытаться
использовать команду Unix hdparm, чтобы отключить
кэширование записей на диск в аппаратных кэшах, или использовать некоторую другую команду,
определенную для поставщика оборудования.
Формат командной строки | --innodb_flush_method=name |
||
Формат файла опции | innodb_flush_method |
||
Системное Имя переменной | innodb_flush_method
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Введите (linux) | enumeration |
||
Значение по умолчанию | fdatasync |
||
Допустимые Значения | fdatasync |
||
O_DSYNC |
|||
O_DIRECT |
|||
O_DIRECT_NO_FSYNC |
|||
Разрешенные Значения | |||
Введите (solaris) | enumeration |
||
Значение по умолчанию | fdatasync |
||
Допустимые Значения | fdatasync |
||
O_DSYNC |
|||
O_DIRECT |
|||
O_DIRECT_NO_FSYNC |
|||
Разрешенные Значения | |||
Введите (hpux) | enumeration |
||
Значение по умолчанию | fdatasync |
||
Допустимые Значения | fdatasync |
||
O_DSYNC |
|||
O_DIRECT |
|||
O_DIRECT_NO_FSYNC |
Управляет системными вызовами, используемыми, чтобы сбросить данные к InnoDB
файлы данных и файлы
журнала, которые могут влиять на пропускную способность ввода-вывода. Эта переменная важна
только для систем Unix и Linux. На системах Windows метод сброса всегда async_unbuffered
и не может быть изменен.
По умолчанию, InnoDB
использование fsync()
системный вызов, чтобы сбросить и файлы данных и файлы журнала. Если innodb_flush_method
опция устанавливается в O_DSYNC
, InnoDB
использование O_SYNC
открыть и сбросить файлы журнала, и fsync()
сбросить файлы данных. Если O_DIRECT
определяется (доступный на
некоторых версиях GNU/Linux, FreeBSD, и Солярисе), InnoDB
использование
O_DIRECT
(или directio()
на Солярисе),
чтобы открыть файлы данных, и использование fsync()
сбросить и файлы
данных и файлы журнала. Отметьте это InnoDB
использование fsync()
вместо fdatasync()
, и это не
использует O_DSYNC
по умолчанию, потому что были проблемы с этим на
многих вариантах Unix.
Альтернативная установка O_DIRECT_NO_FSYNC
: это использует O_DIRECT
флаг во время сбрасывания ввода-вывода, но пропусков fsync()
системный вызов впоследствии. Эта установка является подходящей
для некоторых типов файловых систем, но не других. Например, это не является подходящим для XFS.
Если Вы не уверены, требует ли файловая система, которую Вы используете, fsync()
,
например, чтобы сохранить все метаданные файла, использовать O_DIRECT
вместо этого.
В зависимости от аппаратной конфигурации, устанавливая innodb_flush_method
к O_DIRECT
или O_DIRECT_NO_FSYNC
может иметь или положительный или отрицательный эффект
на производительность. Протестируйте своей определенной конфигурации в сравнении с эталоном, чтобы
решить, который установка в использование, или сохранить ли значение по умолчанию. Исследуйте Innodb_data_fsyncs
переменная состояния, чтобы видеть общее
количество fsync()
вызовы, сделанные с каждой установкой. Соединение
операций чтения и операций записи в Вашей рабочей нагрузке может также влиять, который установка
выполняет лучше для Вас. Например, на системе с аппаратным RAID-контроллером и поддержанным батареей
кэшем записи, O_DIRECT
может помочь избежать двойной буферизации между
InnoDB
пул буферов и кэш файловой системы операционной системы. На
некоторых системах, где InnoDB
файлы данных и файлы журнала
располагаются на SAN, значении по умолчанию или O_DSYNC
могло бы быть
быстрее для нагруженной чтением рабочей нагрузки с главным образом SELECT
операторы. Всегда тестируйте этот параметр с тем же самым
типом аппаратных средств и рабочей нагрузки, которая отражает Вашу продуктивную среду. Для общего
настраивающего совета ввода-вывода см. Раздел 8.5.7,
"Оптимизируя InnoDB
Дисковый ввод-вывод".
Прежде, значение fdatasync
также определенный поведение значения по
умолчанию. Это значение было удалено, из-за беспорядка что значение fdatasync
вызванный fsync()
системные
вызовы, а не fdatasync()
для того, чтобы сбросить. Чтобы получить
значение по умолчанию теперь, не устанавливайте значение для innodb_flush_method
при запуске.
Формат командной строки | --innodb_flush_neighbors |
||
Формат файла опции | innodb_flush_neighbors |
||
Системное Имя переменной | innodb_flush_neighbors
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | 1 |
||
Допустимые Значения | 0 |
||
1 |
|||
2 |
Определяет, сбрасывает ли сбрасывание страницы от пула буферов InnoDB также другие грязные страницы в той же самой степени.
Значение по умолчанию 1 сброса непрерывные грязные страницы в той же самой степени от пула буферов.
Установка 0 поворотов innodb_flush_neighbors
прочь и никакие другие грязные страницы
сбрасываются от пула буферов.
Установка 2 грязных страниц сбросов в той же самой степени от пула буферов.
Когда табличные данные хранятся на традиционном устройстве хранения HDD,
сбрасывание таких соседних
страниц в одной работе уменьшает издержки ввода-вывода (прежде всего для операций поиска на
диске) по сравнению со сбрасыванием отдельных страниц в разное время. Для табличных данных,
хранивших на SSD, время поиска не
является значимым фактором, и можно выключить эту установку, чтобы распространить операции записи.
Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_force_load_corrupted |
||
Формат файла опции | innodb_force_load_corrupted |
||
Системное Имя переменной | innodb_force_load_corrupted
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Позволяет InnoDB загружать таблицы при запуске, которые отмечаются как повреждено. Используйте только во время поиска и устранения неисправностей, чтобы восстановить данные, которые иначе недоступны. Когда поиск и устранение неисправностей полон, выключите это задержание и перезапустите сервер.
Формат командной строки | --innodb_force_recovery=# |
||
Формат файла опции | innodb_force_recovery |
||
Системное Имя переменной | innodb_force_recovery
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | 0 |
||
Допустимые Значения | 0 |
||
1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
|||
6 |
Режим восстановления
катастрофического отказа, обычно только измененный в серьезных ситуациях с поиском и устранением
неисправностей. Возможные значения от 0 до 6. Значения этих значений описываются в Разделе
14.2.4.6, "Запускаясь InnoDB
на Поврежденной Базе данных"
.
Только установите эту переменную, больше чем 0 в чрезвычайной ситуации, чтобы вывести
Ваши таблицы от поврежденной базы данных. Как мера по безопасности, InnoDB
предотвращает любые изменения к его данным, когда эта
переменная больше чем 0. Это ограничение также запрещает некоторые запросы то использование
WHERE
или ORDER BY
пункты, потому что
высокие значения могут препятствовать тому, чтобы запросы использовали, индексируют, чтобы
принять меры возможный поврежденный индексируют данные.
Формат командной строки | --innodb_ft_aux_table=db_name/table_name |
||
Формат файла опции | innodb_ft_aux_table |
||
Системное Имя переменной | innodb_ft_aux_table
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
Определяет полностью определенное имя InnoDB
таблица, содержащая a
FULLTEXT
индексировать. После того, как Вы устанавливаете эту
переменную в имя в формате db_name
/table_name
INFORMATION_SCHEMA
таблицы INNODB_FT_INDEX_TABLE
, INNODB_FT_INDEX_CACHE
, INNODB_FT_CONFIG
, INNODB_FT_DELETED
, и INNODB_FT_BEING_DELETED
тогда отразите, что информация о поиске
индексирует для указанной таблицы.
Формат командной строки | --innodb_ft_cache_size=# |
||
Формат файла опции | innodb_ft_cache_size |
||
Системное Имя переменной | innodb_ft_cache_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 8000000 |
Размер кэша, который содержит проанализированный документ в памяти, создавая InnoDB FULLTEXT
индексировать.
Формат командной строки | --innodb_ft_enable_diag_print=# |
||
Формат файла опции | innodb_ft_enable_diag_print |
||
Системное Имя переменной | innodb_ft_enable_diag_print
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Включить ли дополнительному полнотекстовому выводу диагностики поиска.
Формат командной строки | --innodb_ft_enable_stopword=# |
||
Формат файла опции | innodb_ft_enable_stopword |
||
Системное Имя переменной | innodb_ft_enable_stopword
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Определяет, что ряд stopwords связывается с InnoDB
FULLTEXT
индексируйте в то время,
когда индексирование создается. Если innodb_ft_user_stopword_table
опция устанавливается, stopwords
берутся от той таблицы. Еще, если innodb_ft_server_stopword_table
опция устанавливается, stopwords
берутся от той таблицы. Иначе, встроенный набор значения по умолчанию stopwords используется.
Формат командной строки | --innodb_ft_max_token_size=# |
||
Формат файла опции | innodb_ft_max_token_size |
||
Системное Имя переменной | innodb_ft_max_token_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 84 |
||
Диапазон | 10 .. 252 |
Максимальная длина слов, которые сохранены в InnoDB FULLTEXT
индексировать. Устанавливание предела для этого значения уменьшает размер индексирования, таким
образом ускоряя запросы, опуская долгие ключевые слова или произвольные наборы букв, которые не
являются реальными словами и вряд ли будут критериями поиска.
Формат командной строки | --innodb_ft_min_token_size=# |
||
Формат файла опции | innodb_ft_min_token_size |
||
Системное Имя переменной | innodb_ft_min_token_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 3 |
||
Диапазон | 0 .. 16 |
Минимальная длина слов, которые сохранены в InnoDB FULLTEXT
индексировать. Увеличение этого значения уменьшает размер индексирования, таким образом ускоряя
запросы, опуская общее слово, которые вряд ли будут существенными в контексте поиска, такими как
английские слова "a" и "к". Для контента, используя CJK
(китайский язык, японский язык, корейский язык) набор символов, определяют значение 1.
Формат командной строки | --innodb_ft_num_word_optimize=# |
||
Формат файла опции | innodb_ft_num_word_optimize |
||
Системное Имя переменной | innodb_ft_num_word_optimize
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 2000 |
Число слов, чтобы обработать во время каждого OPTIMIZE TABLE
работа на InnoDB
FULLTEXT
индексировать. Поскольку объемная вставка или работа обновления
к таблице, содержащей полнотекстовый поиск, индексируют, мог потребовать, чтобы существенное ведение
индексов включило все изменения, Вы могли бы сделать серию OPTIMIZE TABLE
операторы, каждое собирание, где последнее
кончило.
innodb_ft_server_stopword_table
Формат командной строки | --innodb_ft_server_stopword_table=db_name/table_name |
||
Формат файла опции | innodb_ft_server_stopword_table |
||
Системное Имя переменной | innodb_ft_server_stopword_table
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | NULL |
Имя таблицы, содержащей список слов, чтобы проигнорировать, создавая InnoDB FULLTEXT
индексируйте в формате
.db_name
/table_name
stopword таблица должна быть InnoDB
таблица, содержа сингл
VARCHAR
столбец называют VALUE
.
stopword таблица должна существовать прежде, чем Вы определите ее имя в значении параметра
конфигурации.
Формат командной строки | --innodb_ft_sort_pll_degree=# |
||
Формат файла опции | innodb_ft_sort_pll_degree |
||
Системное Имя переменной | innodb_ft_sort_pll_degree
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 2 |
||
Диапазон | 1 .. 32 |
Число потоков, используемых параллельно, чтобы индексировать и маркировать текст в InnoDB
FULLTEXT
индексируйте, когда создание
поиска индексирует
для большой таблицы.
Формат командной строки | --innodb_ft_user_stopword_table=db_name/table_name |
||
Формат файла опции | innodb_ft_user_stopword_table |
||
Системное Имя переменной | innodb_ft_user_stopword_table
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | NULL |
Имя таблицы, содержащей список слов, чтобы проигнорировать, создавая InnoDB FULLTEXT
индексируйте в формате
.db_name
/table_name
stopword таблица должна быть InnoDB
таблица, содержа сингл
VARCHAR
столбец называют VALUE
.
stopword таблица должна существовать прежде, чем Вы определите ее имя в значении параметра
конфигурации.
Формат командной строки | --innodb_io_capacity=# |
||
Формат файла опции | innodb_io_capacity |
||
Системное Имя переменной | innodb_io_capacity
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Диаметр долота платформы | 32 |
||
Ввести | numeric |
||
Значение по умолчанию | 200 |
||
Диапазон | 100 .. 2**32-1 |
||
Разрешенные Значения | |||
Диаметр долота платформы | 64 |
||
Ввести | numeric |
||
Значение по умолчанию | 200 |
||
Диапазон | 100 .. 2**64-1 |
innodb_io_capacity
параметр устанавливает верхний предел, на экземпляр пула буферов, на действии ввода-вывода,
выполняемом InnoDB
фоновые задачи, такие как сбрасывание
страниц от пула
буферов и слияния данных от буфера вставки. Значение по
умолчанию 200. Для занятых систем, способных к более высоким уровням ввода-вывода, можно установить
более высокое значение при запуске сервера, чтобы помочь серверу обработать фоновую работу
обслуживания, связанную с высоким показателем изменений строки.
Определение сервера запускает значение для innodb_io_capacity
представит innodb_io_capacity_max
неоперабельный.
Для систем с отдельными дисками на 7200 ОБ/МИН или на 5400 ОБ/МИН Вы могли бы понизить значение к
прежнему значению по умолчанию 100
.
Эти параметры должны быть установлены к приблизительно числу операций ввода-вывода, которые система может выполнить в секунду. Идеально, сохраните эту установку столь же низко как практичную, но не настолько низко, что эти фоновые действия отстают. Если значение слишком высоко, данные удаляются из пула буферов, и вставьте буфер слишком быстро, чтобы предоставить существенное преимущество от кэширования.
Значение представляет предполагаемую пропорцию операций в секунду ввода-вывода (IOP), доступные дисководам старшего поколения, которые могли выполнить приблизительно 100 IOP. Текущее значение по умолчанию 200 отражает, что современные устройства хранения способны к намного более высоким уровням ввода-вывода.
Вообще, можно увеличить значение как функцию числа дисков, используемых для InnoDB
Ввод-вывод, особенно быстрые диски, способные к высоким числам
IOP. Например, системы, которые используют многократные диски или твердотельные диски для InnoDB
вероятно,
извлекут выгоду из возможности управлять этим параметром.
Хотя можно определить очень высокое число, практически у таких больших значений есть немного если любое преимущество; например, значение один миллион считали бы очень высоким.
Можно установить innodb_io_capacity
оцените любому номеру 100 или
больше, и значение по умолчанию 200
. Можно установить значение этого
параметра в файле опции MySQL (my.cnf
или my.ini
) или измените это динамически с SET
GLOBAL
команда, которая требует SUPER
полномочие.
См. Раздел 14.2.4.2.20, "Управляя
Ведущим Уровнем ввода-вывода Потока InnoDB" для большего количества направляющих линий об
этой опции. Для получения общей информации о производительности ввода-вывода InnoDB, см. Раздел 8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_io_capacity_max=# |
||
Формат файла опции | innodb_io_capacity_max |
||
Системное Имя переменной | innodb_io_capacity_max
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Диаметр долота платформы | 32 |
||
Ввести | numeric |
||
Значение по умолчанию | see formula in description |
||
Диапазон | 2000 .. 4294967295 |
||
Разрешенные Значения | |||
Диаметр долота платформы | 64 |
||
Ввести | numeric |
||
Значение по умолчанию | see formula in description |
||
Диапазон | 2000 .. 18446744073709547520 |
Предел тот, до который InnoDB
позволяется расшириться innodb_io_capacity
установка, на экземпляр пула буферов, в случае
крайней необходимости. Его значение по умолчанию является дважды значением по умолчанию innodb_io_capacity
,
с более низким пределом 2000. Это является недействующим, если Вы определили какое-либо значение для
innodb_io_capacity
при запуске сервера.
В течение краткого периода во время разработки MySQL 5.6 эта переменная была известна как innodb_max_io_capacity
.
Формат командной строки | --innodb_large_prefix |
||
Формат файла опции | innodb_large_prefix |
||
Системное Имя переменной | innodb_large_prefix
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Позвольте этой опции позволить, индексируют ключевые префиксы дольше чем
767 байтов (до 3072 байтов), для InnoDB
таблицы, которые используют
DYNAMIC
и COMPRESSED
форматы строки. (Составление таких таблиц также требует значений опции innodb_file_format=barracuda
и innodb_file_per_table=true
.) См. Раздел
14.2.7, "Пределы на InnoDB
Таблицы" для
соответствующих максимумов, связанных с, индексируют ключевые префиксы при различных настройках.
Для таблиц, используя REDUNDANT
и
COMPACT
форматы строки, эта опция не
влияет на позволенную ключевую длину префикса. Это действительно представляет новую ошибочную
возможность. Когда эта установка включается, пытаясь создать индексировать префикс с длиной ключа,
больше чем 3072 для a REDUNDANT
или COMPACT
таблица вызывает ошибку ER_INDEX_COLUMN_TOO_LONG
(1727).
Формат командной строки | --innodb_lock_wait_timeout=# |
||
Формат файла опции | innodb_lock_wait_timeout |
||
Системное Имя переменной | innodb_lock_wait_timeout
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 50 |
||
Диапазон | 1 .. 1073741824 |
Тайм-аут в секундах InnoDB
транзакция
ожидает блокировки строки
перед отказом. Значение по умолчанию составляет 50 секунд. Транзакция, которая пытается получить
доступ к строке, которая блокируется другим InnoDB
транзакция ожидает
самое большее это много секунд для доступа для записи к строке прежде, чем выпустить следующую
ошибку:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
Когда блокировка ожидает, тайм-аут происходит, текущий оператор откатывается
(не вся транзакция). Чтобы иметь всю транзакцию откатывают, запускают сервер с --innodb_rollback_on_timeout
опция. См. также Раздел
14.2.3.15,"InnoDB
Обработка ошибок".
Вы могли бы уменьшить это значение для очень интерактивных приложений или систем OLTP, чтобы вывести на экран пользовательскую обратную связь быстро или поместить обновление в очередь для того, чтобы обработать позже. Вы могли бы увеличить это значение для продолжительных операций бэкэнда, таких как шаг преобразования в хранилище данных, которое ожидает другой большой вставки или операций обновления, чтобы закончиться.
innodb_lock_wait_timeout
применяется к InnoDB
блокировки строки только. Блокировка
таблицы MySQL не происходит внутри InnoDB
и этот тайм-аут не
применяется к, ожидает блокировок таблицы.
Блокировка ожидает, значение тайм-аута не применяется к мертвым блокировкам,
потому что InnoDB
сразу обнаруживает их и откатывает одну из заведенных
в тупик транзакций.
innodb_locks_unsafe_for_binlog
Осуждаемый | 5.6.3 | ||
Формат командной строки | --innodb_locks_unsafe_for_binlog |
||
Формат файла опции | innodb_locks_unsafe_for_binlog |
||
Системное Имя переменной | innodb_locks_unsafe_for_binlog
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Эта переменная влияет как InnoDB
блокировка
разрыва использования для поисков и индексирует сканирования. С MySQL 5.6.3, innodb_locks_unsafe_for_binlog
осуждается и будет удален в будущем
выпуске MySQL.
Обычно, InnoDB
использует алгоритм, названный следующим ключом,
блокирующим, который комбинирует блокировку индексировать-строки с блокировкой
разрыва. InnoDB
выполняет привязку на уровне строки такого
пути, которые, когда это ищет или сканирует таблицу, индексируют, это устанавливает коллективные или
монопольные блокировки на индексировать записях, с которыми это встречается. Таким образом
блокировки на уровне строки являются фактически блокировками индексировать-записи. Кроме того,
следующая блокировка ключа на индексировать записи также влияет на "разрыв" прежде, чем это индексирует запись. Таким
образом, следующая блокировка ключа является блокировкой индексировать-записи плюс разрыв, соединяют
разрыв, предшествующий индексировать записи. Если у одного сеанса есть коллективная или монопольная
блокировка на записи R
в индексировании другой сеанс не может вставить
новое, индексируют запись в разрыве сразу прежде R
в индексировать
порядке. См. Раздел 14.2.3.5,"InnoDB
Запись, Разрыв, и Следующие блокировки ключа".
По умолчанию, значение innodb_locks_unsafe_for_binlog
0 (отключено),
что означает, что блокировка разрыва включается: InnoDB
следующие
блокировки ключа использования для поисков и индексируют сканирования. Чтобы включить переменной,
установите это в 1. Это заставляет блокировку разрыва быть отключенной: InnoDB
использование только блокировки индексировать-записи для
поисков и индексирует сканирования.
Включение innodb_locks_unsafe_for_binlog
не отключает использование
блокировки разрыва для ограничительной проверки внешнего ключа или двойной ключевой проверки.
Эффект включения innodb_locks_unsafe_for_binlog
подобно, но не
идентичен установке уровня изоляции транзакции к READ COMMITTED
:
Включение innodb_locks_unsafe_for_binlog
глобальная установка и влияет
на все сеансы, тогда как уровень изоляции может быть установлен глобально для всех сеансов,
или индивидуально на сеанс.
innodb_locks_unsafe_for_binlog
может быть установлен только
при запуске сервера, тогда как уровень изоляции может быть установлен при запуске или
изменен во времени выполнения.
READ
COMMITTED
поэтому предлагает более прекрасное и более гибкое управление чем innodb_locks_unsafe_for_binlog
. Для дополнительных деталей об эффекте
уровня изоляции на блокировке разрыва см. Раздел 13.3.6,"SET TRANSACTION
Синтаксис".
Включение innodb_locks_unsafe_for_binlog
может вызвать фантомные
проблемы, потому что другие сеансы могут вставить новые строки в разрывы, когда блокировка разрыва
отключается. Предположите, что есть индексирование на id
столбец child
таблица и что Вы хотите считать и заблокировать все строки от
таблицы, имеющей значение идентификатора, больше чем 100 с намерением обновить некоторый столбец в
выбранных строках позже:
SELECT * FROM child WHERE id > 100 FOR UPDATE;
Запрос сканирует индексировать запуск с первой записи где id
больше чем
100. Если набор блокировок на индексировать записях в том диапазоне не запирает, вставляет сделанный
в разрывы, другой сеанс может вставить новую строку в таблицу. Следовательно, если Вы должны были
выполнить то же самое SELECT
снова
в пределах той же самой транзакции, Вы видели бы новую строку в наборе результатов, возвращенном
запросом. Это также означает это, если новые элементы добавляются к базе данных, InnoDB
не гарантирует сериализуемость. Поэтому, если innodb_locks_unsafe_for_binlog
включается, InnoDB
гарантии самое большее уровень изоляции READ COMMITTED
. (Сериализуемость конфликта все еще
гарантируется.) Для дополнительной информации о фантомах, см. Раздел
14.2.3.6, "Избегая Фантомной проблемы Используя Блокировку Следующего ключа".
Включение innodb_locks_unsafe_for_binlog
имеет дополнительные эффекты:
Для UPDATE
или DELETE
операторы, InnoDB
содержит блокировки только для строк, которые это обновляет или удаляет. Блокировки записи
для того, чтобы несоответствовать строки выпускаются после того, как MySQL оценил WHERE
условие. Это значительно уменьшает вероятность мертвых
блокировок, но они могут все еще произойти.
Для UPDATE
операторы, если строка уже блокируется, InnoDB
выполняет "полунепротиворечивое"
чтение, возвращая последнюю переданную версию MySQL так, чтобы MySQL мог определить,
соответствует ли строка WHERE
условие UPDATE
. Если строка соответствует (должен быть обновлен),
MySQL читает строку снова и на сей раз InnoDB
или блокировки
это или ожидают блокировки на этом.
Рассмотрите следующий пример, начиная с этой таблицы:
CREATE TABLE t (a INT NOT NULL, b INT) ENGINE = InnoDB;INSERT INTO t VALUES (1,2),(2,3),(3,2),(4,3),(5,2);COMMIT;
В этом случае таблица имеет, не индексирует, так поискы, и индексируйте использование сканирований скрытый кластерный индекс для захвата записей (см. Раздел 14.2.3.13.2, "Кластеризируемый и Вторичный Индексирует").
Предположите, что один клиент выполняет UPDATE
использование этих операторов:
SET autocommit = 0;UPDATE t SET b = 5 WHERE b = 3;
Предположите также, что второй клиент выполняет UPDATE
выполняя эти операторы после таковых из первого клиента:
SET autocommit = 0;UPDATE t SET b = 4 WHERE b = 2;
Как InnoDB
выполняет каждого UPDATE
, это сначала получает монопольную блокировку для каждой
строки, и затем определяет, изменить ли это. Если InnoDB
не изменяет
строку и innodb_locks_unsafe_for_binlog
включается, это выпускает
блокировку. Иначе, InnoDB
сохраняет блокировку до конца транзакции. Это
влияет на обработку транзакций следующим образом.
Если innodb_locks_unsafe_for_binlog
отключается, первое UPDATE
получает x-блокировки и не выпускает ни одного из них:
x-lock(1,2); retain x-lockx-lock(2,3); update(2,3) to (2,5); retain x-lockx-lock(3,2); retain x-lockx-lock(4,3); update(4,3) to (4,5); retain x-lockx-lock(5,2); retain x-lock
Второе UPDATE
блоки, как только это пытается получить любые блокировки
(потому что первое обновление сохранило, соединяет все строки), и не продолжаются до первого UPDATE
фиксации или откатывают:
x-lock(1,2); block and wait for first UPDATE to commit or roll back
Если innodb_locks_unsafe_for_binlog
включается, первое UPDATE
получает x-блокировки и выпускает тех для строк, которые это
не изменяет:
x-lock(1,2); unlock(1,2)x-lock(2,3); update(2,3) to (2,5); retain x-lockx-lock(3,2); unlock(3,2)x-lock(4,3); update(4,3) to (4,5); retain x-lockx-lock(5,2); unlock(5,2)
Для второго UPDATE
, InnoDB
делает "полунепротиворечивое" чтение,
возвращая последнюю переданную версию каждой строки к MySQL так, чтобы MySQL мог определить,
соответствует ли строка WHERE
условие UPDATE
:
x-lock(1,2); update(1,2) to (1,4); retain x-lockx-lock(2,3); unlock(2,3)x-lock(3,2); update(3,2) to (3,4); retain x-lockx-lock(4,3); unlock(4,3)x-lock(5,2); update(5,2) to (5,4); retain x-lock
Формат командной строки | --innodb_log_buffer_size=# |
||
Формат файла опции | innodb_log_buffer_size |
||
Системное Имя переменной | innodb_log_buffer_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 8388608 |
||
Диапазон | 262144 .. 4294967295 |
Размер в байтах буфера это InnoDB
использование, чтобы записать в файлы журнала на диске.
Значение по умолчанию составляет 8 МБ. Большой буфер журнала позволяет
большим транзакциям
работать без потребности записать журнал в диск перед фиксацией транзакций.
Таким образом, если у Вас есть транзакции, которые обновляют, вставляют, или удаляют много строк,
заставляя журнал буферизовать больше сохраняет дисковый ввод-вывод. Для общего настраивающего совета
ввода-вывода см. Раздел 8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_log_compressed_pages=# |
||
Формат файла опции | innodb_log_compressed_pages |
||
Системное Имя переменной | innodb_log_compressed_pages
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Определяет, сохранены ли изображения пересжатый страницы
в InnoDB
журналы отката.
Формат командной строки | --innodb_log_file_size=# |
||
Формат файла опции | innodb_log_file_size |
||
Системное Имя переменной | innodb_log_file_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 50331648 |
||
Диапазон | 1048576 .. 512GB / innodb_log_files_in_group
|
Размер в байтах каждого файла
журнала в группе
журнала. Объединенный размер файлов журнала (innodb_log_file_size
*
innodb_log_files_in_group
)
не может превысить максимальное значение, которое является немного меньше чем 512 Гбайт. Пара файлов
журнала на 255 Гбайт, например, позволила бы Вам приближаться к пределу, но не превышать его.
Значение по умолчанию составляет 48 МБ. Заметные значения колеблются от 1 МБ до 1/N
-th размера пула буферов,
где N
число файлов журнала в группе. Чем больше значение,
тем меньше действия сброса контрольной точки необходимо в пуле буферов, сохраняя дисковый
ввод-вывод. Большие файлы журнала также делают восстановление
катастрофического отказа медленнее, хотя улучшения производительности восстановления в MySQL
5.5 и выше делают размер файла журнала меньшим количеством рассмотрения. Для общего настраивающего
совета ввода-вывода см. Раздел 8.5.7, "Оптимизируя
InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_log_files_in_group=# |
||
Формат файла опции | innodb_log_files_in_group |
||
Системное Имя переменной | innodb_log_files_in_group
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 2 |
||
Диапазон | 2 .. 100 |
Число файлов журнала в группе журнала. InnoDB
записи к файлам круговым способом. Значение по умолчанию (и
рекомендуемый) значение 2. Расположение этих файлов определяется innodb_log_group_home_dir
. Объединенный размер файлов журнала (innodb_log_file_size
* innodb_log_files_in_group
) могут быть до 512 Гбайт.
Формат командной строки | --innodb_log_group_home_dir=path |
||
Формат файла опции | innodb_log_group_home_dir |
||
Системное Имя переменной | innodb_log_group_home_dir
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | file name |
Путь к каталогу к InnoDB
файлы журнала отката,
число которых определяется innodb_log_files_in_group
. Если Вы не определяете никого InnoDB
переменные журнала, значение по умолчанию должно создать два
названные файла ib_logfile0
и ib_logfile1
в каталоге данных MySQL. Их размер дается размером innodb_log_file_size
системная переменная.
Формат командной строки | --innodb_lru_scan_depth=# |
||
Формат файла опции | innodb_lru_scan_depth |
||
Системное Имя переменной | innodb_lru_scan_depth
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Диаметр долота платформы | 32 |
||
Ввести | numeric |
||
Значение по умолчанию | 1024 |
||
Диапазон | 100 .. 2**32-1 |
||
Разрешенные Значения | |||
Диаметр долота платформы | 64 |
||
Ввести | numeric |
||
Значение по умолчанию | 1024 |
||
Диапазон | 100 .. 2**64-1 |
Параметр, который влияет на алгоритмы и эвристику для работы сброса для InnoDB
пул буферов. Прежде всего интереса для
экспертов по производительности, настраивающих рабочие нагрузки I/O-intensive. Это определяет на
экземпляр пула буферов, как далеко вниз пул буферов LRU перечисляет page_cleaner
распараллельте сканирования, ища грязные страницы, чтобы сбросить. Это -
фоновая работа, выполняемая однажды секунда. Если Вы имеете запасную емкость ввода-вывода при
типичной рабочей нагрузке, увеличиваете значение. Если интенсивная записью рабочая нагрузка насыщает
Вашу емкость ввода-вывода, уменьшите значение, особенно если у Вас есть большой пул буферов. Для
общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_max_dirty_pages_pct=# |
||
Формат файла опции | innodb_max_dirty_pages_pct |
||
Системное Имя переменной | innodb_max_dirty_pages_pct
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 75 |
||
Диапазон | 0 .. 99 |
InnoDB
попытки сбросить данные от пула
буферов так, чтобы процент грязных страниц не превысил это значение.
Определите целое число в диапазоне от 0 до 99. Значение по умолчанию 75. Для общего настраивающего
совета ввода-вывода см. Раздел 8.5.7, "Оптимизируя
InnoDB
Дисковый ввод-вывод".
innodb_max_dirty_pages_pct_lwm
Формат командной строки | --innodb_max_dirty_pages_pct_lwm=# |
||
Формат файла опции | innodb_max_dirty_pages_pct_lwm |
||
Системное Имя переменной | innodb_max_dirty_pages_pct_lwm
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 99 |
Низкий процент представления водяного знака грязных страниц, где предварительному сбрасыванию позволяют управлять отношением грязной страницы. Значение по умолчанию 0 отключает поведение перед сбрасыванием полностью.
Формат командной строки | --innodb_max_purge_lag=# |
||
Формат файла опции | innodb_max_purge_lag |
||
Системное Имя переменной | innodb_max_purge_lag
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 4294967295 |
Эта переменная управляет, как задержаться INSERT
,
UPDATE
,
и DELETE
операции, когда операции чистки
отстают (см. Раздел 14.2.3.11,"InnoDB
Мультиуправление версиями"). Значение по умолчанию 0
(никакие задержки).
InnoDB
система транзакции поддерживает список транзакций, которые имеют,
индексируют записи, удаляют - отмеченный UPDATE
или DELETE
операции. Длина этого списка представляет purge_lag
значение. Когда purge_lag
превышает innodb_max_purge_lag
, каждый INSERT
, UPDATE
,
и DELETE
работа задерживается.
Предотвратить чрезмерные задержки экстремальных ситуаций где purge_lag
становится огромным, можно поместить прописную
букву в количество задержки, устанавливая innodb_max_purge_lag_delay
параметр конфигурации. Задержка
вычисляется в начале пакета чистки.
Типичная установка для проблематичной рабочей нагрузки могла бы быть 1 миллионом, предполагая, что
транзакции являются маленькими, только 100 байтов в размере, и допустимо иметь 100 МБ неочищенных
InnoDB
строки таблицы.
Значение задержки выводится на экран как длина списка предыстории в TRANSACTIONS
раздел Монитора InnoDB выводится. Например, если вывод включает следующие строки, значение задержки
20:
------------TRANSACTIONS------------Trx id counter 0 290328385Purge done for trx's n:o < 0 290315608 undo n:o < 0 17History list length 20
Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_max_purge_lag_delay=# |
||
Формат файла опции | innodb_max_purge_lag_delay |
||
Системное Имя переменной | innodb_max_purge_lag_delay
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Минимальное Значение | 0 |
Определяет максимальную задержку миллисекунд для задержки, наложенной innodb_max_purge_lag
параметр конфигурации. Любое ненулевое значение
представляет верхний предел времени задержки, вычисленного от формулы, основанной на значении innodb_max_purge_lag
. Значение по умолчанию нулевых средств, что нет
никакого верхнего предела, наложенного на интервал задержки.
Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_monitor_disable=[counter|module|pattern|all] |
||
Формат файла опции | innodb_monitor_disable |
||
Системное Имя переменной | innodb_monitor_disable
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
Выключает один или более счетчиков в INFORMATION_SCHEMA.INNODB_METRICS
таблица. Для информации об
использовании см. Раздел 19.30.19,"
INFORMATION_SCHEMA INNODB_METRICS
Таблица".
Формат командной строки | --innodb_monitor_enable=name |
||
Формат файла опции | innodb_monitor_enable |
||
Системное Имя переменной | innodb_monitor_enable
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
Включает один или более счетчиков в INFORMATION_SCHEMA.INNODB_METRICS
таблица. Для информации об
использовании см. Раздел 19.30.19,"
INFORMATION_SCHEMA INNODB_METRICS
Таблица".
Формат командной строки | --innodb_monitor_reset=[counter|module|pattern|all] |
||
Формат файла опции | innodb_monitor_reset |
||
Системное Имя переменной | innodb_monitor_reset
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
Сбросы, чтобы обнулить значение количества для одного или более счетчиков в
INFORMATION_SCHEMA.INNODB_METRICS
таблица. Для информации об использовании см. Раздел
19.30.19," INFORMATION_SCHEMA INNODB_METRICS
Таблица".
Формат командной строки | --innodb_monitor_reset_all=[counter|module|pattern|all]
|
||
Формат файла опции | innodb_monitor_reset_all |
||
Системное Имя переменной | innodb_monitor_reset_all
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | string |
Сбросы все значения (минимум, максимум, и так далее) для одного или более счетчиков
в INFORMATION_SCHEMA.INNODB_METRICS
таблица. Для информации об использовании см. Раздел
19.30.19," INFORMATION_SCHEMA INNODB_METRICS
Таблица".
Формат командной строки | --innodb_old_blocks_pct=# |
||
Формат файла опции | innodb_old_blocks_pct |
||
Системное Имя переменной | innodb_old_blocks_pct
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 37 |
||
Диапазон | 5 .. 95 |
Определяет приблизительный процент InnoDB
пул
буферов используется для старого блочного подсписка. Диапазон значений 5
- 95. Значение по умолчанию 37 (то есть, 3/8 пула). Часто используемый в комбинации с innodb_old_blocks_time
. См. Раздел
8.9.1," InnoDB
Пул буферов" для информации об
управлении пулом буферов, таком как алгоритм LRU и политики замещения.
Формат командной строки | --innodb_old_blocks_time=# |
||
Формат файла опции | innodb_old_blocks_time |
||
Системное Имя переменной | innodb_old_blocks_time
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1000 |
||
Диапазон | 0 .. 2**32-1 |
Ненулевые значения защищают от пула буферов, являющегося заполненным данными, на которые ссылаются только в течение краткого периода, такой как во время полного сканирования таблицы. Увеличение этого значения предлагает больше защиты от полных сканирований таблицы, вмешивающихся в данные, кэшируемые в пуле буферов.
Определяет, сколько времени в миллисекундах (мс) блок, вставленный в старый подсписок, должен остаться там после его первого доступа прежде, чем это сможет быть перемещено в новый подсписок. Если значение 0, блок, вставленный в старый подсписок сразу, перемещается в новый подсписок в первый раз, когда к этому получают доступ, независимо от того как вскоре после вставки доступ происходит. Если значение больше чем 0, блоки остаются в старом подсписке, пока доступ не происходит, по крайней мере, что много мс после первого доступа. Например, значение 1000 причин блокирует, чтобы остаться в старом подсписке в течение 1 секунды после первого доступа прежде, чем они станут имеющими право переместиться в новый подсписок.
Значение по умолчанию 1000.
Эта переменная часто используется в комбинации с innodb_old_blocks_pct
. См. Раздел
8.9.1," InnoDB
Пул буферов" для информации об управлении
пулом буферов, таком как алгоритм LRU
и политики замещения.
innodb_online_alter_log_max_size
Формат командной строки | --innodb_online_alter_log_max_size=# |
||
Формат файла опции | innodb_online_alter_log_max_size |
||
Системное Имя переменной | innodb_online_alter_log_max_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 134217728 |
||
Диапазон | 65536 .. 2**64-1 |
Определяет верхний предел размера временных файлов журнала, используемых во время онлайновых
операций DDL для InnoDB
таблицы. Есть один такой файл журнала для каждого, индексируют
быть создаваемым или измененную таблицу. Этот файл журнала хранит данные, вставленные, обновленные,
или удаленный в таблице во время работы DDL. Временный файл журнала расширяется при необходимости
значением innodb_sort_buffer_size
, до максимума, определенного innodb_online_alter_log_max_size
. Если какой-либо временный файл
журнала превышает верхний предел размера, ALTER TABLE
сбои работы и все незафиксированные параллельные
операции DML откатываются. Таким образом большое значение для этой опции позволяет большему
количеству DML происходить во время онлайновой работы DDL, но также и вызывает более длительный
период в конце работы DDL, когда таблица блокируется, чтобы применить данные от журнала.
Формат командной строки | --innodb_open_files=# |
||
Формат файла опции | innodb_open_files |
||
Системное Имя переменной | innodb_open_files
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | -1 (autosized) |
||
Диапазон | 10 .. 4294967295 |
Эта переменная релевантна, только если Вы используете многократный InnoDB
табличные области. Это определяет
максимальное количество .ibd
файлы, которые MySQL может сохранить открытым когда-то.
Минимальное значение 10. Значение по умолчанию 300 если innodb_file_per_table
не включается, и выше 300 и table_open_cache
иначе.
Дескрипторы файлов, используемые для .ibd
файлы для InnoDB
таблицы только. Они независимы от определенных --open-files-limit
параметр сервера, и не влияет на работу табличного
кэша. Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_optimize_fulltext_only=# |
||
Формат файла опции | innodb_optimize_fulltext_only |
||
Системное Имя переменной | innodb_optimize_fulltext_only
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Изменяет путь OPTIMIZE TABLE
оператор работает на InnoDB
таблицы. Предназначенный, чтобы быть
включенным временно, во время операций обслуживания для InnoDB
таблицы
с FULLTEXT
индексирует.
По умолчанию, OPTIMIZE TABLE
реорганизовывает данные в кластерном
индексе таблицы. Когда эта опция включается, OPTIMIZE TABLE
пропуски эта перестройка табличных данных, и вместо этого обрабатывают недавно добавленные,
удаленные, и обновленные маркерные данные для a FULLTEXT
индексируйте,
См. Раздел 14.2.3.13.3,"FULLTEXT
Индексирует" для получения дополнительной
информации о FULLTEXT
индексирует для InnoDB
таблицы.
Формат командной строки | --innodb_page_size=#k |
||
Формат файла опции | innodb_page_size |
||
Системное Имя переменной | innodb_page_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | 16384 |
||
Допустимые Значения | 4k |
||
8k |
|||
16k |
|||
4096 |
|||
8192 |
|||
16384 |
Определяет размер страницы
для всех InnoDB
табличные области в экземпляре MySQL. Это
значение устанавливается, когда экземпляр создается и остается постоянным впоследствии. Можно
определить размер страницы, используя значения 16k
(значение по
умолчанию), 8k
, или 4k
.
Значение по умолчанию, с самым большим размером страницы, является подходящим для широкого диапазона
рабочих нагрузок, особенно
для запросов, включающих сканирования таблицы и операции DML, включающие массовые обновления.
Меньшие размеры страницы могли бы быть более эффективными для рабочих нагрузок OLTP,
включающих много маленьких записей, где конкуренция может быть проблемой, когда единственная
страница содержит много строк. Меньшие страницы могли бы также быть эффективными с устройствами
хранения SSD, которые обычно
используют маленькие размеры блока. Хранение InnoDB
размер страницы
близко к размеру блока устройства хранения минимизирует количество неизменных данных, которые
переписываются к диску. Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_print_all_deadlocks=# |
||
Формат файла опции | innodb_print_all_deadlocks |
||
Системное Имя переменной | innodb_print_all_deadlocks
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Когда эта опция включается, информация обо всех мертвых блокировках в InnoDB
пользовательские транзакции записываются в mysqld
журнал
ошибок. Иначе, Вы видите информацию о только последней мертвой блокировке, используя SHOW ENGINE INNODB STATUS
команда. Случайное InnoDB
мертвая блокировка является не обязательно проблемой, потому что InnoDB
сразу обнаруживает условие, и откатывает одну из транзакций автоматически. Вы могли бы использовать
эту опцию, чтобы диагностировать, почему мертвые блокировки происходят, если у приложения нет
соответствующей логики обработки ошибок, чтобы обнаружить откат и повторить его работу. Большое
количество мертвых блокировок могло бы указать на потребность реструктурировать транзакции та
проблема DML или SELECT ... FOR UPDATE
операторы для многократных таблиц, так, чтобы
каждая транзакция получила доступ к таблицам в том же самом порядке, таким образом избегая условия
мертвой блокировки.
Формат командной строки | --innodb_purge_batch_size=# |
||
Формат файла опции | innodb_purge_batch_size |
||
Системное Имя переменной | innodb_purge_batch_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 300 |
||
Диапазон | 1 .. 5000 |
Гранулярность изменений, выраженных в модулях записей журнала отката, тот
триггер работа чистки, сбрасывая
измененные блоки пула
буферов к диску. Эта опция предназначается для того, чтобы настроить производительность в
комбинации с установкой innodb_purge_threads=
, и типичные пользователи не должны изменить
это. n
Формат командной строки | --innodb_purge_threads=# |
||
Формат файла опции | innodb_purge_threads |
||
Системное Имя переменной | innodb_purge_threads
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1 |
||
Диапазон | 1 .. 32 |
Число фоновых потоков, посвященных InnoDB, производит чистку работы. Значение по умолчанию и минимальное значение 1 показывают, что работа чистки всегда не выполняется фоновыми потоками, никогда как часть основного потока. Ненулевые значения выполняют работу чистки в одном или более фоновых потоках, которые могут уменьшить внутреннюю конкуренцию в пределах InnoDB, улучшая масштабируемость. Увеличение значения к большему чем 1 создает это много отдельных потоков чистки, которые могут улучшить эффективность относительно систем, где операции DML выполняются на многократных таблицах. Максимум 32.
Формат командной строки | --innodb_random_read_ahead=# |
||
Формат файла опции | innodb_random_read_ahead |
||
Системное Имя переменной | innodb_random_read_ahead
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Включает случайному методу чтения
вперед для того, чтобы оптимизировать InnoDB
Ввод-вывод. Это -
установка, которая была первоначально на по умолчанию, затем была удалена в MySQL 5.5, и теперь
доступна, но выключается по умолчанию. См. Раздел
14.2.4.2.16, "Изменения в Алгоритме Чтения вперед" для деталей о соображениях
производительности для различных типов чтения вперед запрашивают. Для общего настраивающего совета
ввода-вывода см. Раздел 8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_read_ahead_threshold=# |
||
Формат файла опции | innodb_read_ahead_threshold |
||
Системное Имя переменной | innodb_read_ahead_threshold
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 56 |
||
Диапазон | 0 .. 64 |
Управляет чувствительностью линейного чтения вперед это InnoDB
использование, чтобы выбрать страницы с упреждением в пул буферов. Если
InnoDB
чтения, по крайней мере, innodb_read_ahead_threshold
страницы последовательно от степени (64 страницы), это инициирует асинхронное
чтение для всей следующей степени. Допустимый диапазон значений от 0 до 64. Значение по умолчанию
56: InnoDB
должен считать по крайней мере 56 страниц последовательно из
степени, чтобы инициировать асинхронное чтение для следующей степени. Для общего настраивающего
совета ввода-вывода см. Раздел 8.5.7, "Оптимизируя
InnoDB
Дисковый ввод-вывод".
Формат командной строки | --innodb_read_io_threads=# |
||
Формат файла опции | innodb_read_io_threads |
||
Системное Имя переменной | innodb_read_io_threads
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 4 |
||
Диапазон | 1 .. 64 |
Число ввода-вывода распараллеливает для операций чтения в InnoDB
.
Значение по умолчанию 4. Его дубликат для потоков записи innodb_write_io_threads
. Для общего настраивающего совета
ввода-вывода см. Раздел 8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
На системах Linux, выполняя многократные серверы MySQL (обычно больше чем 12) с
настройками по умолчанию для innodb_read_io_threads
, innodb_write_io_threads
, и Linux aio-max-nr
установка может превысить системные пределы. Идеально, увеличьтесь aio-max-nr
установка; как обходное решение, Вы могли бы уменьшить настройки для одного или обоих из
параметров конфигурации MySQL.
Формат командной строки | --innodb_read_only=# |
||
Формат файла опции | innodb_read_only |
||
Системное Имя переменной | innodb_read_only
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Запускает сервер в режиме только для чтения. Для распределительных приложений базы данных или наборов данных на носителях только для чтения. Может также использоваться в хранилищах данных, чтобы совместно использовать тот же самый каталог данных между многократными экземплярами. См. Раздел 14.2.5.1, "Поддержка Носителей Только для чтения" для инструкций использования.
Формат командной строки | --innodb_replication_delay=# |
||
Формат файла опции | innodb_replication_delay |
||
Системное Имя переменной | innodb_replication_delay
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 4294967295 |
Задержка потока репликации (в мс) на ведомом сервере, если innodb_thread_concurrency
достигается.
Формат командной строки | --innodb_rollback_on_timeout |
||
Формат файла опции | innodb_rollback_on_timeout |
||
Системное Имя переменной | innodb_rollback_on_timeout
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
В MySQL 5.7, InnoDB
откатывает только последний
оператор на тайм-ауте транзакции по умолчанию. Если --innodb_rollback_on_timeout
определяется, тайм-аут транзакции
вызывает InnoDB
прерывать и откатывать всю транзакцию (то же самое
поведение как в MySQL 4.1).
Формат командной строки | --innodb_rollback_segments=# |
||
Формат файла опции | innodb_rollback_segments |
||
Системное Имя переменной | innodb_rollback_segments
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 128 |
||
Диапазон | 1 .. 128 |
Определяет, сколько из сегментов отката в системной
табличной области, которую InnoDB использует в пределах транзакции.
Эта установка, в то время как все еще допустимый, заменяется innodb_undo_logs
.
Формат командной строки | --innodb_sort_buffer_size=# |
||
Формат файла опции | innodb_sort_buffer_size |
||
Системное Имя переменной | innodb_sort_buffer_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1048576 |
||
Диапазон | 65536 .. 67108864 |
Определяет размеры нескольких буферов, используемых для того, чтобы сортировать данные во время
создания InnoDB
индексировать. Прежде, чем эта установка была сделана
конфигурируемой, размер был hardcoded к 1 МБ, и то значение остается значением по умолчанию. Эта
область вида только используется для сортировок слиянием во время создания индекса, не во время
более поздних операций ведения индексов. Во время ALTER TABLE
или CREATE TABLE
оператор, который создает индексирование, 3 буфера,
выделяется, каждый с размером, определенным этой опцией. Эти буферы освобождаются, когда создание
индекса завершается.
Значение этой опции также управляет количеством, которым временный файл журнала расширяется, чтобы записать параллельный DML во время онлайновых операций DDL.
Формат командной строки | --innodb_spin_wait_delay=# |
||
Формат файла опции | innodb_spin_wait_delay |
||
Системное Имя переменной | innodb_spin_wait_delay
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 6 |
||
Диапазон | 0 .. 4294967295 |
Максимальная задержка между опросами для спин-блокировки. Низкоуровневая реализация этого механизма изменяется в зависимости от комбинации системы аппаратного обеспечения и операционной системы, таким образом, задержка не соответствует фиксированному временному интервалу. Значение по умолчанию 6.
Формат командной строки | --innodb_stats_auto_recalc=# |
||
Формат файла опции | innodb_stats_auto_recalc |
||
Системное Имя переменной | innodb_stats_auto_recalc
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Причины InnoDB
чтобы автоматически повторно вычислить персистентную
статистику после, данные в таблице изменяются существенно. Пороговое значение - в настоящий
момент 10 % строк в таблице. Эта установка применяется к таблицам, составленным когда innodb_stats_persistent
опция включается, или где пункт STATS_PERSISTENT=1
включается a CREATE TABLE
или ALTER TABLE
оператор. Объемом данных, выбранным, чтобы произвести
статистику, управляют innodb_stats_persistent_sample_pages
параметр конфигурации.
Формат командной строки | --innodb_stats_method=name |
||
Формат файла опции | innodb_stats_method |
||
Системное Имя переменной | innodb_stats_method
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | enumeration |
||
Значение по умолчанию | nulls_equal |
||
Допустимые Значения | nulls_equal |
||
nulls_unequal |
|||
nulls_ignored |
Как сервер обрабатывает NULL
значения, собирая статистические
данные о распределении индексируют значения для InnoDB
таблицы. У
этой переменной есть три возможных значения, nulls_equal
, nulls_unequal
, и nulls_ignored
. Для
nulls_equal
, все NULL
индексируйте
значения, считаются равными и формируют единственную группу значения, у которой есть размер, равный
числу NULL
значения. Для nulls_unequal
,
NULL
значения считают неравными, и каждый NULL
формирует отличную группу значения размера 1. Для nulls_ignored
, NULL
значения
игнорируются.
Метод, который используется для того, чтобы генерировать табличные влияния статистики, как
оптимизатор выбирает, индексирует для выполнения запроса, как описано в Разделе
8.3.7,"InnoDB
и MyISAM
Индексируйте Набор Статистики".
Формат командной строки | --innodb_stats_on_metadata |
||
Формат файла опции | innodb_stats_on_metadata |
||
Системное Имя переменной | innodb_stats_on_metadata
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Когда эта переменная включается, InnoDB
статистика
обновлений во время операторов метаданных такой как SHOW TABLE STATUS
или SHOW INDEX
, или получая доступ INFORMATION_SCHEMA
таблицы TABLES
или STATISTICS
. (Эти обновления подобны тому, что происходит для ANALYZE TABLE
.)
Когда отключено, InnoDB
не обновляет статистику во время этих операций.
Отъезд этой отключенной установки может улучшить скорость доступа для схем, у которых есть большое
количество таблиц, или индексирует. Это может также улучшить устойчивость планов
выполнения относительно запросов, которые включают InnoDB
таблицы.
Эта переменная отключается по умолчанию.
Формат командной строки | --innodb_stats_persistent=setting |
||
Формат файла опции | innodb_stats_persistent |
||
Системное Имя переменной | innodb_stats_persistent
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
||
Допустимые Значения | OFF |
||
ON |
|||
0 |
|||
1 |
|||
default |
Определяет ли InnoDB
индексируйте статистику, произведенную ANALYZE TABLE
команда сохранена на диске, оставаясь непротиворечивой до
последующего ANALYZE TABLE
. Иначе, статистические данные повторно
вычисляются более часто, такой как в каждом перезапуске сервера, который может привести к изменениям
в планах
выполнения запроса. Эта установка сохранена каждой таблицей, когда таблица составляется.
Можно определить или изменить это через SQL с STATS_PERSISTENT
пункт CREATE TABLE
и ALTER TABLE
команды.
innodb_stats_persistent_sample_pages
Формат командной строки | --innodb_stats_persistent_sample_pages=# |
||
Формат файла опции | innodb_stats_persistent_sample_pages |
||
Системное Имя переменной | innodb_stats_persistent_sample_pages
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 20 |
Число индексных страниц к выборке,
оценивая количество
элементов и другую статистику
для индексированного столбца, таких как вычисленные ANALYZE TABLE
. Увеличение значения улучшается, точность
индексируют статистику, которая может улучшить план выполнения
запроса, за счет увеличенного ввода-вывода во время выполнения ANALYZE TABLE
для InnoDB
таблица.
Эта опция только применяется когда innodb_stats_persistent
установка включается для таблицы; когда та
опция выключается для таблицы, innodb_stats_transient_sample_pages
установка применяется вместо
этого.
Осуждаемый | 5.6.3 | ||
Формат командной строки | --innodb_stats_sample_pages=# |
||
Формат файла опции | innodb_stats_sample_pages |
||
Системное Имя переменной | innodb_stats_sample_pages
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 8 |
||
Диапазон | 1 .. 2**64-1 |
Осуждаемый, использовать innodb_stats_transient_sample_pages
вместо этого.
innodb_stats_transient_sample_pages
Формат командной строки | --innodb_stats_transient_sample_pages=# |
||
Формат файла опции | innodb_stats_transient_sample_pages |
||
Системное Имя переменной | innodb_stats_transient_sample_pages
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 8 |
Число индексных страниц к выборке,
оценивая количество
элементов и другую статистику
для индексированного столбца, таких как вычисленные ANALYZE TABLE
. Значение по умолчанию 8. Увеличение значения
улучшается, точность индексируют статистику, которая может улучшить план
выполнения запроса, за счет увеличенного ввода-вывода, открываясь InnoDB
таблица или перевычисление статистики.
Эта опция только применяется когда innodb_stats_persistent
установка выключается для таблицы; когда эта
опция включается для таблицы, innodb_stats_persistent_sample_pages
установка применяется вместо
этого. Берет место innodb_stats_sample_pages
опция. Для получения
дополнительной информации см. Раздел
14.2.5,"InnoDB
Функции Гибкости, Простоты использования и
Надежности".
Формат командной строки | --innodb_strict_mode=# |
||
Формат файла опции | innodb_strict_mode |
||
Системное Имя переменной | innodb_strict_mode
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | OFF |
Ли InnoDB
ошибки возвратов, а не предупреждения для определенных
условий. Это походит на строгий режим SQL. Значение по умолчанию OFF
.
См. Раздел 14.2.5.7,"InnoDB
Строгий Режим" для списка условий, на которые влияют.
Формат командной строки | --innodb_support_xa |
||
Формат файла опции | innodb_support_xa |
||
Системное Имя переменной | innodb_support_xa
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | TRUE |
Включает InnoDB
поддержка двухфазной фиксации в транзакциях XA, вызывая дополнительный дисковый
сброс для подготовки к транзакции. Эта установка является значением по умолчанию. Механизм XA
используется внутренне и важен для любого сервера, которому включали его двоичный журнал и принимает
изменения к его данным больше чем от одного потока. Если Вы выключаете это, транзакции могут быть
записаны двоичному файлу, входят в систему различный порядок от того, в котором живая база данных
фиксирует их. Это может произвести различные данные, когда двоичный журнал воспроизводится в
аварийном восстановлении или на ведомом устройстве репликации. Не выключайте это на главном сервере
репликации, если у Вас нет необычной установки, где только один поток в состоянии изменить данные.
Для сервера, который принимает, данные изменяются только от одного потока, это безопасно и
рекомендуется выключить эту опцию, чтобы улучшить производительность для InnoDB
таблицы. Например, можно выключить это на ведомых устройствах репликации, где только поток SQL
репликации изменяет данные.
Можно также выключить эту опцию, если Вы не нуждаетесь в ней для безопасного двоичного журналирования или репликации, и Вы также не используете внешний менеджер транзакций XA.
Формат командной строки | --innodb_sync_array_size=# |
||
Формат файла опции | innodb_sync_array_size |
||
Системное Имя переменной | innodb_sync_array_size
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 1 |
||
Диапазон | 1 .. 1024 |
Разделяет внутреннюю структуру данных, используемую, чтобы скоординировать потоки, для более высокого параллелизма в рабочих нагрузках с большими количествами потоков ожидания. Эта установка должна быть сконфигурирована, когда экземпляр MySQL запускает, и не может быть изменен позже. Увеличение этого значения опции рекомендуется для рабочих нагрузок, которые часто производят большое количество потоков ожидания, обычно больше чем 768.
Формат командной строки | --innodb_sync_spin_loops=# |
||
Формат файла опции | innodb_sync_spin_loops |
||
Системное Имя переменной | innodb_sync_spin_loops
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 30 |
||
Диапазон | 0 .. 4294967295 |
Число раз поток ожидает InnoDB
взаимное исключение, которое будет
освобождено перед потоком, приостанавливается. Значение по умолчанию 30.
Формат командной строки | --innodb_table_locks |
||
Формат файла опции | innodb_table_locks |
||
Системное Имя переменной | innodb_table_locks
|
||
Переменный Контекст | Глобальная переменная, Сеанс | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | TRUE |
Если autocommit
= 0
, InnoDB
почести LOCK TABLES
; MySQL не возвращается из LOCK
TABLES ... WRITE
пока все другие потоки не выпустили все свои блокировки к таблице. Значение
по умолчанию innodb_table_locks
1, что означает это LOCK TABLES
причины InnoDB, чтобы заблокировать таблицу
внутренне, если autocommit = 0
.
В MySQL 5.7, innodb_table_locks = 0
не имеет никакого эффекта для таблиц,
заблокированных явно с LOCK TABLES ... WRITE
. Это действительно имеет эффект для таблиц,
заблокированных для чтения, или пишет LOCK TABLES ... WRITE
неявно (например, через триггеры) или LOCK TABLES ...
READ
.
Представленный | 5.7.1 | ||
Формат командной строки | --innodb_temp_data_file_path=file |
||
Формат файла опции | innodb_temp_data_file_path |
||
Системное Имя переменной | innodb_temp_data_file_path
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | ibtmp1:12M:autoextend |
Пути к человеку InnoDB
временные файлы данных и их размеры. Полный путь
к каталогу к каждому файлу данных формируется, конкатенируя innodb_data_home_dir
к каждому пути, определенному здесь. Размеры
файла определяются в Кбайте, Мбайте, или Гбайт (1024 МБ), добавляя K
,
M
, или G
к значению размера. Сумма
размеров файлов должна быть, по крайней мере, немного больше чем 12 МБ. Если Вы не определяете innodb_temp_data_file_path
, поведение значения по умолчанию должно
создать единственный авторасширяющийся временный файл данных, немного больше чем 12 МБ, названных
ibtmp1
. Предел размера отдельных файлов определяется Вашей
операционной системой. Можно установить размер файла больше чем в 4 Гбайт на тех операционных
системах, которые поддерживают большие файлы. Использование необработанных разделов диска как
временные файлы данных не поддерживается.
Имя a InnoDB
временный файл данных не может быть тем же самым как
именем a InnoDB
файл данных. Любая неспособность или ошибка, создающая
временный файл данных, обрабатываются как фатальные, и запуску сервера откажут. У временной
табличной области есть динамически сгенерированный идентификатор пространства, который может
измениться на каждом перезапуске сервера.
Формат командной строки | --innodb_thread_concurrency=# |
||
Формат файла опции | innodb_thread_concurrency |
||
Системное Имя переменной | innodb_thread_concurrency
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 1000 |
InnoDB
попытки сохранить число операционной системы распараллеливают
одновременно внутри InnoDB
меньше чем или равный пределу, данному этой
переменной. Как только число потоков достигает этого предела, дополнительные потоки помещаются в
состояние ожидания в пределах очереди FIFO для выполнения. Потоки, ожидающие блокировок, не
считаются в числе параллельного выполнения потоков.
Корректное значение для этой переменной зависит от среды и рабочей нагрузки. Попробуйте диапазон различных значений, чтобы определить, какое значение работает на Ваши приложения. Рекомендуемое значение является 2 раза числом ЦП плюс число дисков.
Диапазон этой переменной от 0 до 1000. Значение 0 (значение по умолчанию) интерпретируется как
бесконечный параллелизм (никакая проверка параллелизма). Отключение проверки параллелизма потока
позволяет InnoDB создать так много потоков, как это нуждается. Значение 0 также отключает queries inside InnoDB
и queries in queue
counters
в ROW OPERATIONS
раздел SHOW
ENGINE INNODB STATUS
вывод.
Формат командной строки | --innodb_thread_sleep_delay=# |
||
Формат файла опции | innodb_thread_sleep_delay |
||
Системное Имя переменной | innodb_thread_sleep_delay
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 10000 |
Сколько времени InnoDB
сон потоков прежде, чем присоединиться InnoDB
очередь, в микросекундах. Значение по умолчанию 10 000. Значение 0
отключает сон. В MySQL 5.6.3 и выше, можно установить параметр конфигурации innodb_adaptive_max_sleep_delay
к самому высокому значению Вы
учли бы innodb_thread_sleep_delay
, и InnoDB автоматически
корректируется innodb_thread_sleep_delay
или вниз в зависимости от
текущего действия планирования потоков. Эта динамическая корректировка помогает механизму
планирования потоков работать гладко в течение времен, когда система слегка загружается и когда это
управляет близкой полной мощностью.
Формат командной строки | --innodb_undo_directory=name |
||
Формат файла опции | innodb_undo_directory |
||
Системное Имя переменной | innodb_undo_directory
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | . |
Относительный или абсолютный путь к каталогу, где InnoDB
создает
отдельные табличные области для журналов отмены. Обычно используемый, чтобы разместить тех входит в
систему различное устройство хранения. Используемый в соединении с innodb_undo_logs
и innodb_undo_tablespaces
, которые определяют дисковое расположение
журналов отмены вне системной табличной области. Его значение по
умолчанию .
представляет тот же самый каталог где InnoDB
создает его другие файлы журнала по умолчанию.
Формат командной строки | --innodb_undo_logs=# |
||
Формат файла опции | innodb_undo_logs |
||
Системное Имя переменной | innodb_undo_logs
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 128 |
||
Диапазон | 0 .. 128 |
Определяет сколько из сегментов отката в системной
табличной области это InnoDB
использование в пределах транзакции. Эта
установка является подходящей для настройки производительности, если Вы наблюдаете взаимоисключающую
конкуренцию, связанную с журналами отмены. Замены innodb_rollback_segments
установка. Для общего количества доступных
журналов отмены, а не числа активных, см. Innodb_available_undo_logs
переменная состояния.
Хотя можно увеличиться или уменьшиться, сколько сегментов отката используется в пределах транзакции,
число сегментов отката, физически существующих в системе никогда, не уменьшается. Таким образом Вы
могли бы запустить с низкой стоимости для этого параметра и постепенно увеличивать его, чтобы
избежать выделять сегменты отката, которые не необходимы позже. Если innodb_undo_logs
не устанавливается, это принимает значение по
умолчанию к максимальному значению 128. Для получения информации об управляющих сегментах отката см.
Раздел 14.2.3.11,"InnoDB
Мультиуправление версиями".
Формат командной строки | --innodb_undo_tablespaces=# |
||
Формат файла опции | innodb_undo_tablespaces |
||
Системное Имя переменной | innodb_undo_tablespaces
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 126 |
Число файлов табличной
области, между которыми делятся журналы отмены, когда Вы используете
ненулевое innodb_undo_logs
установка. По умолчанию все журналы отмены являются частью системной
табличной области, и системная табличная область будет всегда содержать одну табличную
область отмены в дополнение к сконфигурированным innodb_undo_tablespaces
. Поскольку журналы отмены могут стать
большими во время продолжительных транзакций, разделение журналов отмены между многократными
табличными областями уменьшает максимальный размер любой табличной области. Файлы табличной области
создаются в расположении, определенном innodb_undo_directory
, с именами формы undo
, где N
N
последовательная серия целых чисел, включая
начальные нули. Размер значения по умолчанию файлов табличных областей отмены 10M. Число innodb_undo_tablespaces
должен быть установлен до инициализации
InnoDB
. Попытка перезапустить InnoDB
после
изменения числа innodb_undo_tablespaces
приведет к отказавшему запуску с ошибкой,
утверждая, что InnoDB не находил ожидаемое число табличных областей отмены.
Формат командной строки | --innodb_use_native_aio=# |
||
Формат файла опции | innodb_use_native_aio |
||
Системное Имя переменной | innodb_use_native_aio
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Определяет, использовать ли Linux асинхронная подсистема ввода-вывода. Эта переменная применяется к системам Linux только, и не может быть заменена, в то время как сервер работает.
Обычно, Вы не должны коснуться этой опции, потому что она включается по умолчанию. Если проблема с
асинхронной подсистемой ввода-вывода в ОС предотвращает InnoDB
от
запуска запустите сервер с этой отключенной переменной (использование innodb_use_native_aio=0
в файле опции). Эта опция могла также
быть выключена автоматически во время запуска, если InnoDB
обнаруживает
потенциальную проблему, такую как комбинация tmpdir
расположение, tmpfs
файловая система, и ядро Linux это, который не поддерживает AIO
на tmpfs
.
Осуждаемый | 5.6.3 | ||
Формат командной строки | --innodb_use_sys_malloc=# |
||
Формат файла опции | innodb_use_sys_malloc |
||
Системное Имя переменной | innodb_use_sys_malloc
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | ON |
Ли InnoDB
использует средство выделения памяти операционной системы
(ON
) или его собственное (OFF
). Значение
по умолчанию ON
.
С MySQL 5.6.3, innodb_use_sys_malloc
осуждается и будет удален в будущем выпуске
MySQL.
InnoDB
номер версии. В 5.7, отдельная нумерация для InnoDB
не применяется и это значение является тем же самым что касается
version
переменная.
Формат командной строки | --innodb_write_io_threads=# |
||
Формат файла опции | innodb_write_io_threads |
||
Системное Имя переменной | innodb_write_io_threads
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 4 |
||
Диапазон | 1 .. 64 |
Число ввода-вывода распараллеливает для операций записи в InnoDB
.
Значение по умолчанию 4. Его дубликат для потоков чтения innodb_read_io_threads
. Для общего настраивающего совета
ввода-вывода см. Раздел 8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".
На системах Linux, выполняя многократные серверы MySQL (обычно больше чем 12) с
настройками по умолчанию для innodb_read_io_threads
, innodb_write_io_threads
,
и Linux aio-max-nr
установка может превысить системные пределы.
Идеально, увеличьтесь aio-max-nr
установка; как обходное решение,
Вы могли бы уменьшить настройки для одного или обоих из параметров конфигурации MySQL.
sync_binlog
Формат командной строки | --sync-binlog=# |
||
Формат файла опции | sync_binlog |
||
Системное Имя переменной | sync_binlog
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Да | ||
Разрешенные Значения | |||
Диаметр долота платформы | 32 |
||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 4294967295 |
||
Разрешенные Значения | |||
Диаметр долота платформы | 64 |
||
Ввести | numeric |
||
Значение по умолчанию | 0 |
||
Диапазон | 0 .. 18446744073709547520 |
Если значение этой переменной больше чем 0, сервер MySQL синхронизирует свой двоичный журнал с
диском (использование fdatasync()
) после каждого sync_binlog
записи к двоичному журналу. Есть одна запись к
двоичному журналу на оператор, если автоматическая фиксация включается, и одна запись на транзакцию
иначе. Значение по умолчанию sync_binlog
0, который не делает никакой синхронизации с диском.
Значение 1 является самым безопасным выбором, потому что в случае катастрофического отказа Вы
теряете самое большее один оператор или транзакцию от двоичного журнала. Однако, это - также самый
медленный выбор (если у диска нет поддержанного батареей кэша, который делает синхронизацию очень
быстро). Для общего настраивающего совета ввода-вывода см. Раздел
8.5.7, "Оптимизируя InnoDB
Дисковый ввод-вывод".