The MySQL server maintains many system variables that indicate
how it is configured. Each system variable has a default value.
System variables can be set at server startup using options on
the command line or in an option file. Most of them can be
changed dynamically while the server is running by means of the
SET statement, which enables you to modify
operation of the server without having to stop and restart it.
You can refer to system variable values in expressions.
There are several ways to see the names and values of system variables:
To see the values that a server will use based on its compiled-in defaults and any option files that it reads, use this command:
mysqld --verbose --help
To see the values that a server will use based on its compiled-in defaults, ignoring the settings in any option files, use this command:
mysqld --no-defaults --verbose --help
To see the current values used by a running server, use the
SHOW VARIABLES statement.
This section provides a description of each system variable. Variables with no version indicated are present in all MySQL 5.1 releases. For historical information concerning their implementation, please see MySQL 5.0 Reference Manual and MySQL 3.23, 4.0, 4.1 Reference Manual.
The following table lists all available system variables:
| Name | Cmd-Line | Option file | System Var | Status Var | Var Scope | Dynamic |
|---|---|---|---|---|---|---|
| autocommit | Yes | Session | Yes | |||
| auto-increment-increment | Yes | Yes | Both | Yes | ||
| - Variable: auto_increment_increment | Yes | Both | Yes | |||
| auto-increment-offset | Yes | Yes | Both | Yes | ||
| - Variable: auto_increment_offset | Yes | Both | Yes | |||
| automatic_sp_privileges | Yes | Global | Yes | |||
| back_log | Yes | Yes | Yes | Global | No | |
| basedir | Yes | Yes | Yes | Global | No | |
| big-tables | Yes | Yes | Session | Yes | ||
| - Variable: big_tables | Yes | Session | Yes | |||
| binlog_cache_size | Yes | Yes | Yes | Global | Yes | |
| binlog-format | Yes | Yes | Both | Yes | ||
| - Variable: binlog_format | Yes | Both | Yes | |||
| bulk_insert_buffer_size | Yes | Yes | Yes | Both | Yes | |
| character_set_client | Yes | Both | Yes | |||
| character_set_connection | Yes | Both | Yes | |||
| character_set_database | Yes | Both | Yes | |||
| character-set-filesystem | Yes | Yes | Both | Yes | ||
| - Variable: character_set_filesystem | Yes | Both | Yes | |||
| character_set_results | Yes | Both | Yes | |||
| character-sets-dir | Yes | Yes | Global | No | ||
| - Variable: character_sets_dir | Yes | Global | No | |||
| character-set-server | Yes | Yes | Both | Yes | ||
| - Variable: character_set_server | Yes | Both | Yes | |||
| character_set_system | Yes | Global | No | |||
| collation_connection | Yes | Both | Yes | |||
| collation_database | Yes | Both | Yes | |||
| collation-server | Yes | Yes | Both | Yes | ||
| - Variable: collation_server | Yes | Both | Yes | |||
| completion_type | Yes | Yes | Yes | Both | Yes | |
| concurrent_insert | Yes | Yes | Yes | Global | Yes | |
| connect_timeout | Yes | Yes | Yes | Global | Yes | |
| datadir | Yes | Yes | Yes | Global | No | |
| date_format | Yes | Both | Yes | |||
| datetime_format | Yes | Yes | Yes | Both | Yes | |
| debug | Yes | Yes | Yes | Both | Yes | |
| default_week_format | Yes | Yes | Yes | Both | Yes | |
| delayed_insert_limit | Yes | Yes | Yes | Global | Yes | |
| delayed_insert_timeout | Yes | Yes | Yes | Global | Yes | |
| delayed_queue_size | Yes | Yes | Yes | Global | Yes | |
| delay-key-write | Yes | Yes | Global | Yes | ||
| - Variable: delay_key_write | Yes | Global | Yes | |||
| div_precision_increment | Yes | Yes | Yes | Both | Yes | |
| engine-condition-pushdown | Yes | Yes | Both | Yes | ||
| - Variable: engine_condition_pushdown | Yes | Both | Yes | |||
| error_count | Yes | Session | No | |||
| event-scheduler | Yes | Yes | Yes | Global | Yes | |
| expire_logs_days | Yes | Yes | Yes | Global | Yes | |
| flush | Yes | Yes | Yes | Global | Yes | |
| flush_time | Yes | Yes | Yes | Global | Yes | |
| foreign_key_checks | Yes | Session | Yes | |||
| ft_boolean_syntax | Yes | Yes | Yes | Global | Yes | |
| ft_max_word_len | Yes | Yes | Yes | Global | No | |
| ft_min_word_len | Yes | Yes | Yes | Global | No | |
| ft_query_expansion_limit | Yes | Yes | Yes | Global | No | |
| ft_stopword_file | Yes | Yes | Yes | Global | No | |
| general-log | Yes | Yes | Global | Yes | ||
| - Variable: general_log | Yes | Global | Yes | |||
| general_log_file | Yes | Global | Yes | |||
| group_concat_max_len | Yes | Yes | Yes | Both | Yes | |
| have_archive | Yes | Global | No | |||
| have_blackhole_engine | Yes | Global | No | |||
| have_compress | Yes | Global | No | |||
| have_crypt | Yes | Global | No | |||
| have_csv | Yes | Global | No | |||
| have_dynamic_loading | Yes | Global | No | |||
| have_example_engine | Yes | Global | No | |||
| have_federated_engine | Yes | Global | No | |||
| have_geometry | Yes | Global | No | |||
| have_innodb | Yes | Global | No | |||
| have_isam | Yes | Global | No | |||
| have_merge_engine | Yes | Global | No | |||
| have_ndbcluster | Yes | Global | No | |||
| have_openssl | Yes | Global | No | |||
| have_partitioning | Yes | Global | No | |||
| have_query_cache | Yes | Global | No | |||
| have_raid | Yes | Global | No | |||
| have_row_based_replication | Yes | Global | No | |||
| have_rtree_keys | Yes | Global | No | |||
| have_ssl | Yes | Global | No | |||
| have_symlink | Yes | Global | No | |||
| hostname | Yes | Global | No | |||
| identity | Yes | Session | Yes | |||
| init_connect | Yes | Yes | Yes | Global | Yes | |
| init-file | Yes | Yes | Global | No | ||
| - Variable: init_file | Yes | Global | No | |||
| init_slave | Yes | Yes | Yes | Global | Yes | |
| innodb_adaptive_hash_index | Yes | Yes | Yes | Global | No | |
| innodb_additional_mem_pool_size | Yes | Yes | Yes | Global | No | |
| innodb_autoextend_increment | Yes | Yes | Yes | Global | Yes | |
| innodb_autoinc_lock_mode | Yes | Yes | Yes | Global | No | |
| innodb_buffer_pool_awe_mem_mb | Yes | Yes | Yes | Global | No | |
| innodb_buffer_pool_size | Yes | Yes | Yes | Global | No | |
| innodb_checksums | Yes | Yes | Yes | Global | No | |
| innodb_commit_concurrency | Yes | Yes | Yes | Global | Yes | |
| innodb_concurrency_tickets | Yes | Yes | Yes | Global | Yes | |
| innodb_data_file_path | Yes | Yes | Yes | Global | No | |
| innodb_data_home_dir | Yes | Yes | Yes | Global | No | |
| innodb_doublewrite | Yes | Yes | Yes | Global | No | |
| innodb_fast_shutdown | Yes | Yes | Yes | Global | Yes | |
| innodb_file_io_threads | Yes | Yes | Yes | Global | No | |
| innodb_file_per_table | Yes | Yes | Yes | Global | No | |
| innodb_flush_log_at_trx_commit | Yes | Yes | Yes | Global | Yes | |
| innodb_flush_method | Yes | Yes | Yes | Global | No | |
| innodb_force_recovery | Yes | Yes | Yes | Global | No | |
| innodb_locks_unsafe_for_binlog | Yes | Yes | Yes | Global | No | |
| innodb_lock_wait_timeout | Yes | Yes | Yes | Global | No | |
| innodb_log_arch_dir | Yes | Yes | Yes | Global | No | |
| innodb_log_archive | Yes | Yes | Yes | Global | No | |
| innodb_log_buffer_size | Yes | Yes | Yes | Global | No | |
| innodb_log_files_in_group | Yes | Yes | Yes | Global | No | |
| innodb_log_file_size | Yes | Yes | Yes | Global | No | |
| innodb_log_group_home_dir | Yes | Yes | Yes | Global | No | |
| innodb_max_dirty_pages_pct | Yes | Yes | Yes | Global | Yes | |
| innodb_max_purge_lag | Yes | Yes | Yes | Global | Yes | |
| innodb_mirrored_log_groups | Yes | Yes | Yes | Global | No | |
| innodb_open_files | Yes | Yes | Yes | Global | No | |
| innodb_rollback_on_timeout | Yes | Yes | Yes | Global | No | |
| innodb_stats_on_metadata | Yes | Yes | Yes | Global | No | |
| innodb_status_file | Yes | Yes | Yes | Global | No | |
| innodb_support_xa | Yes | Yes | Yes | Both | Yes | |
| innodb_sync_spin_loops | Yes | Yes | Yes | Global | Yes | |
| innodb_table_locks | Yes | Yes | Yes | Both | Yes | |
| innodb_thread_concurrency | Yes | Yes | Yes | Global | Yes | |
| innodb_thread_sleep_delay | Yes | Yes | Yes | Global | Yes | |
| insert_id | Yes | Session | Yes | |||
| interactive_timeout | Yes | Yes | Yes | Both | Yes | |
| join_buffer_size | Yes | Yes | Yes | Both | Yes | |
| keep_files_on_create | Yes | Yes | Yes | Both | Yes | |
| key_buffer_size | Yes | Yes | Yes | Global | Yes | |
| key_cache_age_threshold | Yes | Yes | Yes | Global | Yes | |
| key_cache_block_size | Yes | Yes | Yes | Global | Yes | |
| key_cache_division_limit | Yes | Yes | Yes | Global | Yes | |
| language | Yes | Yes | Yes | Global | No | |
| large-pages | Yes | Yes | Global | No | ||
| - Variable: large_pages | Yes | Global | No | |||
| large_page_size | Yes | Global | No | |||
| last_insert_id | Yes | Session | Yes | |||
| lc_time_names | Yes | Both | Yes | |||
| license | Yes | Global | No | |||
| local_infile | Yes | Global | Yes | |||
| locked_in_memory | Yes | Global | No | |||
| log | Yes | Yes | Yes | Global | Yes | |
| log_bin | Yes | Global | No | |||
| log-bin-trust-function-creators | Yes | Yes | Global | Yes | ||
| - Variable: log_bin_trust_function_creators | Yes | Global | Yes | |||
| log-bin-trust-routine-creators | Yes | Yes | Global | Yes | ||
| - Variable: log_bin_trust_routine_creators | Yes | Global | Yes | |||
| log-error | Yes | Yes | Global | No | ||
| - Variable: log_error | Yes | Global | No | |||
| log-output | Yes | Yes | Global | Yes | ||
| - Variable: log_output | Yes | Global | Yes | |||
| log-queries-not-using-indexes | Yes | Yes | Global | Yes | ||
| - Variable: log_queries_not_using_indexes | Yes | Global | Yes | |||
| log-slave-updates | Yes | Yes | Global | No | ||
| - Variable: log_slave_updates | Yes | Global | No | |||
| log-slow-queries | Yes | Yes | Global | Yes | ||
| - Variable: log_slow_queries | Yes | Global | Yes | |||
| log-warnings | Yes | Yes | Both | Yes | ||
| - Variable: log_warnings | Yes | Both | Yes | |||
| long_query_time | Yes | Yes | Yes | Both | Yes | |
| lower_case_file_system | Yes | Yes | Yes | Global | No | |
| lower_case_table_names | Yes | Yes | Yes | Global | No | |
| low-priority-updates | Yes | Yes | Both | Yes | ||
| - Variable: low_priority_updates | Yes | Both | Yes | |||
| master-bind | Yes | Yes | Yes | No | ||
| max_allowed_packet | Yes | Yes | Yes | Both | Yes | |
| max_binlog_cache_size | Yes | Yes | Yes | Global | Yes | |
| max_binlog_size | Yes | Yes | Yes | Global | Yes | |
| max_connect_errors | Yes | Yes | Yes | Global | Yes | |
| max_connections | Yes | Yes | Yes | Global | Yes | |
| max_delayed_threads | Yes | Yes | Yes | Both | Yes | |
| max_error_count | Yes | Yes | Yes | Both | Yes | |
| max_heap_table_size | Yes | Yes | Yes | Both | Yes | |
| max_insert_delayed_threads | Yes | Both | Yes | |||
| max_join_size | Yes | Yes | Yes | Both | Yes | |
| max_length_for_sort_data | Yes | Yes | Yes | Both | Yes | |
| max_prepared_stmt_count | Yes | Yes | Yes | Global | Yes | |
| max_relay_log_size | Yes | Yes | Yes | Global | Yes | |
| max_seeks_for_key | Yes | Yes | Yes | Both | Yes | |
| max_sort_length | Yes | Yes | Yes | Both | Yes | |
| max_sp_recursion_depth | Yes | Yes | Yes | Both | Yes | |
| max_tmp_tables | Yes | Yes | Yes | Both | Yes | |
| max_user_connections | Yes | Yes | Yes | Both | Yes | |
| max_write_lock_count | Yes | Yes | Yes | Global | Yes | |
| memlock | Yes | Yes | Yes | Global | No | |
| min-examined-row-limit | Yes | Yes | Yes | Both | Yes | |
| multi_range_count | Yes | Yes | Yes | Both | Yes | |
| myisam_block_size | Yes | Yes | Yes | Both | Yes | |
| myisam_data_pointer_size | Yes | Yes | Yes | Global | Yes | |
| myisam_max_sort_file_size | Yes | Yes | Yes | Global | Yes | |
| myisam_recover_options | Yes | Global | No | |||
| myisam_repair_threads | Yes | Yes | Yes | Both | Yes | |
| myisam_sort_buffer_size | Yes | Yes | Yes | Both | Yes | |
| myisam_stats_method | Yes | Yes | Yes | Both | Yes | |
| myisam_use_mmap | Yes | Yes | Yes | Global | Yes | |
| named_pipe | Yes | Global | No | |||
| ndb_autoincrement_prefetch_sz | Yes | Yes | Yes | Both | Yes | |
| ndb_cache_check_time | Yes | Yes | Yes | Global | Yes | |
| ndbcluster | Yes | Yes | Yes | Both | Yes | |
| ndb_extra_logging | Yes | Yes | Yes | Global | Yes | |
| ndb_force_send | Yes | Yes | Yes | Both | Yes | |
| ndb_log_orig | Yes | Global | No | |||
| ndb_log_update_as_write | Yes | Yes | Yes | Global | Yes | |
| ndb_log_updated_only | Yes | Yes | Yes | Global | Yes | |
| ndb_optimization_delay | Yes | Global | Yes | |||
| ndb_table_no_logging | Yes | Session | Yes | |||
| ndb_table_temporary | Yes | Session | Yes | |||
| ndb_use_copying_alter_table | Yes | Both | No | |||
| ndb_use_exact_count | Yes | Both | Yes | |||
| ndb_wait_connected | Yes | Yes | Yes | No | ||
| net_buffer_length | Yes | Yes | Yes | Both | Yes | |
| net_read_timeout | Yes | Yes | Yes | Both | Yes | |
| net_retry_count | Yes | Yes | Yes | Both | Yes | |
| net_write_timeout | Yes | Yes | Yes | Both | Yes | |
| new | Yes | Yes | Yes | Both | Yes | |
| old | Yes | Yes | Yes | Global | No | |
| old-passwords | Yes | Yes | Both | Yes | ||
| - Variable: old_passwords | Yes | Both | Yes | |||
| open-files-limit | Yes | Yes | Global | No | ||
| - Variable: open_files_limit | Yes | Global | No | |||
| optimizer_prune_level | Yes | Yes | Yes | Both | Yes | |
| optimizer_search_depth | Yes | Yes | Yes | Both | Yes | |
| pid-file | Yes | Yes | Global | No | ||
| - Variable: pid_file | Yes | Global | No | |||
| plugin_dir | Yes | Yes | Yes | Global | No | |
| plugin_innodb_additional_mem_pool_size | Yes | Yes | Yes | Both | No | |
| plugin_innodb_autoextend_increment | Yes | Yes | Yes | Both | Yes | |
| plugin_innodb_buffer_pool_awe_mem_mb | Yes | Yes | Both | No | ||
| - Variable: innodb_buffer_pool_awe_mem_mb | Yes | Both | No | |||
| plugin_innodb_buffer_pool_size | Yes | Yes | Yes | Both | No | |
| plugin_innodb_checksums | Yes | Yes | Yes | Both | Yes | |
| plugin_innodb_commit_concurrency | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_concurrency_tickets | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_data_file_path | Yes | Yes | Yes | Global | No | |
| plugin_innodb_data_home_dir | Yes | Yes | Yes | Global | No | |
| plugin-innodb-doublewrite | Yes | Yes | Global | No | ||
| - Variable: plugin_innodb_doublewrite | Yes | Global | No | |||
| plugin_innodb_fast_shutdown | Yes | Yes | Yes | Global | No | |
| plugin_innodb_file_io_threads | Yes | Yes | Yes | Global | No | |
| plugin_innodb_file_per_table | Yes | Yes | Yes | Global | No | |
| plugin_innodb_flush_log_at_trx_commit | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_flush_method | Yes | Yes | Yes | Global | No | |
| plugin_innodb_force_recovery | Yes | Yes | Yes | Global | No | |
| plugin_innodb_locks_unsafe_for_binlog | Yes | Yes | Yes | Global | No | |
| plugin_innodb_lock_wait_timeout | Yes | Yes | Yes | Global | No | |
| plugin_innodb_log_archive | Yes | Yes | Yes | Global | No | |
| plugin_innodb_log_buffer_size | Yes | Yes | Yes | Global | No | |
| plugin_innodb_log_files_in_group | Yes | Yes | Yes | Global | No | |
| plugin_innodb_log_file_size | Yes | Yes | Yes | Global | No | |
| plugin_innodb_log_group_home_dir | Yes | Yes | Yes | Global | No | |
| plugin_innodb_max_dirty_pages_pct | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_max_purge_lag | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_mirrored_log_groups | Yes | Yes | Yes | Global | No | |
| plugin_innodb_open_files | Yes | Yes | Yes | Global | No | |
| plugin_innodb_rollback_on_timeout | Yes | Yes | Yes | No | ||
| plugin_innodb_stats_on_metadata | Yes | Yes | Yes | No | ||
| plugin_innodb_status_file | Yes | Yes | Yes | No | ||
| plugin_innodb_support_xa | Yes | Yes | Yes | Both | Yes | |
| plugin_innodb_sync_spin_loops | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_table_locks | Yes | Yes | Yes | Both | Yes | |
| plugin_innodb_thread_concurrency | Yes | Yes | Yes | Global | Yes | |
| plugin_innodb_thread_sleep_delay | Yes | Yes | Yes | Global | Yes | |
| port | Yes | Yes | Yes | Global | No | |
| preload_buffer_size | Yes | Yes | Yes | Both | Yes | |
| prepared_stmt_count | Yes | Yes | Global | No | ||
| protocol_version | Yes | Global | No | |||
| query_alloc_block_size | Yes | Yes | Yes | Both | Yes | |
| query_cache_limit | Yes | Yes | Yes | Global | Yes | |
| query_cache_min_res_unit | Yes | Yes | Yes | Global | Yes | |
| query_cache_size | Yes | Yes | Yes | Global | Yes | |
| query_cache_type | Yes | Yes | Yes | Both | Yes | |
| query_cache_wlock_invalidate | Yes | Yes | Yes | Both | Yes | |
| query_prealloc_size | Yes | Yes | Yes | Both | Yes | |
| range_alloc_block_size | Yes | Yes | Yes | Both | Yes | |
| read_buffer_size | Yes | Yes | Yes | Both | Yes | |
| read_only | Yes | Yes | Yes | Global | Yes | |
| read_rnd_buffer_size | Yes | Yes | Yes | Both | Yes | |
| relay_log_purge | Yes | Yes | Yes | Global | Yes | |
| relay_log_space_limit | Yes | Yes | Yes | Global | No | |
| report-host | Yes | Yes | Global | No | ||
| - Variable: report_host | Yes | Global | No | |||
| report-password | Yes | Yes | Global | No | ||
| - Variable: report_password | Yes | Global | No | |||
| report-port | Yes | Yes | Global | No | ||
| - Variable: report_port | Yes | Global | No | |||
| report-user | Yes | Yes | Global | No | ||
| - Variable: report_user | Yes | Global | No | |||
| rpl_recovery_rank | Yes | Global | Yes | |||
| secure-auth | Yes | Yes | Global | Yes | ||
| - Variable: secure_auth | Yes | Global | Yes | |||
| secure-file-priv | Yes | Yes | Global | No | ||
| - Variable: secure_file_priv | Yes | Global | No | |||
| server-id | Yes | Yes | Global | Yes | ||
| - Variable: server_id | Yes | Global | Yes | |||
| shared_memory | Yes | Global | No | |||
| shared_memory_base_name | Yes | Global | No | |||
| skip-external-locking | Yes | Yes | Global | No | ||
| - Variable: skip_external_locking | Yes | Global | No | |||
| skip-networking | Yes | Yes | Global | No | ||
| - Variable: skip_networking | Yes | Global | No | |||
| skip-show-database | Yes | Yes | Global | No | ||
| - Variable: skip_show_database | Yes | Global | No | |||
| slave-allow-batching | Yes | Global | Yes | |||
| - Variable: slave_allow_batching | Yes | Global | Yes | |||
| slave_compressed_protocol | Yes | Yes | Yes | Global | Yes | |
| slave_exec_mode | Yes | Global | Yes | |||
| slave-load-tmpdir | Yes | Yes | Global | No | ||
| - Variable: slave_load_tmpdir | Yes | Global | No | |||
| slave-net-timeout | Yes | Yes | Global | Yes | ||
| - Variable: slave_net_timeout | Yes | Global | Yes | |||
| slave-skip-errors | Yes | Yes | Global | No | ||
| - Variable: slave_skip_errors | Yes | Global | No | |||
| slave_transaction_retries | Yes | Yes | Yes | Global | Yes | |
| slow_launch_time | Yes | Yes | Yes | Global | Yes | |
| slow-query-log | Yes | Yes | Global | Yes | ||
| - Variable: slow_query_log | Yes | Global | Yes | |||
| slow_query_log_file | Yes | Global | Yes | |||
| socket | Yes | Yes | Yes | Global | No | |
| sort_buffer_size | Yes | Yes | Yes | Both | Yes | |
| sql_auto_is_null | Yes | Session | Yes | |||
| sql_big_selects | Yes | Session | Yes | |||
| sql_big_tables | Yes | Session | Yes | |||
| sql_buffer_result | Yes | Session | Yes | |||
| sql_log_bin | Yes | Session | Yes | |||
| sql_log_off | Yes | Session | Yes | |||
| sql_log_update | Yes | Session | Yes | |||
| sql_low_priority_updates | Yes | Both | Yes | |||
| sql_max_join_size | Yes | Both | Yes | |||
| sql-mode | Yes | Yes | Both | Yes | ||
| - Variable: sql_mode | Yes | Both | Yes | |||
| sql_notes | Yes | Session | Yes | |||
| sql_quote_show_create | Yes | Session | Yes | |||
| sql_safe_updates | Yes | Session | Yes | |||
| sql_select_limit | Yes | Yes | Yes | Both | Yes | |
| sql_slave_skip_counter | Yes | Global | Yes | |||
| sql_warnings | Yes | Session | Yes | |||
| ssl-ca | Yes | Yes | Global | No | ||
| - Variable: ssl_ca | Yes | Global | No | |||
| ssl-capath | Yes | Yes | Global | No | ||
| - Variable: ssl_capath | Yes | Global | No | |||
| ssl-cert | Yes | Yes | Global | No | ||
| - Variable: ssl_cert | Yes | Global | No | |||
| ssl-cipher | Yes | Yes | Global | No | ||
| - Variable: ssl_cipher | Yes | Global | No | |||
| ssl-key | Yes | Yes | Global | No | ||
| - Variable: ssl_key | Yes | Global | No | |||
| storage_engine | Yes | Both | Yes | |||
| sync-binlog | Yes | Yes | Global | Yes | ||
| - Variable: sync_binlog | Yes | Global | Yes | |||
| sync-frm | Yes | Yes | Global | Yes | ||
| - Variable: sync_frm | Yes | Global | Yes | |||
| system_time_zone | Yes | Global | No | |||
| table_cache | Yes | Yes | Yes | Global | Yes | |
| table_definition_cache | Yes | Yes | Yes | Global | Yes | |
| table_lock_wait_timeout | Yes | Yes | Yes | Global | Yes | |
| table_open_cache | Yes | Yes | Global | Yes | ||
| table_type | Yes | Both | Yes | |||
| thread_cache_size | Yes | Yes | Yes | Global | Yes | |
| thread_concurrency | Yes | Yes | Yes | Global | No | |
| thread_handling | Yes | Yes | Yes | Global | No | |
| thread_stack | Yes | Yes | Yes | Global | No | |
| timed_mutexes | Yes | Yes | Yes | Global | Yes | |
| time_format | Yes | Yes | Yes | Both | Yes | |
| timestamp | Yes | Session | Yes | |||
| time_zone | Yes | Yes | Both | Yes | ||
| tmpdir | Yes | Yes | Yes | Global | No | |
| tmp_table_size | Yes | Yes | Yes | Both | Yes | |
| transaction_alloc_block_size | Yes | Yes | Yes | Both | Yes | |
| transaction_allow_batching | Yes | Session | Yes | |||
| transaction_prealloc_size | Yes | Yes | Yes | Both | Yes | |
| tx_isolation | Yes | Both | Yes | |||
| unique_checks | Yes | Session | Yes | |||
| updatable_views_with_limit | Yes | Yes | Yes | Both | Yes | |
| version | Yes | Yes | Global | No | ||
| version_comment | Yes | Global | No | |||
| version_compile_machine | Yes | Global | No | |||
| version_compile_os | Yes | Global | No | |||
| wait_timeout | Yes | Yes | Yes | Both | Yes | |
| warning_count | Yes | Session | No |
For additional system variable information, see these sections:
Section 5.1.4, “Session System Variables”, describes system variables that exist only as session variables (that is, they do not have any global counterpart).
Section 5.1.5, “Using System Variables”, discusses the syntax for setting and displaying system variable values.
Section 5.1.5.2, “Dynamic System Variables”, lists the variables that can be set at runtime.
Information on tuning system variables can be found in Section 7.5.2, “Tuning Server Parameters”.
Section 13.5.4, “InnoDB Startup Options and System Variables”, lists
InnoDB system variables.
Some of the following variable descriptions refer to
“enabling” or “disabling” a
variable. These variables can be enabled with the
SET statement by setting them to
ON or 1, or disabled by
setting them to OFF or
0. However, to set such a variable on the
command line or in an option file, you must set it to
1 or 0; setting it to
ON or OFF will not work.
For example, on the command line,
--delay_key_write=1 works but
--delay_key_write=ON does not.
Values for buffer sizes, lengths, and stack sizes are given in bytes unless otherwise specified.
| Option Sets Variable | Yes, auto_increment_increment
|
||||||
| Variable Name | auto_increment_increment |
||||||
| Variable Scope | Both | ||||||
| Dynamic Variable | Yes | ||||||
| Value Set |
|
auto_increment_increment and
auto_increment_offset are intended for
use with master-to-master replication, and can be used to
control the operation of AUTO_INCREMENT
columns. Both variables have global and session values, and
each can assume an integer value between 1 and 65,535
inclusive. Setting the value of either of these two
variables to 0 causes its value to be set to 1 instead.
Attempting to set the value of either of these two variables
to an integer greater than 65,535 or less than 0 causes its
value to be set to 65,535 instead. Attempting to set the
value of auto_increment_increment or
auto_increment_offset to a non-integer
value gives rise to an error, and the actual value of the
variable remains unchanged.
auto_increment_increment and
auto_increment_offset are not intended
for use with MySQL Cluster replication. Attempting to set
them in a Cluster replication scenario may give rise to
unpredictable (and unrecoverable) errors. The use of these
variables with Cluster replication is therefore not
supported.
These two variables affect AUTO_INCREMENT
column behavior as follows:
auto_increment_increment controls the
interval between successive column values. For example:
mysql>SHOW VARIABLES LIKE 'auto_inc%';+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | +--------------------------+-------+ 2 rows in set (0.00 sec) mysql>CREATE TABLE autoinc1->(col INT NOT NULL AUTO_INCREMENT PRIMARY KEY);Query OK, 0 rows affected (0.04 sec) mysql>SET @@auto_increment_increment=10;Query OK, 0 rows affected (0.00 sec) mysql>SHOW VARIABLES LIKE 'auto_inc%';+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 10 | | auto_increment_offset | 1 | +--------------------------+-------+ 2 rows in set (0.01 sec) mysql>INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql>SELECT col FROM autoinc1;+-----+ | col | +-----+ | 1 | | 11 | | 21 | | 31 | +-----+ 4 rows in set (0.00 sec)
(Note how SHOW VARIABLES is used here
to obtain the current values for these variables.)
auto_increment_offset determines the
starting point for the AUTO_INCREMENT
column value. Consider the following, assuming that
these statements are executed during the same session as
the example given in the description for
auto_increment_increment:
mysql>SET @@auto_increment_offset=5;Query OK, 0 rows affected (0.00 sec) mysql>SHOW VARIABLES LIKE 'auto_inc%';+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 10 | | auto_increment_offset | 5 | +--------------------------+-------+ 2 rows in set (0.00 sec) mysql>CREATE TABLE autoinc2->(col INT NOT NULL AUTO_INCREMENT PRIMARY KEY);Query OK, 0 rows affected (0.06 sec) mysql>INSERT INTO autoinc2 VALUES (NULL), (NULL), (NULL), (NULL);Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql>SELECT col FROM autoinc2;+-----+ | col | +-----+ | 5 | | 15 | | 25 | | 35 | +-----+ 4 rows in set (0.02 sec)
If the value of auto_increment_offset
is greater than that of
auto_increment_increment, the value
of auto_increment_offset is ignored.
Should one or both of these variables be changed and then
new rows inserted into a table containing an
AUTO_INCREMENT column, the results may
seem counterintuitive because the series of
AUTO_INCREMENT values is calculated
without regard to any values already present in the column,
and the next value inserted is the least value in the series
that is greater than the maximum existing value in the
AUTO_INCREMENT column. In other words,
the series is calculated like so:
auto_increment_offset +
N ×
auto_increment_increment
where N is a positive integer
value in the series [1, 2, 3, ...]. For example:
mysql>SHOW VARIABLES LIKE 'auto_inc%';+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 10 | | auto_increment_offset | 5 | +--------------------------+-------+ 2 rows in set (0.00 sec) mysql>SELECT col FROM autoinc1;+-----+ | col | +-----+ | 1 | | 11 | | 21 | | 31 | +-----+ 4 rows in set (0.00 sec) mysql>INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql>SELECT col FROM autoinc1;+-----+ | col | +-----+ | 1 | | 11 | | 21 | | 31 | | 35 | | 45 | | 55 | | 65 | +-----+ 8 rows in set (0.00 sec)
The values shown for
auto_increment_increment and
auto_increment_offset generate the series
5 + N × 10, that is, [5,
15, 25, 35, 45, ...]. The greatest value present in the
col column prior to the
INSERT is 31, and the next available
value in the AUTO_INCREMENT series is 35,
so the inserted values for col begin at
that point and the results are as shown for the
SELECT query.
It is not possible to confine the effects of these two
variables to a single table, and thus they do not take the
place of the sequences offered by some other database
management systems; these variables control the behavior of
all AUTO_INCREMENT columns in
all tables on the MySQL server. If the
global value of either variable is set, its effects persist
until the global value is changed or overridden by setting
the session value, or until mysqld is
restarted. If the local value is set, the new value affects
AUTO_INCREMENT columns for all tables
into which new rows are inserted by the current user for the
duration of the session, unless the values are changed
during that session.
The default value of
auto_increment_increment is 1. See
Auto-Increment in Multiple-Master Replication.
auto_increment_increment is supported for
use with NDB tables beginning with MySQL
5.1.20. Previously, setting it when using MySQL Cluster
tables or MySQL Cluster Replication produced unpredictable
results.
| Option Sets Variable | Yes, auto_increment_offset
|
||||||
| Variable Name | auto_increment_offset |
||||||
| Variable Scope | Both | ||||||
| Dynamic Variable | Yes | ||||||
| Value Set |
|
