Server System Variables
Contents
- About the Server System Variables
- Setting Server System Variables
- List of Server System Variables
- aria_block_size
- aria_checkpoint_interval
- aria_checkpoint_log_activity
- aria_encrypt_tables
- aria_force_start_after_recovery_failures
- aria_group_commit
- aria_group_commit_interval
- aria_log_file_size
- aria_log_purge_type
- aria_max_sort_file_size
- aria_page_checksum
- aria_pagecache_age_threshold
- aria_pagecache_buffer_size
- aria_pagecache_division_limit
- aria_pagecache_file_hash_size
- aria_recover
- aria_repair_threads
- aria_sort_buffer_size
- aria_stats_method
- aria_sync_log_dir
- aria_used_for_temp_tables
- auto_increment_increment
- auto_increment_offset
- autocommit
- automatic_sp_privileges
- back_log
- basedir
- big_tables
- bind_address
- binlog_annotate_row_events
- binlog_cache_size
- binlog_checksum
- binlog_commit_wait_count
- binlog_commit_wait_usec
- binlog_direct_non_transactional_updates
- binlog_format
- binlog_optimize_thread_scheduling
- binlog_row_image
- binlog_stmt_cache_size
- bulk_insert_buffer_size
- cassandra_default_thrift_host
- cassandra_failure_retries
- cassandra_insert_batch_size
- cassandra_multiget_batch_size
- cassandra_read_consistency
- cassandra_rnd_batch_size
- cassandra_write_consistency
- character_set_client
- character_set_connection
- character_set_database
- character_set_filesystem
- character_set_results
- character_set_server
- character_set_system
- character_sets_dir
- collation_connection
- collation_database
- collation_server
- completion_type
- concurrent_insert
- connect_conv_size
- connect_exact_info
- connect_indx_map
- connect_json_grp_size
- connect_timeout
- connect_type_conv
- connect_use_tempfile
- connect_work_size
- connect_xtrace
- cracklib_password_check_dictionary
- datadir
- date_format
- datetime_format
- deadlock_search_depth_long
- deadlock_search_depth_short
- deadlock_timeout_long
- deadlock_timeout_short
- debug
- debug_no_thread_alarm
- debug_sync
- default_master_connection
- default_regex_flags
- default_storage_engine
- default_table_type
- default_tmp_storage_engine
- default_week_format
- delay_key_write
- delayed_insert_limit
- delayed_insert_timeout
- delayed_queue_size
- div_precision_increment
- encrypt_binlog
- encrypt_tmp_disk_tables
- encrypt_tmp_files
- encryption_algorithm
- enforce_storage_engine
- engine_condition_pushdown
- error_count
- event_scheduler
- expensive_subquery_limit
- expire_logs_days
- explicit_defaults_for_timestamp
- external_user
- extra_max_connections
- extra_port
- feedback
- feedback_send_retry_wait
- feedback_send_timeout
- feedback_url
- feedback_user_info
- flush
- flush_time
- foreign_key_checks
- ft_boolean_syntax
- ft_max_word_len
- ft_min_word_len
- ft_query_expansion_limit
- ft_stopword_file
- general_log
- general_log_file
- group_concat_max_len
- gtid_binlog_pos
- gtid_binlog_state
- gtid_current_pos
- gtid_domain_id
- gtid_ignore_duplicates
- gtid_seq_no
- gtid_slave_pos
- gtid_strict_mode
- handlersocket_accept_balance
- handlersocket_address
- handlersocket_backlog
- handlersocket_epoll
- handlersocket_port
- handlersocket_port_wr
- handlersocket_sndbuf
- handlersocket_rcvbuf
- handlersocket_readsize
- handlersocket_threads
- handlersocket_threads_wr
- handlersocket_timeout
- handlersocket_verbose
- handlersocket_wrlock_timeout
- have_compress
- have_crypt
- have_csv
- have_dynamic_loading
- have_geometry
- have_innodb
- have_ndbcluster
- have_openssl
- have_partitioning
- have_profiling
- have_query_cache
- have_rtree_keys
- have_ssl
- have_symlink
- histogram_size
- histogram_type
- host_cache_size
- hostname
- identity
- ignore_builtin_innodb
- ignore_db_dirs
- in_transaction
- init_connect
- init_file
- init_slave
- innodb_adaptive_checkpoint
- innodb_adaptive_flushing
- innodb_adaptive_flushing_lwm
- innodb_adaptive_flushing_method
- innodb_adaptive_hash_index
- innodb_adaptive_hash_index_partitions
- 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_auto_lru_dump
- innodb_autoextend_increment
- innodb_autoinc_lock_mode
- innodb_background_scrub_data_check_interval
- innodb_background_scrub_data-compressed
- innodb_background_scrub_data_interval
- innodb_background_scrub_data-uncompressed
- innodb_blocking_buffer_pool_restore
- innodb_buf_dump_status_frequency
- innodb_buffer_pool_dump_at_shutdown
- innodb_buffer_pool_dump_now
- 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_populate
- innodb_buffer_pool_restore_at_startup
- innodb_buffer_pool_shm_checksum
- innodb_buffer_pool_shm_key
- innodb_buffer_pool_size
- innodb_change_buffer_max_size
- innodb_change_buffering
- innodb_checkpoint_age_target
- innodb_checksum_algorithm
- innodb_checksums
- innodb_cleaner_lsn_age_factor
- innodb_cmp_per_index_enabled
- innodb_commit_concurrency
- innodb_compression_algorithm
- innodb_compression_failure_threshold_pct
- innodb_compression_level
- innodb_compression_pad_pct_max
- innodb_concurrency_tickets
- innodb_corrupt_table_action
- innodb_data_file_path
- innodb_data_home_dir
- innodb_default_encryption_key_id
- innodb_default_page_encryption_key
- innodb_defragment
- innodb_defragment_fill_factor
- innodb_defragment_fill_factor_n_recs
- innodb_defragment_frequency
- innodb_defragment_n_pages
- innodb_defragment_stats_accuracy
- innodb_dict_size_limit
- innodb_disable_sort_file_cache
- innodb_disallow_writes
- innodb_doublewrite
- innodb_doublewrite_file
- innodb_empty_free_list_algorithm
- innodb_enable_unsafe_group_commit
- innodb_encrypt_log
- innodb_encrypt_tables
- innodb_encryption_rotate_key_age
- innodb_encryption_rotation_iops
- innodb_encryption_threads
- innodb_extra_rsegments
- innodb_extra_undoslots
- innodb_fake_changes
- innodb_fast_checksum
- innodb_fast_shutdown
- innodb_fatal_semaphore_wait_threshold
- 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_neighbor_pages
- innodb_flush_neighbors
- innodb_flushing_avg_loops
- innodb_force_load_corrupted
- innodb_force_primary_key
- innodb_force_recovery
- innodb_foreground_preflush
- innodb_ft_aux_table
- innodb_ft_cache_size
- innodb_ft_enable_diag_print
- innodb_ft_enable_stopword
- innodb_ft_max_token_size
- innodb_ft_min_token_size
- innodb_ft_num_word_optimize
- innodb_ft_result_cache_limit
- innodb_ft_server_stopword_table
- innodb_ft_sort_pll_degree
- innodb_ft_total_cache_size
- innodb_ft_user_stopword_table
- innodb_ibuf_accel_rate
- innodb_ibuf_active_contract
- innodb_ibuf_max_size
- innodb_idle_flush_pct
- innodb_immediate_scrub_data-uncompressed
- innodb_import_table_from_xtrabackup
- innodb_instrument_semaphores
- innodb_io_capacity
- innodb_io_capacity_max
- innodb_kill_idle_transaction
- innodb_large_prefix
- innodb_lazy_drop_table
- innodb_lock_wait_timeout
- innodb_locking_fake_changes
- innodb_locks_unsafe_for_binlog
- innodb_log_arch_dir
- innodb_log_arch_expire_sec
- innodb_log_archive
- innodb_log_block_size
- innodb_log_buffer_size
- innodb_log_checksum_algorithm
- innodb_log_compressed_pages
- innodb_log_file_size
- innodb_log_files_in_group
- innodb_log_group_home_dir
- innodb_lru_scan_depth
- innodb_max_bitmap_file_size
- innodb_max_changed_pages
- innodb_max_dirty_pages_pct
- innodb_max_dirty_pages_pct_lwm
- innodb_max_purge_lag
- innodb_max_purge_lag_delay
- innodb_merge_sort_block_size
- innodb_mirrored_log_groups
- innodb_monitor_disable
- innodb_monitor_enable
- innodb_monitor_reset
- innodb_monitor_reset_all
- innodb_mtflush_threads
- innodb_old_blocks_pct
- innodb_old_blocks_time
- innodb_online_alter_log_max_size
- innodb_open_files
- innodb_optimize_fulltext_only
- innodb_page_size
- innodb_prefix_index_cluster_optimization
- innodb_print_all_deadlocks
- innodb_purge_batch_size
- innodb_purge_threads
- innodb_random_read_ahead
- innodb_read_ahead
- innodb_read_ahead_threshold
- innodb_read_io_threads
- innodb_read_only
- innodb_recovery_stats
- innodb_recovery_update_relay_log
- innodb_replication_delay
- innodb_rollback_on_timeout
- innodb_rollback_segments
- innodb_sched_priority_cleaner
- innodb_scrub_log
- innodb_scrub_log_interval
- innodb_scrub_log_speed
- innodb_show_locks_held
- innodb_show_verbose_locks
- iinnodb_simulate_comp_failures
- innodb_sort_buffer_size
- innodb_spin_wait_delay
- innodb_stats_auto_recalc
- innodb_stats_auto_update
- innodb_stats_method
- innodb_stats_modified_counter
- innodb_stats_on_metadata
- innodb_stats_persistent
- innodb_stats_persistent_sample_pages
- innodb_stats_sample_pages
- innodb_stats_traditional
- innodb_stats_transient_sample_pages
- innodb_stats_update_need_lock
- innodb_status_output
- innodb_status_output_locks
- innodb_strict_mode
- innodb_support_xa
- innodb_sync_array_size
- innodb_sync_spin_loops
- innodb_table_locks
- innodb_thread_concurrency
- innodb_thread_concurrency_timer_based
- innodb_thread_sleep_delay
- innodb_track_changed_pages
- innodb_undo_directory
- innodb_undo_logs
- innodb_use_atomic_writes
- innodb_use_fallocate
- innodb_use_global_flush_log_at_trx_commit
- innodb_use_native_aio
- innodb_use_purge_thread
- innodb_use_stacktrace
- innodb_use_sys_malloc
- innodb_use_sys_stats_table
- innodb_version
- innodb_write_io_threads
- insert_id
- interactive_timeout
- join_buffer_size
- join_buffer_space_limit
- join_cache_level
- keep_files_on_create
- key_buffer_size
- key_cache_age_threshold
- key_cache_block_size
- key_cache_division_limit
- key_cache_file_hash_size
- key_cache_segments
- language
- large_files_support
- large_page_size
- large_pages
- last_gtid
- last_insert_id
- lc_messages
- lc_messages_dir
- lc_time_names
- license
- local_infile
- lock_wait_timeout
- locked_in_memory
- log
- log_bin
- log_bin_basename
- log_bin_index
- log_bin_trust_function_creators
- log_error
- log_output
- log_queries_not_using_indexes
- log_slave_updates
- log_slow_filter
- log_slow_queries
- log_slow_rate_limit
- log_slow_verbosity
- log_tc_size
- log_warnings
- long_query_time
- low_priority_updates
- lower_case_file_system
- lower_case_table_names
- master_retry_count
- master_verify_checksum
- max_allowed_packet
- max_binlog_cache_size
- max_binlog_size
- max_binlog_stmt_cache_size
- max_connect_errors
- max_connections
- max_delayed_threads
- max_digest_length
- max_error_count
- max_heap_table_size
- max_insert_delayed_threads
- max_join_size
- max_length_for_sort_data
- max_long_data_size
- max_prepared_stmt_count
- max_relay_log_size
- max_seeks_for_key
- max_sort_length
- max_sp_recursion_depth
- max_statement_time
- max_tmp_tables
- max_user_connections
- max_write_lock_count
- metadata_locks_cache_size
- metadata_locks_hash_instances
- min_examined_row_limit
- mroonga_action_on_fulltext_query_error
- mroonga_default_parser
- mroonga_dry_write
- mroonga_enable_optimization
- mroonga_libgroonga_version
- mroonga_log_file
- mroonga_log_level
- mroonga_match_escalation_threshold
- mroonga_vector_column_delimiter
- mroonga_version
- mrr_buffer_size
- multi_range_count
- myisam_block_size
- myisam_data_pointer_size
- myisam_max_sort_file_size
- myisam_mmap_size
- myisam_recover_options
- myisam_repair_threads
- myisam_sort_buffer_size
- myisam_stats_method
- myisam_use_mmap
- mysql56_temporal_format
- named_pipe
- net_buffer_length
- net_read_timeout
- net_retry_count
- net_write_timeout
- old
- old_alter_table
- old_mode
- old_passwords
- open_files_limit
- optimizer_prune_level
- optimizer_search_depth
- optimizer_selectivity_sampling_limit
- optimizer_switch
- optimizer_use_condition_selectivity
- oqgraph_allow_create_integer_latch
- pam_use_cleartext_plugin
- performance_schema
- performance_schema_accounts_size
- performance_schema_digests_size
- performance_schema_events_stages_history_long_size
- performance_schema_events_stages_history_size
- performance_schema_events_statements_history_long_size
- performance_schema_events_statements_history_size
- performance_schema_events_waits_history_long_size
- performance_schema_events_waits_history_size
- performance_schema_hosts_size
- performance_schema_max_cond_classes
- performance_schema_max_cond_instances
- performance_schema_max_digest_length
- performance_schema_max_file_classes
- performance_schema_max_file_handles
- performance_schema_max_file_instances
- performance_schema_max_mutex_classes
- performance_schema_max_mutex_instances
- performance_schema_max_rwlock_classes
- performance_schema_max_rwlock_instances
- performance_schema_max_socket_classes
- performance_schema_max_socket_instances
- performance_schema_max_stage_classes
- performance_schema_max_statement_classes
- performance_schema_max_table_handles
- performance_schema_max_table_instances
- performance_schema_max_thread_classes
- performance_schema_max_thread_instances
- performance_schema_session_connect_attrs_size
- performance_schema_setup_actors_size
- performance_schema_setup_objects_size
- performance_schema_users_size
- pid_file
- plugin_dir
- plugin_maturity
- port
- preload_buffer_size
- profiling
- profiling_history_size
- progress_report_time
- protocol_version
- proxy_user
- pseudo_slave_mode
- pseudo_thread_id
- query_alloc_block_size
- query_cache_limit
- query_cache_min_res_unit
- query_cache_size
- query_cache_strip_comments
- query_cache_type
- query_cache_wlock_invalidate
- query_prealloc_size
- query_response_time_flush
- query_response_time_range_base
- query_response_time_range_exec_time_debug
- query_response_time_stats
- rand_seed1
- rand_seed2
- range_alloc_block_size
- read_buffer_size
- read_only
- read_rnd_buffer_size
- relay_log
- relay_log_basename
- relay_log_index
- relay_log_info_file
- relay_log_purge
- relay_log_recovery
- relay_log_space_limit
- replicate_annotate_row_events
- replicate_do_db
- replicate_do_table
- replicate_events_marked_for_skip
- replicate_ignore_db
- replicate_ignore_table
- replicate_wild_do_table
- replicate_wild_ignore_table
- report_host
- report_password
- report_port
- report_user
- rowid_merge_buff_size
- rpl_recovery_rank
- safe_show_database
- secure_auth
- secure_file_priv
- rpl_semi_sync_master_enabled
- rpl_semi_sync_master_timeout
- rpl_semi_sync_master_trace_level
- rpl_semi_sync_master_wait_no_slave
- rpl_semi_sync_master_wait_point
- rpl_semi_sync_slave_enabled
- rpl_semi_sync_slave_trace_level
- server_audit_events
- server_audit_excl_users
- server_audit_file_path
- server_audit_file_rotate_now
- server_audit_file_rotate_size
- server_audit_file_rotations
- server_audit_incl_users
- server_audit_logging
- server_audit_mode
- server_audit_output_type
- server_audit_query_limit
- server_audit_syslog_facility
- server_audit_syslog_ident
- server_audit_syslog_info
- server_audit_syslog_priority
- server_id
- shared_memory
- shared_memory_base_name
- simple_password_check_digits
- simple_password_check_letters_same_case
- simple_password_check_minimal_length
- simple_password_check_other_characters
- skip_external_locking
- skip_name_resolve
- skip_networking
- skip_parallel_replication
- skip_replication
- skip_show_database
- slave_compressed_protocol
- slave_ddl_exec_mode
- slave_domain_parallel_threads
- slave_exec_mode
- slave_load_tmpdir
- slave_max_allowed_packet
- slave_net_timeout
- slave_parallel_max_queued
- slave_parallel_mode
- slave_parallel_threads
- slave_run_triggers_for_rbr
- slave_skip_errors
- slave_sql_verify_checksum
- slave_transaction_retries
- slave_type_conversions
- slow_launch_time
- slow_query_log
- slow_query_log_file
- socket
- sort_buffer_size
- spider_auto_increment_mode
- spider_auto_increment_mode
- spider_auto_increment_mode
- spider_bgs_second_read
- spider_bka_engine
- spider_bka_mode
- spider_block_size
- spider_bulk_access_free
- spider_bulk_size
- spider_bulk_update_mode
- spider_bulk_update_size
- spider_casual_read
- spider_conn_recycle_mode
- spider_conn_recycle_strict
- spider_connect_mutex
- spider_connect_retry_count
- spider_connect_retry_interval
- spider_connect_timeout
- spider_crd_bg_mode
- spider_crd_interval
- spider_crd_mode
- spider_crd_sync
- spider_crd_type
- spider_crd_weight
- spider_delete_all_rows_type
- spider_direct_dup_insert
- spider_direct_order_limit
- spider_dry_access
- spider_error_read_mode
- spider_error_write_mode
- spider_first_read
- spider_force_commit
- spider_general_log
- spider_init_sql_alloc_size
- spider_internal_limit
- spider_internal_offset
- spider_internal_optimize
- spider_internal_optimize_local
- spider_internal_sql_log_off
- spider_internal_unlock
- spider_internal_xa
- spider_internal_xa_id_type
- spider_internal_xa_snapshot
- spider_local_lock_table
- spider_lock_exchange
- spider_log_result_error_with_sql
- spider_log_result_errors
- spider_low_mem_read
- spider_max_order
- spider_multi_split_read
- spider_net_read_timeout
- spider_net_write_timeout
- spider_ping_interval_at_trx_start
- spider_quick_mode
- spider_quick_page_size
- spider_read_only_mode
- spider_remote_access_charset
- spider_remote_autocommit
- spider_remote_default_database
- spider_remote_sql_log_off
- spider_remote_time_zone
- spider_remote_trx_isolation
- spider_reset_sql_alloc
- spider_same_server_link
- spider_second_read
- spider_select_column_mode
- spider_selupd_lock_mode
- spider_semi_split_read
- spider_semi_split_read_limit
- spider_semi_table_lock
- spider_semi_table_lock_connection
- spider_semi_trx
- spider_semi_trx_isolation
- spider_skip_default_condition
- spider_split_read
- spider_sts_bg_mode
- spider_sts_interval
- spider_sts_mode
- spider_sts_sync
- spider_support_xa
- spider_sync_autocommit
- spider_sync_time_zone
- spider_sync_trx_isolation
- spider_table_init_error_interval
- spider_udf_ct_bulk_insert_interval
- spider_udf_ct_bulk_insert_rows
- spider_udf_ds_bulk_insert_rows
- spider_udf_ds_table_loop_mode
- spider_udf_ds_use_real_table
- spider_udf_table_lock_mutex_count
- spider_udf_table_mon_mutex_count
- spider_use_all_conns_snapshot
- spider_use_consistent_snapshot
- spider_use_default_database
- spider_use_flash_logs
- spider_use_handler
- spider_use_pushdown_udf
- spider_use_table_charset
- spider_version
- sql_auto_is_null
- sql_big_selects
- sql_big_tables
- sql_buffer_result
- sql_error_log_filename
- sql_error_log_rate
- sql_error_log_rotate
- sql_error_log_rotations
- sql_error_log_size_limit
- sql_log_bin
- sql_log_off
- sql_log_update
- sql_low_priority_updates
- sql_max_join_size
- sql_mode
- sql_notes
- sql_quote_show_create
- sql_safe_updates
- sql_select_limit
- sql_slave_skip_counter
- sql_warnings
- ssl_ca
- ssl_capath
- ssl_cert
- ssl_cipher
- ssl_crl
- ssl_crlpath
- ssl_key
- storage_engine
- stored_program_cache
- strict_password_validation
- sync_binlog
- sync_frm
- sync_master_info
- sync_relay_log
- sync_relay_log_info
- system_time_zone
- table_definition_cache
- table_lock_wait_timeout
- table_open_cache
- table_open_cache_instances
- table_type
- thread_cache_size
- thread_concurrency
- thread_handling
- thread_pool_idle_timeout
- thread_pool_max_threads
- thread_pool_min_threads
- thread_pool_oversubscribe
- thread_pool_size
- thread_pool_stall_limit
- thread_stack
- time_format
- time_zone
- timed_mutexes
- timestamp
- tmp_table_size
- tmpdir
- tokudb_alter_print_error
- tokudb_analyze_time
- tokudb_block_size
- tokudb_bulk_fetch
- tokudb_cache_size
- tokudb_check_jemalloc
- tokudb_checkpoint_lock
- tokudb_checkpoint_on_flush_logs
- tokudb_checkpointing_period
- tokudb_cleaner_iterations
- tokudb_cleaner_period
- tokudb_commit_sync
- tokudb_create_index_online
- tokudb_data_dir
- tokudb_debug
- tokudb_directio
- tokudb_disable_hot_alter
- tokudb_disable_prefetching
- tokudb_disable_slow_alter
- tokudb_empty_scan
- tokudb_fs_reserve_percent
- tokudb_fsync_log_period
- tokudb_hide_default_row_format
- tokudb_killed_time
- tokudb_last_lock_timeout
- tokudb_load_save_space
- tokudb_loader_memory_size
- tokudb_lock_timeout
- tokudb_lock_timeout_debug
- tokudb_log_dir
- tokudb_max_lock_memory
- tokudb_optimize_index_fraction
- tokudb_optimize_index_name
- tokudb_optimize_throttle
- tokudb_pk_insert_mode
- tokudb_prelock_empty
- tokudb_read_block_size
- tokudb_read_buf_size
- tokudb_read_status_frequency
- tokudb_row_format
- tokudb_rpl_check_readonly
- tokudb_rpl_lookup_rows
- tokudb_rpl_lookup_rows_delay
- tokudb_rpl_unique_checks
- tokudb_rpl_unique_checks_delay
- tokudb_support_xa
- tokudb_tmp_dir
- tokudb_version
- tokudb_write_status_frequency
- transaction_alloc_block_size
- transaction_prealloc_size
- tx_isolation
- tx_read_only
- unique_checks
- updatable_views_with_limit
- use_stat_tables
- userstat
- version
- version_comment
- version_compile_machine
- version_compile_os
- version_malloc_library
- version_ssl_library
- wait_timeout
- warning_count
- wsrep_auto_increment_control
- wsrep_causal_reads
- wsrep_certify_nonPK
- wsrep_cluster_address
- wsrep_cluster_name
- wsrep_convert_LOCK_to_trx
- wsrep_data_home_dir
- wsrep_dbug_option
- wsrep_debug
- wsrep_desync
- wsrep_dirty_reads
- wsrep_drupal_282555_workaround
- wsrep_forced_binlog_format
- wsrep_gtid_domain_id
- wsrep_gtid_mode
- wsrep_load_data_splitting
- wsrep_log_conflicts
- wsrep_max_ws_rows
- wsrep_max_ws_size
- wsrep_mysql_replication_bundle
- wsrep_node_address
- wsrep_node_incoming_address
- wsrep_node_name
- wsrep_notify_cmd
- wsrep_on
- wsrep_OSU_method
- wsrep_provider
- wsrep_provider_options
- wsrep_recover
- wsrep_replicate_myisam
- wsrep_restart_slave
- wsrep_retry_autocommit
- wsrep_slave_fk_checks
- wsrep_slave_threads
- wsrep_slave_uk_checks
- wsrep_sst_auth
- wsrep_sst_donor
- wsrep_sst_donor_rejects_queries
- wsrep_sst_method
- wsrep_sst_receive_address
- wsrep_start_position
- wsrep_sync_wait
About the Server System Variables
MariaDB has many system variables that can be changed to suit your needs.
The full list of server variables are listed in the contents on this page, and most are described on this page, but some are described elsewhere:
- Aria System Variables
- CONNECT System Variables
- Galera System Variables
- Global Transaction ID System Variables
- HandlerSocket Plugin System Variables
- XtraDB/InnoDB System Variables
- Mroonga System Variables
- MyISAM System Variables
- Performance Schema System Variables
- Replication and Binary Log System Variables
- Server_Audit System Variables
- Spider System Variables
- SQL_ERROR_LOG Plugin System Variables
- SSL System Variables
- TokuDB System Variables
See also the Full list of MariaDB options, system and status variables.
Most of these can be set with command line options and many of them can be changed at runtime.
There are a few ways to see the full list of server system variables:
- While in the mysql client, run:
SHOW VARIABLES;
- See SHOW VARIABLES for instructions on using this command.
- From your shell, run mysqld like so:
mysqld --verbose --help
- View the Information Schema GLOBAL_VARIABLES, SESSION_VARIABLES, and SYSTEM_VARIABLES tables.
Setting Server System Variables
There are several ways to set server system variables:
- Specify them on the command line:
shell> ./mysqld_safe --aria_group_commit="hard"
- Specify them in your my.cnf file (see Configuring MariaDB with my.cnf for more information):
aria_group_commit = "hard"
- Set them from the mysql client using the SET command. Only variables that are dynamic can be set at runtime in this way.
SET GLOBAL aria_group_commit="hard";
By convention, server variables have usually been specified with an underscore in the configuration files, and a dash on the command line. You can however specify underscores as dashes - they are interchangeable.
List of Server System Variables
autocommit
- Description: If set to 1, the default, all queries are committed immediately. If set to 0, they are only committed upon a COMMIT statement, or rolled back with a ROLLBACK statement. If autocommit is set to 0, and then changed to 1, all open transactions are immediately committed.
- Commandline:
--autocommit[=#]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
automatic_sp_privileges
- Description: When set to 1, the default, when a stored routine is created, the creator is automatically granted permission to ALTER (which includes dropping) and to EXECUTE the routine. If set to 0, the creator is not automatically granted these privileges.
- Commandline:
--automatic-sp-privileges
,--skip-automatic-sp-privileges
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
back_log
- Description: Connections take a small amount of time to start, and this setting determines the number of outstanding connection requests MariaDB can have, or the size of the listen queue for incoming TCP/IP requests. Requests beyond this will be refused. Increase if you expect short bursts of connections. Cannot be set higher than the operating system limit (see the Unix listen() man page).
- Commandline:
--back-log=#
- Scope: Global
- Dynamic: No
- Type: number
- Default Value:
50
(before MariaDB 10.0.8) or the lower of150
or the value of max_connections (from MariaDB 10.0.8)
basedir
- Description: Path to the MariaDB installation directory. Other paths are usually resolved relative to this base directory.
- Commandline:
--basedir=path
or-b path
- Scope: Global
- Dynamic: No
- Type: directory name
big_tables
- Description: Old variable, which if set to 1, allows large result sets by saving all temporary sets to disk, avoiding 'table full' errors. No longer needed, as the server now handles this automatically. sql_big_tables is a synonym.
- Commandline:
--big-tables
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
bind_address
- Description: By default, the MariaDB server listens for TCP/IP connections on a network socket bound to a single address, 0.0.0.0. You can specify an alternative when the server starts using this option; either a host name, an IPv4 or an IPv6 address.
- Commandline:
--bind-address=addr
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Valid Values: Host name, IPv4, IPv6 (>= MySQL 5.5.3)
bulk_insert_buffer_size
- Description: Size in bytes of the per-thread cache tree used to speed up bulk inserts into MyISAM and Aria tables. A value of 0 disables the cache tree.
- Commandline:
--bulk-insert-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
8388608
- Range - 32 bit:
0
to4294967295
- Range - 64 bit:
0
to18446744073709547520
character_set_client
- Description: Determines the character set for queries arriving from the client. It can be set per session by the client, although the server can be configured to ignore client requests with the
--skip-character-set-client-handshake
option. If the client does not request a character set, or requests a character set that the server does not support, the global value will be used. utf16, utf32 and ucs2 cannot be used as client character sets. - Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
character_set_connection
- Description: Character set used for number to string conversion, as well as for literals that don't have a character set introducer.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
character_set_database
- Description: Character set used by the default database, and set by the server whenever the default database is changed. If there's no default database, character_set_database contains the same value as character_set_server. This variable is dynamic, but should not be set manually, only by the server.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
character_set_filesystem
- Description: The character set for the filesystem. Used for converting file names specified as a string literal from character_set_client to character_set_filesystem before opening the file. By default set to
binary
, so no conversion takes place. This could be useful for statements such as LOAD_FILE() or LOAD DATA INFILE on system where multi-byte file names are use. - Commandline:
--character-set-filesystem=name
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
binary
character_set_results
- Description: Character set used for results and error messages returned to the client.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
utf8
character_set_server
- Description: Default character set used by the server. See character_set_database for character sets used by the default database.
- Commandline:
--character-set-server
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
character_set_system
- Description: Character set used by the server to store identifiers, always set to utf8.
- Scope: Global
- Dynamic: No
- Data Type:
string
character_sets_dir
- Description: Directory where the character sets are installed.
- Commandline:
--character-sets-dir=path
- Scope: Global
- Dynamic: No
- Type: directory name
collation_connection
- Description: Collation used for the connection character set.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
collation_database
- Description: Collation used for the default database. Set by the server if the default database changes, if there is no default database the value from the
collation_server
variable is used. This variable is dynamic, but should not be set manually, only by the server. - Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
collation_server
- Description: Default collation used by the server. This is set to the default collation for a given character set automatically when character_set_server is changed, but it can also be set manually.
- Commandline:
--collation-server=name
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
completion_type
- Description: The transaction completion type. If set to
NO_CHAIN
or0
(the default), there is no effect on commits and rollbacks. If set toCHAIN
or1
, a COMMIT statement is equivalent to COMMIT AND CHAIN, while a ROLLBACK is equivalent to ROLLBACK AND CHAIN, so a new transaction starts straight away with the same isolation level as transaction that's just finished. If set toRELEASE
or2
, a COMMIT statement is equivalent to COMMIT RELEASE, while a ROLLBACK is equivalent to ROLLBACK RELEASE, so the server will disconnect after the transaction completes. Note that the transaction completion type only applies to explicit commits, not implicit commits. - Commandline:
--completion-type=name
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enumerated
(>=MariaDB/MySQL 5.5.3),numeric
(<= MariaDB/MySQL 5.5.2) - Default Value:
NO_CHAIN
(>=MariaDB/MySQL 5.5.3),0
(<= MariaDB/MySQL 5.5.2) - Valid Values:
0
,1
,2
(All versions),NO_CHAIN
,CHAIN
,RELEASE
(>=MariaDB/MySQL 5.5.3)
concurrent_insert
- Description: If set to
AUTO
or1
, the default, MariaDB allows concurrent INSERTs and SELECTs for MyISAM tables with no free blocks in the data. If set toNEVER
or0
, concurrent inserts are disabled. If set toALWAYS
or2
, concurrent inserts are permitted for all MyISAM tables, even those with holes, in which case new rows are added at the end of a table if the table is being used by another thread. If the --skip-new option is used when starting the server, concurrent_insert is set toNEVER
. - Commandline:
--concurrent-insert[=name]
- Scope: Global
- Dynamic: Yes
- Data Type:
enumerated
(>=MariaDB/MySQL 5.5.3),numeric
(<= MariaDB/MySQL 5.5.2) - Default Value:
AUTO
(>=MariaDB/MySQL 5.5.3),1
(<= MariaDB/MySQL 5.5.2) - Valid Values:
0
,1
,2
(All versions),AUTO
,NEVER
,ALWAYS
(>=MariaDB/MySQL 5.5.3) - Documentation: concurrent-inserts
- Notes: Changing the variable only affects new opened tables. Use
FLUSH TABLES
If you want it to affect also cached tables.
connect_timeout
- Description: Time in seconds that the server waits for a connect packet before returning a 'Bad handshake'. Increasing may help if clients regularly encounter 'Lost connection to MySQL server at 'X', system error: error_number' type-errors
- Commandline:
--connect-timeout=#
- Scope: Global
- Dynamic: Yes
- Type: numeric
- Default Value:
10
datadir
- Description: Directory where the data is stored.
- Commandline:
--datadir=path
or-h path
- Scope: Global
- Dynamic: No
- Type: directory name
date_format
- Description: Unused.
datetime_format
- Description: Unused.
debug
- Description: Used in debugging to write to a trace file. MariaDB needs to be configured with -SWITH_DEBUG=1 to enable this option.
- Commandline:
--debug[=debug_options]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
d:t:i:o,/tmp/mysqld.trace
(Unix) ord:t:i:O,\mysqld.trace
(Windows)
debug_no_thread_alarm
- Description: Disable system thread alarm calls. Disabling it may be useful in debugging or testing, never do it in production.
- Commandline:
--debug-no-thead-alarm=#
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
OFF
- Introduced: MariaDB
debug_sync
- Description: Used in debugging to show the interface to the Debug Sync facility. MariaDB needs to be configured with -DENABLE_DEBUG_SYNC=1 for this variable to be available.
- Scope: Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
OFF
orON - current signal signal name
default_regex_flags
- Description: Introduced to address remaining incompatibilities between PCRE and the old regex library. Accepts a comma-separated list of zero or more of the following values:
Value | Pattern equivalent | Meaning |
DOTALL | (?s) | . matches anything including NL |
DUPNAMES | (?J) | Allow duplicate names for subpatterns |
EXTENDED | (?x) | Ignore white space and # comments |
EXTRA | (?X) | extra features (e.g. error on unknown escape character) |
MULTILINE | (?m) | ^ and $ match newlines within data |
UNGREEDY | (?U) | Invert greediness of quantifiers |
- Commandline:
--default-regex-flags=value
- Scope: Global, Session
- Dynamic: Yes
- Default Value: empty
- Valid Values:
DOTALL
,DUPNAMES
,EXTENDED
,EXTRA
,MULTILINE
,UNGREEDY
- Introduced: MariaDB 10.0.11
default_storage_engine
- Description: The default storage engine. The default storage engine must be enabled at server startup or the server won't start.
- Commandline:
--default-storage-engine=name
- Scope: Global, Session
- Dynamic: Yes
- Type: enumeration
- Default Value:
InnoDB
(>= MariaDB 5.5),MyISAM
(<MariaDB 5.5) - Introduced: MariaDB 5.5(previously storage_engine)
default_table_type
- Description: A synonym for default_storage_engine. Removed in MariaDB 5.5.
- Commandline:
--default-table-type=name
- Scope: Global, Session
- Dynamic: Yes
- Removed: MariaDB/MySQL 5.5
default_tmp_storage_engine
- Description: Default storage engine that will be used for tables created with CREATE TEMPORARY TABLE (for internal temporary tables see aria_used_for_temp_tables). The storage engine used must be active or the server will not start. See default_storage_engine for the default for non-temporary tables.
- Commandline:
--default-tmp-storage-engine=name
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enumeration
- Default Value: Empty string
- Introduced: MariaDB 10.1.0
default_week_format
- Description: Default mode for the WEEK() function. See that page for details on the different modes
- Commandline:
--default-week-format=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
- Range:
0
to7
delay_key_write
- Description: Specifies how MyISAM tables handles CREATE TABLE DELAY_KEY_WRITE. If set to
ON
, the default, any DELAY KEY WRITEs are honored. The key buffer is then flushed only when the table closes, speeding up writes. MyISAM tables should be automatically checked upon startup in this case, and --external locking should not be used, as it can lead to index corruption. If set toOFF
, DELAY KEY WRITEs are ignored, while if set toALL
, all new opened tables are treated as if created with DELAY KEY WRITEs enabled. - Commandline:
--delay-key-write[=name]
- Scope: Global
- Dynamic: Yes
- Data Type:
enumeration
- Default Value:
ON
- Valid Values:
ON
,OFF
,ALL
delayed_insert_limit
- Description: After this many rows have been inserted with INSERT DELAYED, the handler will check for and execute any waiting SELECT statements.
- Commandline:
--delayed-insert-limit=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
100
- Range:
1
to4294967295
delayed_insert_timeout
- Description: Time in seconds that the INSERT DELAYED handler will wait for INSERT's before terminating.
- Commandline:
--delayed-insert-timeout=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
300
delayed_queue_size
- Description: Number of rows, per table, that can be queued when performing INSERT DELAYED statements. If the queue becomes full, clients attempting to perform INSERT DELAYED's will wait until the queue has room available again.
- Commandline:
--delayed-queue-size=#
- Scope: Global
- Dynamic: Yes
- Type: numeric
- Default Value:
1000
- Range:
1 to 4294967295
div_precision_increment
- Description: Number of digits to be returned after the decimal point in division operations. By default
4
, soSELECT 2/15
would return 0.1333. After setting div_precision_increment to6
, for example, the same operation would return 0.133333. - Commandline:
--div-precision-increment=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
4
- Range:
0
to30
encrypt_tmp_disk_tables
- Description: Encrypt tmp disk tables (created as part of query execution). See Table and Tablespace Encryption.
- Commandline:
--encrypt-tmp-disk-tables[={0|1}]
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
- Introduced: 10.1.3
encrypt_tmp_files
- Description: Encrypt temporary files (created for filesort, binary log cache, etc). See Table and Tablespace Encryption.
- Commandline:
--encrypt-tmp-files[={0|1}]
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
OFF
(>= 10.1.7),ON
(<= 10.1.6) - Introduced: 10.1.5
encryption_algorithm
- Description: Which encryption algorithm to use for table encryption.
aes_cbc
is the recommended one. See Table and Tablespace Encryption. - Commandline:
--encryption-algorithm=value
- Scope: Global
- Dynamic: No
- Data Type:
enum
- Default Value:
none
- Valid Values:
none
,aes_ecb
,aes_cbc
,aes_ctr
- Introduced: MariaDB 10.1.3
- Removed: MariaDB 10.1.4
enforce_storage_engine
- Description: Force the use of a particular storage engine for new tables. Used to avoid unwanted creation of tables using another engine. For example, setting to InnoDB will prevent any MyISAM tables from being created. If another engine is specified in a CREATE TABLE statement, a warning will be returned and the table created according to the engine specified by this variable (if the option
NO_ENGINE_SUBSTITUTION
is not selected in thesql_mode
variable). The variable has a session scope, but is only modifiable by a user with the SUPER privilege. - Commandline: None
- Scope: Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
none
- Introduced: MariaDB 10.1.4
engine_condition_pushdown
- Description: Deprecated and to be replaced by optimizer_switch. Specifies whether the engine condition pushdown optimization is enabled.
- Commandline:
--engine-condition-pushdown
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
(from MariaDB 5.5,ON
in MySQL 5.5 and earlier versions of MariaDB) - Deprecated:
MariaDB/MySQL 5.5.3
error_count
- Description: Read-only variable denoting the number of errors from the most recent statement in the current session that generated errors. See SHOW_ERRORS().
- Scope: Session
- Dynamic: Yes
- Data Type:
numeric
event_scheduler
- Description: Status of the Event Scheduler. Can be set to
ON
orOFF
, whileDISABLED
means it cannot be set at runtime. Setting the variable will cause a load of events if they were not loaded at startup. - Commandline:
--event-scheduler[=value]
- Scope: Global
- Dynamic: Yes
- Data Type:
enumeration
- Default Value:
OFF
- Valid Values:
ON
(or1
),OFF
(or0
),DISABLED
expensive_subquery_limit
- Description: Number of rows to be examined for a query to be considered expensive, that is, maximum number of rows a subquery may examine in order to be executed during optimization and used for constant optimization.
- Commandline:
--expensive-subquery-limit=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
100
- Range:
0
upwards - Introduced: MariaDB 5.5.25
explicit_defaults_for_timestamp
- Description: This option causes CREATE TABLE to create all TIMESTAMP columns as NULL with the DEFAULT NULL attribute, Without this option, TIMESTAMP columns are NOT NULL and have implicit DEFAULT clauses. The old behavior is deprecated.
- Commandline:
--explicit-defaults-for-timestamp=[={0|1}]
- Scope: Global
- Dynamic: No
- Data Type:
bolean
- Default Value:
OFF
- Introduced: MariaDB 10.1.8
external_user
- Description: External user name set by the plugin used to authenticate the client.
NULL
if native MariaDB authentication is used. - Scope: Session
- Dynamic: No
- Data Type:
string
- Default Value:
NULL
- Introduced: MariaDB 5.5
extra_max_connections
- Description: The number of connections on the extra_port. Introduced for the MariaDB 5.1 threadpool.
- Commandline:
--extra-max-connections=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1
- Range:
1
to100000
- Introduced: MariaDB 5.1
extra_port
- Description: Extra port number to use for tcp-connections in a one-thread-per-connection manner. If set to
0
, no other port is used. Introduced for the MariaDB 5.1 threadpool. - Commandline:
--extra-port=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
0
- Introduced: MariaDB 5.1
flush
- Description: Usually, MariaDB writes changes to disk after each SQL statement, and the operating system handles synchronizing (flushing) it to disk. If set to
ON
, the server will synchronize all changes to disk after each statement. - Commandline:
--flush
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
flush_time
- Description: Interval in seconds that tables are closed to synchronize (flush) data to disk and free up resources. If set to 0, the default, there is no automatic synchronizing tables and closing of tables. This option should not be necessary on systems with sufficient resources.
- Commandline:
--flush_time=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
foreign_key_checks
- Description: If set to 1 (the default) foreign key constraints (including ON UPDATE and ON DELETE behavior) InnoDB tables are checked, while if set to 0, they are not checked.
0
is not recommended for normal use, though it can be useful in situations where you know the data is consistent, but want to reload data in a different order from that that specified by parent/child relationships. Setting this variable to 1 does not retrospectively check for inconsistencies introduced while set to 0. - Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
ft_boolean_syntax
- Description: List of operators supported by an IN BOOLEAN MODE full-text search. If you wish to change, note that each character must be ASCII and non-alphanumeric, the full string must be 14 characters and the first or second character must be a space. Positions 10, 13 and 14 are reserved for future extensions. Also, no duplicates are permitted except for the phrase quoting characters in positions 11 and 12, which may be the same.
- Commandline:
--ft-boolean-syntax=name
- Scope: Global
- Dynamic: Yes
- Data Type:
string
- Default Value:
+ -><()*:""&|
ft_max_word_len
- Description: Maximum length for a word to be included in the MyISAM full-text index. If this variable is changed, the full-text index must be rebuilt. The quickest way to do this is by issuing a
REPAIR TABLE table_name QUICK
statement. See innodb_ft_max_token_size for the InnoDB equivalent. - Commandline:
--ft-max-word-len=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
84
- Minimum Value:
10
ft_min_word_len
- Description: Minimum length for a word to be included in the MyISAM full-text index. If this variable is changed, the full-text index must be rebuilt. The quickest way to do this is by issuing a
REPAIR TABLE table_name QUICK
statement. See innodb_ft_min_token_size for the InnoDB equivalent. - Commandline:
--ft-min-word-len=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
4
- Minimum Value:
1
ft_query_expansion_limit
- Description: For full-text searches, denotes the numer of top matches when using WITH QUERY EXPANSION.
- Commandline:
--ft-query-expansion-limit=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
20
- Range:
0
to1000
ft_stopword_file
- Description: File containing a list of stopwords for use in MyISAM full-text searches. Unless an absolute path is specified the file will be looked for in the data directory. The file is not parsed for comments, so all words found become stopwords. By default, a built-in list of words (built from
storage/myisam/ft_static.c file
) is used. Stopwords can be disabled by setting this variable to''
(an empty string). If this variable is changed, the full-text index must be rebuilt. The quickest way to do this is by issuing aREPAIR TABLE table_name QUICK
statement. See innodb_ft_server_stopword_table for the InnoDB equivalent. - Commandline:
--ft-stopword-file=file_name
- Scope: Global
- Dynamic: No
- Data Type:
file name
- Default Value:
(built-in)
general_log
- Description: If set to 0, the default unless the --general-log option is used, the general query log is disabled, while if set to 1, the general query log is enabled. See log_output for how log files are written. If that variable is set to
NONE
, no logs will be written even if general_query_log is set to1
. - Commandline:
--general-log
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
general_log_file
- Description: Name of the general query log file. If this is not specified the name is taken from the variable
log-basename
or from your system hostname with.log
as a suffix. - Commandline:
--general-log-file=file_name
- Scope: Global
- Dynamic: Yes
- Data Type:
file name
- Default Value:
host_name.log
group_concat_max_len
- Description: Maximum length in bytes of the returned result for a GROUP_CONCAT() function.
- Commandline:
--group-concat-max-len=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1024
- Range - 32-bit:
4
to4294967295
- Range - 64-bit:
4
to18446744073709547520
have_compress
- Description: If the zlib compression library is accessible to the server, this will be set to
YES
, otherwise it will beNO
. The COMPRESS() and UNCOMPRESS() functions will only be available if set toYES
. - Scope: Global
- Dynamic: No
have_crypt
- Description: If the crypt() system call is available this variable will be set to
YES
, otherwise it will be set toNO
. If set toNO
, the ENCRYPT() function cannot be used. - Scope: Global
- Dynamic: No
have_csv
- Description: If the server supports CSV tables, will be set to
YES
, otherwise will be set toNO
. - Scope: Global
- Dynamic: No
have_dynamic_loading
- Description: If the server supports dynamic loading of plugins, will be set to
YES
, otherwise will be set toNO
. - Scope: Global
- Dynamic: No
have_geometry
- Description: If the server supports spatial data types, will be set to
YES
, otherwise will be set toNO
. - Scope: Global
- Dynamic: No
have_ndbcluster
- Description: If the server supports NDBCluster (currently disabled in MariaDB).
- Scope: Global
- Dynamic: No
have_partitioning
- Description: If the server supports partitioning, will be set to
YES
, otherwise will be set toNO
. Removed inMariaDB 10.0
- SHOW ENGINES should instead be used. - Scope: Global
- Dynamic: No
- Removed:
MariaDB 10.0
have_profiling
- Description: If statement profiling is available, will be set to
YES
, otherwise will be set toNO
. See SHOW PROFILES() and SHOW PROFILE(). - Scope: Global
- Dynamic: No
have_query_cache
- Description: If the server supports the query cache, will be set to
YES
, otherwise will be set toNO
. - Scope: Global
- Dynamic: No
have_rtree_keys
- Description: If RTREE indexes (used for spatial indexes in MyISAM tables) are available, will be set to
YES
, otherwise will be set toNO
. - Scope: Global
- Dynamic: No
have_symlink
- Description: If symbolic link support is enabled, will be set to
YES
, otherwise will be set toNO
. Required for the INDEX DIRECTORY and DATA DIRECTORY table options (see CREATE TABLE) and Windows symlink support. Will be set toDISABLED
if the server is started with the --skip-symbolic-links option. - Scope: Global
- Dynamic: No
histogram_size
- Description: Number of bytes used for a histogram. If set to 0, no histograms are created by ANALYZE.
- Commandline:
--histogram-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
- Range:
0
to255
- Introduced: MariaDB 10.0.2
histogram_type
- Description: Specifies the type of histograms created by ANALYZE.
SINGLE_PREC_HB
- single precision height-balanced.DOUBLE_PREC_HB
- double precision height-balanced.
- Commandline:
--histogram-type=value
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enumeration
- Default Value:
SINGLE_PREC_HB
- Valid Values:
SINGLE_PREC_HB
,DOUBLE_PREC_HB
- Introduced: MariaDB 10.0.2
host_cache_size
- Description: Number of host names that will be cached to avoid resolving. Setting to
0
disables the cache. Changing the value while the server is running causes an implicit FLUSH HOSTS, clearing the host cache and truncating the performance_schema.host_cache table. - Commandline:
--host-cache-size=#
. - Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
128
- Range:
0
to65536
- Introduced: MariaDB 10.0
hostname
- Description: When the server starts, this variable is set to the server host name.
- Scope: Global
- Dynamic: No
- Data Type:
string
identity
- Description: A synonym for last_insert_id variable.
ignore_db_dirs
- Description: Comma-delimited list of directories in the data directory that are not considered as database directories. Set from --ignore-db-dir at startup.
- Scope: Global
- Dynamic: No
- Data Type:
string
- Introduced: MariaDB 5.5
in_transaction
- Description: Session-only and read-only variable that is set to
1
if you are in a transaction, and0
if not. - Commandline: No
- Scope: Session
- Dynamic: No
- Data Type:
boolean
- Default Value:
0
- Introduced: MariaDB 5.3
init_connect
- Description: String containing one or more SQL statements, separated by semicolons, that will be executed by the server for each client connecting. If there's a syntax error in the one of the statements, the client will fail to connect. For this reason, the statements are not executed for users with the SUPER privilege, who can then still connect and correct the error. See also init_file.
- Commandline:
--init-connect=name
- Scope: Global
- Dynamic: Yes
- Data Type:
string
init_file
- Description: Name of a file containing SQL statements that will be executed by the server on startup. Each statement should be on a new line with no terminators (such as a semicolon). See also init_connect.
- Commandline:
init-file=file_name
- Scope: Global
- Dynamic: No
- Data Type:
file name
insert_id
- Description: Value to be used for the next statement inserting a new AUTO_INCREMENT value.
- Scope: Session
- Dynamic: Yes
- Data Type:
numeric
interactive_timeout
- Description: Time in seconds that the server waits for an interactive connection (one that connects with the mysql_real_connect() CLIENT_INTERACTIVE option) to become active before closing it. See also wait_timeout.
- Commandline:
--interactive-timeout=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
28800
- Minimum Value:
1
join_buffer_size
- Description: Minimum size in bytes of the buffer used for queries that cannot use an index, and instead perform a full table scan. Increase to get faster full joins when adding indexes is not possible, although be aware of memory issues, since joins will always allocate the minimum size. Best left low globally and set high in sessions that require large full joins. In 64-bit platforms, Windows truncates values above 4GB to 4GB with a warning.
- Commandline:
--join-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
262144
(256kB) (>=MariaDB 10.1.7),131072
(128kB) (<=MariaDB 10.1.6) - Range (>=MariaDB/MySQL 5.5):
128
to18446744073709547520
- Range (<=MariaDB/MySQL 5.3, Windows):
8228
to18446744073709547520
join_buffer_space_limit
- Description: Maximum size in bytes of the query buffer, By default 1024*128*10. See Block-based join algorithms.
- Commandline:
--join-buffer-space-limit=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
2097152
- Range:
2048
to99999999997952
- Introduced: MariaDB 5.3
join_cache_level
- Description: Controls which of the eight block-based algorithms can be used for join operations. See Block-based join algorithms for more information.
- 1 – flat (Block Nested Loop) BNL
- 2 – incremental BNL
- 3 – flat Block Nested Loop Hash (BNLH)
- 4 – incremental BNLH
- 5 – flat Batch Key Access (BKA)
- 6 – incremental BKA
- 7 – flat Batch Key Access Hash (BKAH)
- 8 – incremental BKAH
- Commandline:
--join-cache-level=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
2
- Range:
0
to8
- Introduced: MariaDB 5.3
keep_files_on_create
- Description: If a MyISAM table is created with no DATA DIRECTORY option, the .MYD file is stored in the database directory. When set to
0
, the default, if MariaDB finds another .MYD file in the database directory it will overwrite it. Setting this variable to1
means that MariaDB will return an error instead, just as it usually does in the same situation outside of the database directory. The same applies for .MYI files and no INDEX DIRECTORY option. - Commandline:
--keep-files-on-create=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
language
- Description: Language to use for the server error messages. Either just the language name, or the directory where the error messages are stored. An alternative is to use lc_messages_dir and lc_messages instead. See Setting the language for error messages.
- Commandline:
--language=name
,-L
- Scope: Global
- Dynamic: No
- Data Type:
directory name
- Default Value:
/usr/local/mysql/share/mysql/english/
large_files_support
- Description: ON if the server if was compiled with large file support or not, else OFF
- Scope: Global
- Dynamic: No
- Introduced: MySQL 3.23.28
large_page_size
- Description: Indicates the size of memory page if large page support (Linux only) is enabled. See large_pages.
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
0
large_pages
- Description: Indicates whether large page support (Linux only) is used. Set with
--large-pages
or disable with--skip-large-pages
. - Commandline:
--large-pages
,--skip-large-pages
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
OFF
last_insert_id
- Description: Contains the same value as that returned by LAST_INSERT_ID(). Note that setting this variable doen't update the value returned by the underlying function.
- Scope: Session
- Dynamic: Yes
- Data Type:
numeric
lc_messages
- Description: Locale to use for error messages. This will be converted to a language name and along with lc_messages_dir will produce the location for the error message file. See locales for a list of available locales and their related languages.
- Commandline:
--lc-messages=name
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Introduced: MariaDB 5.5
lc_messages_dir
- Description: Directory where the error messages are located. Together with lc_messages will produce the location for the error message file.
- Commandline:
--lc-messages-dir=path
- Scope: Global
- Dynamic: No
- Data Type:
directory name
- Introduced: MariaDB 5.5
lc_time_names
- Description: The locale that determines the language used for the date and time functions DAYNAME(), MONTHNAME() and DATE_FORMAT(). Locale names are language and region subtags, for example 'en_ZA' (English - South Africa) or 'es_US: Spanish - United States'. The default is always 'en-US' regardless of the system's locale setting. See server locale for a full list of supported locales.
- Commandline:
--lc-time-names=name
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
en_US
- Introduced: MySQL 5.1.12
license
- Description: Server license, for example
GPL
. - Scope: Global
- Dynamic: No
- Data Type:
string
local_infile
- Description: If set to
1
, LOCAL is supported for LOAD DATA INFILE statements. If set to0
, usually for security reasons, attempts to perform a LOAD DATA LOCAL will fail with an error message. - Commandline:
--local-infile=#
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
ON
lock_wait_timeout
- Description: Timeout in seconds for attempts to acquire metadata locks. Statements using metadata locks include FLUSH TABLES WITH READ LOCK, LOCK TABLES, HANDLER and DML and DDL operations on tables, stored procedures and functions, and views. The timeout is separate for each attempt, of which there may be multiple in a single statement.
- Commandline:
--lock-wait-timeout=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
31536000
(1 year) - Range:
1
to31536000
- Introduced: MariaDB/MySQL 5.5.3
locked_in_memory
- Description: Indicates whether --memlock was used to lock mysqld in memory.
- Commandline:
--memlock
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
OFF
log
- Description: Deprecated and removed in MariaDB 10.0, use general_log instead.
- Commandline:
-l [filename]
or--log[=filename]
- Scope: Global
- Dynamic: Yes
- Data Type:
string
- Default Value:
OFF
- Deprecated:
MySQL 5.1.29
and replaced by general_log - Removed:
MariaDB 10.0
log_error
- Description: Specifies the name of the error log. If no name is provided, errors will still be logged to
hostname.err
. - Commandline:
--log-error[=name]
- Scope: Global
- Dynamic: No
- Data Type:
file name
- Default Value:
(empty string)
log_output
- Description: How the output for the general query log and the slow query log is stored. By default written to file (
FILE
), it can also be stored in the general_log and slow_log tables in the mysql database (TABLE
), or not stored at all (NONE
). More than one option can be chosen at the same time, withNONE
taking precedence if present. Logs will not be written if logging is not enabled. See Writing logs into tables, and the slow_query_log and general_log server system variables. - Commandline:
--log-output=name
- Scope: Global
- Dynamic: Yes
- Data Type:
set
- Default Value:
FILE
- Valid Values:
TABLE
,FILE
orNONE
log_queries_not_using_indexes
- Description: Queries that don't use an index, or that perform a full index scan where the index doesn't limit the number of rows, will be logged to the slow query log. The slow query log needs to be enabled for this to have an effect.
- Commandline:
--log-queries-not-using-indexes
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
log_slow_filter
- Description: Comma-delimited string containing one or more settings for filtering what is logged to the slow query log. If a query matches one of the types listed in the filter, it will be logged. Sets log-slow-admin-statements to ON.
admin
log administrative queries (create, optimize, drop etc...)filesort
logs queries that use a filesort.filesort_on_disk
logs queries that perform a a filesort on disk.full_join
logs queries that perform a join without indexes.full_scan
logs queries that perform full table scans.query_cache
log queries that are resolved by the query cache .query_cache_miss
logs queries that are not found in the query cache.tmp_table
logs queries that create an implicit temporary table.tmp_table_on_disk
logs queries that create a temporary table on disk.
- Commandline:
log-slow-filter=value1[,value2...]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enumeration
- Default Value:
admin
,filesort
,filesort_on_disk
,full_join
,full_scan
,query_cache
,query_cache_miss
,tmp_table
,tmp_table_on_disk
- Valid Values:
admin
,filesort
,filesort_on_disk
,full_join
,full_scan
,query_cache
,query_cache_miss
,tmp_table
,tmp_table_on_disk
log_slow_queries
- Description: Deprecated and removed in MariaDB 10.0, use slow_query_log instead.
- Commandline:
--log-slow-queries[=name]
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
- Deprecated:
MySQL 5.1.29
- Removed:
MariaDB 10.0/MySQL 5.6.1
log_slow_rate_limit
- Description: The slow query log will log every this many queries. The default is
1
, or every query, while setting it to20
would log every 20 queries, or five percent. Aims to reduce I/O usage and excessively large slow query logs. See also Slow Query Log Extended Statistics. - Commandline:
log-slow-rate-limit=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1
- Range:
1
upwards - Introduced: MariaDB 5.1
log_slow_verbosity
- Description: Controls information to be added to the slow query log. Options are added in a comma-delimited string. See also Slow Query Log Extended Statistics.
query_plan
logs query execution plan informationinnodb
logs XtraDB/InnoDB statisticsexplain
prints EXPLAIN output in the slow query log. See EXPLAIN in the Slow Query Log. (added in MariaDB 10.0.5)
- Commandline:
log-slow-verbosity=value1[,value2...]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enumeration
- Default Value:
query_plan
- Valid Values:
query_plan
,innodb
,explain
(from MariaDB 10.0.5) - Introduced: MariaDB 5.1
log_tc_size
- Description: Size in bytes of the transaction coordinator log, defined in multiples of 4096. Always available as a commandline option, but added as a variable in MariaDB 10.1.3
- Commandline:
log-tc-size=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
24576
- Range:
12288
to18446744073709551615
- Introduced: MariaDB 10.1.3 (variable)
log_warnings
- Description: If set to
1
, the default, all critical warnings are logged to the error log. Slave servers also log status information, including the binary log and relay log co-ordinates where they start replicating from, reconnects after a disconnect and when the slave switches to a new relay-log. If set to0
, warnings are not logged. If set to a number greater than1
, aborted connections and access-denied errors are also logged. Specifically, the following are logged:- log_warnings >= 1
- Events_scheduler info and warnings
- Access denied errors
- Connections that were forced to be closed or aborted
- System signals
- Wrong usage of
--user
- Failed setrlimit() and mlockall()
- Changed limits
- Wrong values of lower_case_table_names and stack_size
- Wrong values for command line options
- Start log position and some master information when starting slaves
- Slave reconnects
- Killed slaves
- Error reading relay logs
- Before MariaDB 10.0.14: Statements that were unsafe to log as statement-based (when BINLOG_FLAG_UNSAFE_STMT_PRINTED is also set)
- Disabled plugins that one tried to enable or use
- UDF files that didn't include the required init functions.
- log_warnings >= 2
- Table handler errors
- Starting from MariaDB 10.0.14: Statements that were unsafe to log as statement-based (when BINLOG_FLAG_UNSAFE_STMT_PRINTED is also set)
- log_warnings >= 3
- All errors and warnings during MyISAM repair and auto recover.
- log_warnings >= 1
- Commandline:
-W [level]
or--log-warnings[=level]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1
- Range:
0
to4294967295
long_query_time
- Description: If a query takes longer than this many seconds to execute (microseconds can be specified too), the Slow_queries status variable is incremented and, if enabled, the query is logged to the slow query log.
- Commandline:
--long-query-time=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
10.000000
- Range:
0
upwards
low_priority_updates
- Description: If set to 1 (0 is the default), for storage engines that use only table-level locking (Aria, MyISAM, MEMORY and MERGE), all INSERTs, UPDATEs, DELETEs and LOCK TABLE WRITEs will wait until there are no more SELECTs or LOCK TABLE READs pending on the relevant tables. Set this to 1 if reads are prioritized over writes. Previously named sql_low_priority_updates, which is still a synonym.
- Commandline:
--low-priority-updates
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
lower_case_file_system
- Description: Read-only variable describing whether the file system is case-sensitive. If set to
OFF
, file names are case-sensitive. If set toON
, they are not case-sensitive. - Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
##
lower_case_table_names
- Description: If set to
0
(the default on Unix-based systems), table names and aliases and database names are compared in a case-sensitive manner. If set to1
(the default on Windows), names are stored in lowercase and not compared in a case-sensitive manner. If set to2
(the default on Mac OS X), names are stored as declared, but compared in lowercase. - Commandline:
--lower-case-table-names[=#]
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
0
(Unix),1
(Windows),2
(Mac OS X) - Range:
0
to2
max_allowed_packet
- Description: Maximum size in bytes of a packet or a generated/intermediate string. The packet message buffer is initialized with the value from net_buffer_length, but can grow up to max_allowed_packet bytes. Set as large as the largest BLOB, in multiples of 1024. If this value is changed, it should be changed on the client side as well. See slave_max_allowed_packet for a specific limit for replication purposes.
- Commandline:
--max-allowed-packet=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1048576
(1MB) <= MariaDB 10.1.6,4M
>= MariaDB 10.1.7,1073741824
(1GB) (client-side) - Range:
1024
to1073741824
max_connect_errors
- Description: Limit to the number of successive failed connects from a host before the host is blocked from making further connections. The count for a host is reset to zero if they successfully connect. To unblock, flush the host cache with a FLUSH HOSTS statement or mysqladmin flush-hosts.
- Commandline:
--max-connect-errors=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
100
(from MariaDB 10.0),10
(before MariaDB 10.0)
max_connections
- Description: The maximum number of simultaneous client connections. See also Handling Too Many Connections. Note that this value affects the number of file descriptors required on the operating system.
- Commandline:
--max-connections=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
151
- Range:
1
to100000
max_delayed_threads
- Description: Limits to the number of INSERT DELAYED threads. Once this limit is reached, the insert is handled as if there was no DELAYED attribute. If set to
0
, DELAYED is ignored entirely. The session value can only be set to0
or to the same as the global value. - Commandline:
--max-delayed-threads=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
20
- Range:
0
to16384
max_digest_length
- Description: Maximum length considered for computing a statement digest, such as used by the Performance Schema and query rewrite plugins. Statements that differ after this many bytes produce the same digest, and are aggregated for statistics purposes. The variable is allocated per session. Increasing will allow longer statements to be distinguished from each other, but increase memory use, while decreasing will reduce memory use, but more statements may become indistinguishable.
- Commandline:
--max-digest-length=#
- Scope: Global,
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1024
- Range:
0
to1048576
- Introduced: MariaDB 10.1.5
max_error_count
- Description: Specifies the maximum number of messages stored for display by SHOW ERRORS and SHOW WARNINGS statements.
- Commandline:
--max-error-count=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
64
- Range:
0
to65535
max_heap_table_size
- Description: Maximum size in rows for user-created MEMORY tables. Setting the variable while the server is active has no effect on existing tables unless they are recreated or altered. The smaller of max_heap_table_size and tmp_table_size also limits internal in-memory tables.
- Commandline:
--max-heap-table-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
16777216
- Range - 32 bit:
16384
to4294967295
- Range - 64 bit:
16384
to1844674407370954752
max_insert_delayed_threads
- Description: Synonym for max_delayed_threads.
max_join_size
- Description: Statements will not be performed if they are likely to need to examine more than this number of rows, row combinations or do more disk seeks. Can prevent poorly-formatted queries from taking server resources. Changing this value to anything other the default will reset sql_big_selects to 0. If sql_big_selects is set again, max_join_size will be ignored. This limit is also ignored if the query result is sitting in the query cache. Previously named sql_max_join_size, which is still a synonym.
- Commandline:
--max-join-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
18446744073709551615
(>= MariaDB/MySQL 5.5.0),4294967295
(< MariaDB/MySQL 5.5.0) - Range:
1
to18446744073709551615
(>= MariaDB/MySQL 5.5.0),1
to4294967295
(< MariaDB/MySQL 5.5.0)
max_length_for_sort_data
- Description: If the extra columns used for the modified filesort algorithm would contain more bytes than this figure, the regular filesort algorithm is used instead. Setting too high can lead some sorts to result in higher disk activity and lower CPU activity.
- Commandline:
--max-length-for-sort-data=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1024
- Range:
4
to8388608
max_long_data_size
- Description: Maximum size for parameter values sent with mysql_stmt_send_long_data(). If not set, will default to the value of max_allowed_packet. Deprecated, use
max_allowed_packet
instead. - Commandline:
--max-long-data-size=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
1048576
- Range:
1024
to4294967295
- Introduced: MariaDB 5.5
- Deprecated: MariaDB 5.5
max_prepared_stmt_count
- Description: Maximum number of prepared statements on the server. Can help prevent certain forms of denial-of-service attacks. If set to
0
, no prepared statements are permitted on the server. - Commandline:
--max-prepared-stmt-count=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
16382
- Range:
0
to1048576
max_seeks_for_key
- Description: The optimizer assumes that the number specified here is the most key seeks required when searching with an index, regardless of the actual index cardinality. If this value is set lower than its default and maximum, indexes will tend to be preferred over table scans.
- Commandline:
--max-seeks-for-key=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
4294967295
- Range:
1
to4294967295
max_sort_length
- Description: Maximum size in bytes used for sorting data values - anything exceeding this is ignored.
- Commandline:
--max-sort-length=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1024
- Range:
4
to8388608
max_sp_recursion_depth
- Description: Permitted number of recursive calls for a stored procedure.
0
, the default, no recursion is permitted. Increasing this value increases the thread stack requirements, so you may need to increase thread_stack as well. This limit doesn't apply to stored functions. - Commandline:
--max-sp-recursion-depth[=#]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
- Range:
0
to255
max_statement_time
- Description: Maximum time in seconds that a query can execute before being aborted. This includes all queries, not just SELECT statements, but excludes statements in stored procedures. If set to 0, no limit is applied. See Aborting statements that take longer than a certain time to execute. Useful when combined with SET STATEMENT for limiting the execution times of individual queries.
- Commandline:
--max-statement-time[=#]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
- Range:
0
upwards - Introduced: MariaDB 10.1.1
max_tmp_tables
- Description: Unused.
max_user_connections
- Description: Maximum simultaneous connections permitted for a user account. If set to
0
, the default, there is no per-user limit. The session value is read-only and takes the global value unless there's a nonzero MAX_USER_CONNECTIONS value for the user. Previously having a minimum value of0
, from MariaDB 5.3, max_user_connections can be set to -1 to stop users from connecting to the server. The global max_user_connections variable does not affect users with the SUPER privilege. - Commandline:
--max-user-connections=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
- Range:
-1
to4294967295
max_write_lock_count
- Description: Read lock requests will be permitted for processing after this many write locks.
- Commandline:
--max-write-lock-count=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
4294967295
- Range:
0-4294967295
metadata_locks_cache_size
- Description: Size of the metadata locks cache, used for reducing the need to create and destroy synchronization objects. It is particularly helpful on systems where this process is inefficient, such as Windows XP.
- Commandline:
--metadata-locks-cache-size=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
1024
- Range:
1
to1048576
- Introduced: MariaDB 5.5
metadata_locks_hash_instances
- Description: Number of hashes used by the set of metadata locks. The metadata locks are partitioned into separate hashes in order to reduce contention.
- Commandline:
--metadata-locks-hash-instances=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
8
- Range:
1
to1024
- Introduced: MariaDB 10.0
min_examined_row_limit
- Description: If a query examines more than this number of rows, it is logged to the slow-query-log. If set to
0
, the default, no row limit is used. - Commandline:
--min-examined-row-limit=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
- Range:
0-4294967295
mrr_buffer_size
- Description: Size of buffer to use when using multi-range read with range access. See Multi Range Read optimization for more information.
- Commandline:
--mrr-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
262144
- Range
8192
to2147483648
- Introduced: MariaDB 5.3
multi_range_count
- Description: Deprecated in 5.1 and ignored from MariaDB 5.3. Use mrr_buffer_size instead.
- Default Value:
256
- Removed:
MariaDB 5.5
mysql56_temporal_format
- Description: If set, MariaDB uses the MySQL-5.6 low level formats for TIME, DATETIME and TIMESTAMP instead of the MariaDB 5.3+ version.
- Commandline:
--mysql56-temporal-format
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
ON
- Introduced: MariaDB 10.1.2
named_pipe
- Description: On Windows systems, determines whether connections over named pipes are permitted.
- Commandline:
--enable-named-pipe
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
OFF
net_buffer_length
- Description: The starting size, in bytes, for the connection and thread buffers for each client thread. The size can grow to max_allowed_packet. This variable's session value is read-only. Can be set to the expected length of client statements if memory is a limitation.
- Commandline:
--net-buffer-length=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
16384
- Range:
1024
to1048576
net_read_timeout
- Description: Time in seconds the server will wait for a client connection to send more data before aborting the read. See also net_write_timeout and slave_net_timeout
- Commandline:
--net-read-timeout=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
30
- Range:
1
upwards
net_retry_count
- Description: Permit this many retries before aborting when attempting to read or write on a communication port. On FreeBSD systems should be set higher as threads are sent internal interrupts..
- Commandline:
--net-retry-count=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
10
- Range:
1
to4294967295
net_write_timeout
- Description: Time in seconds to wait on writing a block to a connection before aborting the write. See also net_read_timeout and slave_net_timeout.
- Commandline:
--net-write-timeout=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
60
- Range:
1
upwards
old
- Description: Disabled by default, enabling it reverts index hints to those used before MySQL 5.1.17. Enabling may lead to replication errors. Being replaced by old_mode. Before MariaDB 5.5, the variable was read-only and global in scope only.
- Commandline:
--old
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
old_alter_table
- Description: If set to
1
(0
is default), MariaDB reverts to the non-optimized, pre-MySQL 5.0, method of processing ALTER TABLE statements. - Commandline:
--old-alter-table
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
old_mode
- Description: Used for getting MariaDB to emulate behavior from an old version of MySQL or MariaDB. See OLD Mode. Will be used to replace the old variable over time.
- Commandline:
--old-mode
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
(empty string)
- Introduced: MariaDB 5.5.35
- Valid Values: See OLD Mode for the full list.
old_passwords
- Description: If set to
1
(0
is default), MariaDB reverts to the pre-MySQL 4.1 form of password hashing. - Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
open_files_limit
- Description: The number of file descriptors available to mysqld. Increase if you are getting the
Too many open files
error. If set to 0, then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of files. Note that MariaDB cannot set this to exceed the hard limit imposed by the operating system, and you may need to change this. For example, by adding the following lines to/etc/security/limits.conf
mysql soft nofile 65535 mysql hard nofile 65535
rebooting, and then create /etc/systemd/system/mysqld.service.d/filelimit.conf
or /etc/systemd/system/mariadb.service.d/filelimit.conf
(corresponding to the service name).
[service] LimitNOFILE=infinity
- Commandline:
--open-files-limit=count
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value: Autosized (see description)
- Range:
0
to4294967295
optimizer_prune_level
- Description: If set to
1
, the default, the optimizer will use heuristics to prune less-promising partial plans from the optimizer search space. If set to1
, heuristics are disabled and an exhaustive search is performed. - Commandline:
--optimizer-prune-level[=#]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
optimizer_search_depth
- Description: Maximum search depth by the query optimizer. Smaller values lead to less time spent on execution plans, but potentially less optimal results. If set to
0
, MariaDB will automatically choose a reasonable value. Since the better results from more optimal planning usually offset the longer time spent on planning, this is set as high as possible by default. - Commandline:
--optimizer-search-depth[=#]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
62
- Range:
0
to62
optimizer_selectivity_sampling_limit
- Description: Controls number of record samples to check condition selectivity
- Commandline:
optimizer-selectivity-sampling-limit[=#]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
100
- Range:
10
upwards - Introduced: MariaDB 10.0
optimizer_switch
- Description: A series of flags for controlling the query optimizer.
- Commandline:
--optimizer-switch=value
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Valid Values:
derived_merge={on|off}
(>=MariaDB 5.3) - see Derived table merge optimizationderived_with_keys={on|off}
(>=MariaDB 5.3) - see Derived table with key optimizationengine_condition_pushdown={on|off}
(>=MariaDB 5.5, <=MariaDB 10.1.1)exists_to_in={on|off}
(>=MariaDB 10.0) - see EXISTS-to-IN optimizationextended_keys={on|off}
(>= MariaDB 5.5) - see Extended Keysfirstmatch={on|off}
(>=MariaDB 5.3) - see First Match Strategyindex_condition_pushdown={on|off}
(>=MariaDB 5.3) - see Index Condition Pushdownindex_merge={on|off}
index_merge_intersection={on|off}
index_merge_sort_intersection={on|off}
(>=MariaDB 5.3) - more detailsindex_merge_sort_union={on|off}
index_merge_union={on|off}
in_to_exists={on|off}
(>=MariaDB 5.3) - see IN-TO-EXISTS transformationjoin_cache_bka={on|off}
(>=MariaDB 5.3) - see Block-Based Join Algorithmsjoin_cache_hashed={on|off}
(>=MariaDB 5.3) - see Block-Based Join Algorithmsjoin_cache_incremental={on|off}
(>=MariaDB 5.3) - see Block-Based Join Algorithmsloosescan={on|off}
(>=MariaDB 5.3) - see LooseScan strategymaterialization={on|off}
(>=MariaDB 5.3) - Semi-join and non semi-join materialization.mrr={on|off}
(>=MariaDB 5.3) - see Multi Range Read optimizationmrr_cost_based={on|off}
(>=MariaDB 5.3) - see Multi Range Read optimizationmrr_sort_keys={on|off}
(>=MariaDB 5.3) - see Multi Range Read optimizationoptimize_join_buffer_size={on|off}
(>=MariaDB 5.3) - see Block-Based Join Algorithmsouter_join_with_cache={on|off}
(>=MariaDB 5.3) - see Block-Based Join Algorithmspartial_match_rowid_merge={on|off}
(>= MariaDB 5.3) - see Non-semi-join subquery optimizationspartial_match_table_scan={on|off}
(>= MariaDB 5.3) - see Non-semi-join subquery optimizationssemijoin={on|off}
(>=MariaDB 5.3) - see Semi-join subquery optimizationssemijoin_with_cache={on|off}
(>=MariaDB 5.3) - see Block-Based Join Algorithmssubquery_cache={on|off}
(>=MariaDB 5.5) - see subquery cache.table_elimination={on|off}
(>=MariaDB 5.3) - see Table Elimination User Interface
optimizer_use_condition_selectivity
- Description: Controls which statistics can be used by the optimizer when looking for
the best query execution plan.
1
Use selectivity of predicates as in MariaDB 5.5.2
Use selectivity of all range predicates supported by indexes.3
Use selectivity of all range predicates estimated without histogram.4
Use selectivity of all range predicates estimated with histogram.5
Additionally use selectivity of certain non-range predicates calculated on record sample.
- Commandline:
--optimizer-use-condition-selectivity=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1
- Range:
1
to5
- Introduced: MariaDB 10.0
oqgraph_allow_create_integer_latch
- Description: Created when the OQGRAPH storage engine is installed, if set to
1
(0
is default), permits thelatch
field to be an integer (see OQGRAPH Overview). - Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
- Introduced: MariaDB 10.0.7
pam_use_cleartext_plugin
- Description: Use mysql_cleartext_plugin on the client side instead of the dialog plugin. This may be needed for compatibility reasons, but it only supports simple PAM policies that don't require anything besides a password. See PAM Authentication Plugin.
- Commandline:
<<code>>
--pam-use-cleartext-plugin</code>> - Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
OFF
- Introduced: MariaDB 10.1.3 (default)
pid_file
- Description: Full path of the process ID file.
- Commandline:
--pid-file=file_name
- Scope: Global
- Dynamic: No
- Data Type:
file name
plugin_dir
- Description: Path to the plugin directory. For security reasons, either make sure this directory can only be read by the server, or set secure_file_priv.
- Commandline:
--plugin-dir=path
- Scope: Global
- Dynamic: No
- Data Type:
directory name
- Default Value:
BASEDIR/lib/plugin
- Introduced: MariaDB 5.5
plugin_maturity
- Description: The lowest acceptable plugin maturity. MariaDB will not load plugins less mature than that.
- Commandline:
--plugin-maturity=level
- Scope: Global
- Dynamic: No
- Type: enum
- Default Value:
unknown
- Valid Values:
unknown
,experimental
,alpha
,beta
,gamma
,stable
- Introduced: MariaDB 5.2.1
port
- Description: Port to listen for TCP/IP connections. If set to
0
, will default to, in order of preference, my.cnf, the MYSQL_TCP_PORT environment variable, /etc/services, built-in default (3306). - Commandline:
--port=#
,-P
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
3306
- Range:
0
to65535
preload_buffer_size
- Description: Size in bytes of the buffer allocated when indexes are preloaded.
- Commandline:
--preload-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
32768
- Range:
1024
to1073741824
profiling
- Description: If set to
1
(0
is default), statement profiling will be enabled. See SHOW PROFILES() and SHOW PROFILE(). - Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
profiling_history_size
- Description: Number of statements about which profiling information is maintained. If set to
0
, no profiles are stored. See SHOW PROFILES. - Commandline:
--profiling-history-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
15
- Range:
0
to100
progress_report_time
- Description: Time in seconds between sending progress reports to the client for time-consuming statements. If set to
0
, progress reporting will be disabled. - Commandline:
--progress-report-time=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
56
before MariaDB 5.5.39 and MariaDB 10.0.10,5
as of MariaDB 5.5.40 and MariaDB 10.0.11 - Range:
0
to4294967295
- Introduced: MariaDB 5.3
protocol_version
- Description: Client/server protocol version number.
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Range:
to
proxy_user
- Description: Set to the proxy user account name if the current client is a proxy, else
NULL
. - Scope: Session
- Dynamic: No
- Data Type:
string
- Introduced: MariaDB 5.5.20
pseudo_slave_mode
- Description: For internal use by the server.
- Scope: Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
OFF
- Introduced: MariaDB/MySQL 5.5.30
pseudo_thread_id
- Description: For internal use only.
- Scope: Session
- Dynamic: Yes
- Data Type:
numeric
query_alloc_block_size
- Description: Size in bytes of the extra blocks allocated during query parsing and execution (after query_prealloc_size is used up).
- Commandline:
--query-alloc-block-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
16384
(from MariaDB 10.1.2),8192
(before MariaDB 10.1.2) - Range:
1024
to4294967295
query_cache_limit
- Description: Size in bytes for which results larger than this are not stored in the query cache.
- Commandline:
--query-cache-limit=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1048576
(1MB) - Range:
0
to4294967295
query_cache_min_res_unit
- Description: Minimum size in bytes of the blocks allocated for query cache results.
- Commandline:
--query-cache-min-res-unit=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
4096
(4KB) - Range:
0
to4294967295
query_cache_size
- Description: Size in bytes available to the query cache. About 40KB is needed for query cache structures, so setting a size lower than this will result in a warning.
0
, the default before MariaDB 10.1.7, effectively disables the query cache. - Commandline:
--query-cache-size=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1M
(>= MariaDB 10.1.7),0
(<= MariaDB 10.1.6) (although frequently given a default value in some setups) - Valid Values:
0
upwards in units of 1024.
query_cache_strip_comments
- Description: If set to
1
(0
is default), the server will strip any comments from the query before searching to see if it exists in the query cache. Multiple space, line feeds, tab and other white space characters will also be removed. - Commandline:
query-cache-strip-comments
- Scope: Session (from MariaDB 5.5.20), Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
query_cache_type
- Description: If set to
0
, the query cache is disabled (although a buffer of query_cache_size bytes is still allocated). If set to1
all SELECT queries will be cached unless SQL_NO_CACHE is specified. If set to2
(orDEMAND), only queries with the SQL CACHE clause will be cached. Note that if the server is started with the query cache disabled, it cannot be enabled at runtime.
- Commandline:
--query-cache-type=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enumeration
- Default Value:
OFF
(>= MariaDB 10.1.7),ON
(<= MariaDB 10.1.6) - Valid Values:
0
orOFF
,1
orON
,2
orDEMAND
query_cache_wlock_invalidate
- Description: If set to
0
, the default, results present in the query cache will be returned even if there's a write lock on the table. If set to1
, the client will first have to wait for the lock to be released. - Commandline:
--query-cache-wlock-invalidate
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
query_prealloc_size
- Description: Size in bytes of the persistent buffer for query parsing and execution, allocated on connect and freed on disconnect. Increasing may be useful if complex queries are being run, as this will reduce the need for more memory allocations during query operation. See also query_alloc_block_size.
- Commandline:
--query-prealloc-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
24576
(from MariaDB 10.1.2)8192
(before MariaDB 10.1.2) - Range:
1024
to4294967295
(from MariaDB 10.1.2),8192
to4294967295
(before MariaDB 10.1.2)
rand_seed1
- Description: rand_seed1 and rand_seed2 facilitate replication of the RAND() function. The master passes the value of these to the slaves so that the random number generator is seeded in the same way, and generates the same value, on the slave as on the master. The variable value cannot be viewed.
rand_seed2
- Description: See rand_seed1.
range_alloc_block_size
- Description: Size in bytes of blocks allocated during range optimization. The unit size in 1024.
- Commandline:
--range-alloc-block-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
4096
- Range - 32 bit:
4096
to4294967295
read_buffer_size
- Description: Each thread performing a sequential scan (for MyISAM, Aria and MERGE tables) allocates a buffer of this size in bytes for each table scanned. Increase if you perform many sequential scans. If not in a multiple of 4KB, will be rounded down to the nearest multiple. Also used in ORDER BY's for caching indexes in a temporary file (not temporary table), for caching results of nested queries, for bulk inserts into partitions, and to determine the memory block size of MEMORY tables.
- Commandline:
--read-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
131072
- Range:
8200 to 2147479552
read_only
- Description: When set to
1
(0
is default), no updates are permitted except from users with the SUPER privilege or slave servers updating from a master. Theread_only
variable is useful for slave servers to ensure no updates are accidentally made outside of what are performed on the master. Inserting rows to log tables, updates to temporary tables and OPTIMIZE or ANALYZE TABLE statements are excluded from this limitation. From MariaDB/MySQL 5.5, if read_only is set to1
, SET PASSWORD is limited only to users with the SUPER privilege. Changing this to1
will fail if you have table locks or transactions pending, while it will wait until other locks are released or transactions are completed. - Commandline:
--read-only
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
read_rnd_buffer_size
- Description: Size in bytes of the buffer used when reading rows from a MyISAM table in sorted order after a key sort. Larger values improve ORDER BY performance, although rather increase the size by SESSION where the need arises to avoid excessive memory use.
- Commandline:
--read-rnd-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
262144
- Range:
8200
to2147483647
-
-
rowid_merge_buff_size
- Description: The maximum size in bytes of the memory available to the Rowid-merge strategy. See Non-semi-join subquery optimizations for more information.
- Commandline:
--rowid-merge-buff-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
8388608
- Range:
0
to2147483647
- Introduced: MariaDB 5.3.0
rpl_recovery_rank
- Description: Unused.
- Removed:
MariaDB 10.1.2
safe_show_database
- Description: This variable was removed in MariaDB/MySQL 5.5.3, and has been replaced by the more flexible SHOW DATABASES privilege.
- Commandline:
--safe-show-database
(until MySQL 4.1.1) - Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Removed:
MariaDB/MySQL 5.5.3
secure_auth
- Description: Connections will be blocked unless clients use the current password format. Prior to MySQL 4.1 passwords used an old, less secure format.. For the mysql client, the
--secure-auth
option blocks connections to servers requiring the old format. The server will also fail to start if the privilege tables are in the old, pre-MySQL 4.1 format. - Commandline:
--secure-auth
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
ON
(>= MariaDB 10.1.7),OFF
(<= MariaDB 10.1.6)
secure_file_priv
- Description: LOAD DATA, SELECT ... INTO and LOAD FILE() will only work with files in the specified path. If not set, the default, the statements will work with any files that can be accessed.
- Commandline:
--secure-file-priv=path
- Scope: Global
- Dynamic: No
- Data Type:
path name
- Default Value: None
shared_memory
- Description: Windows only, determines whether the server permits shared memory connections. See also shared_memory_base_name.
- Scope: Global
- Dynamic: No
shared_memory_base_name
- Description: Windows only, specifies the name of the shared memory to use for shared memory connection. Mainly used when running more than one instance on the same physical machine. By default the name is
MYSQL
and is case sensitive. See also shared_memory. - Scope: Global
- Dynamic: No
- Data Type:
string
- Default Value:
MYSQL
skip_external_locking
- Description: If set, external locking for MyISAM tables is disabled.
- Commandline:
--skip-external-locking
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
1
skip_name_resolve
- Description: If set to 1 (0 is the default), only IP addresses are used for connections. Host names are not resolved. All host values in the GRANT tables must be IP addresses (or localhost).
- Commandline:
--skip-name-resolve
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
0
skip_networking
- Description: If set to 1, (0 is the default), the server does not listen for TCP/IP connections. All interaction with the server by be through socket files (Unix) or named pipes or shared memory (Windows). It's recommended to use this option if only local clients are permitted to connect to the server. Enabling this option also prevents a server from functioning as a replication client.
- Commandline:
--skip-networking
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
0
skip_show_database
- Description: If set to 1, (0 is the default), only users with the SHOW DATABASES privilege can use the SHOW DATABASES statement to see all database names.
- Commandline:
--skip-show-database
- Scope: Global
- Dynamic: No
- Data Type:
boolean
- Default Value:
0
slow_launch_time
- Description: Time in seconds. If a thread takes longer than this to launch, the
slow_launch_threads
server status variable is incremented. - Commandline:
--slow-launch-time=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
2
slow_query_log
- Description: If set to 0, the default unless the --slow-query-log option is used, the slow query log is disabled, while if set to 1 (both global and session variables), the slow query log is enabled. MariaDB 10.1 added support for session variables.
- Commandline:
--slow-query-log
- Scope: Global, Session (MariaDB 10.1)
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
- See also: See log_output to see how log files are written. If that variable is set to
NONE
, no logs will be written even if slow_query_log is set to1
.
slow_query_log_file
- Description: Name of the slow query log file.
- Commandline:
--slow-query-log-file=file_name
- Scope: Global
- Dynamic: Yes
- Data Type:
file name
- Default Value:
host_name-slow.log
socket
- Description: On Unix-like systems, this is the name of the socket file used for local client connections, by default
/tmp/mysql.sock
, often changed by the distribution, for example/var/lib/mysql/mysql.sock
. On Windows, this is the name of the named pipe used for local client connections, by defaultMySQL
. On Windows, this is not case-sensitive. - Commandline:
--socket=name
- Scope: Global
- Dynamic: No
- Data Type:
file name
- Default Value:
/tmp/mysql.sock
(Unix),MySQL
(Windows)
sort_buffer_size
- Description: Each session performing a sort allocates a buffer with this amount of memory. Not specific to any storage engine. If the status variable sort_merge_passes is too high, you may need to look at improving your query indexes, or increasing this. Consider reducing where there are many small sorts, such as OLTP, and increasing where needed by session. 16k is a suggested minimum.
- Commandline:
--sort-buffer-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
number
- Default Value:
2M (2097152)
(some distributions increase the default)
sql_auto_is_null
- Description: If set to 1, the query
SELECT * FROM table_name WHERE auto_increment_column IS NULL
will return an auto-increment that has just been successfully inserted, the same as the LAST_INSERT_ID() function. Some ODBC programs make use of this IS NULL comparison. - Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0 (>= MariaDB/MySQL 5.5.3), 1 (MariaDB/MySQL <= 5.5.2)
sql_big_selects
- Description: If set to 0, MariaDB will not perform large SELECTs. See max_join_size for details. If max_join_size is set to anything but DEFAULT, sql_big_selects is automatically set to 0. If sql_big_selects is again set, max_join_size will be ignored.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
sql_big_tables
- Description: A synonym for big_tables.
sql_buffer_result
- Description: If set to 1 (0 is default), results from SELECT statements are always placed into temporary tables. This can help the server when it takes a long time to send the results to the client by allowing the table locks to be freed early.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
sql_log_off
- Description: If set to 1 (0 is the default), no logging to the general query log is done for the client. Only clients with the SUPER privilege can update this variable.
- Scope: Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
0
sql_log_update
- Description: Removed. Use sql_log_bin instead.
- Removed: MariaDB/MySQL 5.5
sql_low_priority_updates
- Description: Synonym for low_priority_updates, the preferred name.
sql_max_join_size
- Description: Synonym for max_join_size, the preferred name.
sql_mode
- Description: Sets the SQL Mode. Multiple modes can be set, separated by a comma.
- Commandline:
--sql-mode=value[,value[,value...]]
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
(>= MariaDB 10.1.7),(empty string)
(<= MariaDB 10.1.6) - Valid Values: See SQL Mode for the full list.
sql_notes
- Description: If set to 1, the default, warning_count is incremented each time a Note warning is encountered. If set to 0, Note warnings are not recorded. mysqldump has outputs to set this variable to 0 so that no unnecessary increments occur when data is reloaded.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
sql_quote_show_create
- Description: If set to 1, the default, the server will quote identifiers for SHOW CREATE DATABASE, SHOW CREATE TABLE and SHOW CREATE VIEW statements. Quoting is disabled if set to 0. Enable to ensure replications works when identifiers require quoting.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
1
sql_safe_updates
- Description: If set to 1, UPDATE's and DELETE's need either a key in the WHERE clause, or a LIMIT clause, or else they will aborted. Prevents the common mistake of accidentally deleting or updating every row in a table.
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF (0)
sql_select_limit
- Description: Maximum number of rows that can be returned from a SELECT query. Default is the maximum number of rows permitted per table by the server, usually 232-1 or 264-1. Can be restored to the default value after being changed by assigning it a value of DEFAULT.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
sql_warnings
- Description: If set to 1, single-row INSERT's will produce a string containing warning information if a warning occurs.
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF (0)
storage_engine
- Description: See default_storage_engine.
- Deprecated: MariaDB/MySQL 5.5.3
stored_program_cache
- Description: Limit to the number of stored routines held in the stored procedures and stored functions caches. Each time a stored routine is executed, this limit is first checked, and if the number held in the cache exceeds this, that cache is flushed and memory freed.
- Commandline:
--stored-program-cache=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
256
- Range:
256
to524288
- Introduced: MariaDB/MySQL 5.5.21
strict_password_validation
- Description: When password validation plugins are enabled, reject passwords that cannot be validated (passwords specified as a hash). This excludes direct updates to the privilege tables.
- Commandline:
--strict-password-validation
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
ON
- Introduced: MariaDB 10.1.2
sync_frm
- Description: If set to 1, the default, each time a non-temporary table is created, its .frm definition file is synced to disk. Fractionally slower, but safer in case of a crash.
- Commandline:
--sync-frm
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
TRUE
system_time_zone
- Description: Server system time zone, inherited from the machine setting when the server starts. Usually specified by the TZ environment variable, can also be specified by the
--timezone
option of the mysqld_safe script, or affected by the environment of the account starting the server. Not the same as the time_zone system variable, which is used for client time zones. - Scope: Global
- Dynamic: No
- Data Type:
string
table_definition_cache
- Description: Number of table definitions that can be cached. Table definitions are taken from the .frm files, and if there are a large number of tables increasing the cache size can speed up table opening. Unlike the table_open_cache, as the table_definition_cache doesn't use file descriptors, and is much smaller.
- Commandline:
--table-definition-cache=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
400
- Range:
400
to524288
table_lock_wait_timeout
- Description: Unused, and removed in MariaDB/MySQL 5.5.3
- Commandline:
--table-lock-wait-timeout=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
50
- Range:
1
to1073741824
- Removed:
MariaDB/MySQL 5.5.3
table_open_cache
- Description: Number of open tables for all threads. See Optimizing table_open_cache for suggestions on optimizing. Increasing table_open_cache increases the number of file descriptors required. Previously called
table_cache
prior to MySQL 5.1.3 - Commandline:
--table-open-cache=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
2000
(>= MariaDB 10.1.7),400
(<= MariaDB 10.1.6)
table_open_cache_instances
- Description: MySQL 5.6 compatible option. Unused in MariaDB 10.0, which achieves similar results in a different way (See MDEV-4702). In MySQL, this specifies the number of open tables cache instances. Removed in MariaDB 10.0.7
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
1
- Introduced: MariaDB 10.0
- Removed: MariaDB 10.0.7
table_type
- Description: Removed and replaced by storage_engine in MariaDB/MySQL 5.5.3. Use default_storage_engine instead.
thread_cache_size
- Description: Number of threads server caches for re-use. If this limit hasn't been reached, when a client disconnects, its threads are put into the cache, and re-used where possible. Normally this setting has little effect, as the other aspects of the thread implementation are more important, but increasing it can help servers with high volumes of connections per second so that most can use a cached, rather than a new, thread. The cache miss rate can be calculated as the server status variables threads_created/connections. If the thread pool is active,
thread_cache_size
is ignored. - Commandline:
--thread-cache-size=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
0
thread_concurrency
- Description: Allows applications to give the system a hint about the desired number of threads. Specific to Solaris only, invokes thr_setconcurrency().
- Commandline:
--thread-concurrency=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
10
- Range:
1
to512
thread_handling
- Description: Determines how the server handles threads. The default,
one-thread-per-connection
, sees the server use one thread to handle each client connection,pool-of-threads
uses thread_pool_size threads to execute all queries, whileno-threads
sees the server use a single thread for all connections (only usable for debugging). If the thread pool plugin is enabled, it will set this value todynamically-loaded
and handle threads in its own way. - Commandline:
--thread-handling=name
- Scope: Global
- Dynamic: No
- Data Type:
enumeration
- Default Value:
one-thread-per-connection
- Valid Values:
no-threads
,one-thread-per-connection
,pool-of-threads# or
dynamically-loaded(MySQL 5.5.16 only with the thread plugin loaded).
- Documentation: Using the thread pool.
- Notes: In MySQL the thread pool is only available in MySQL enterprise 5.5.16 and above. In MariaDB it's available in all versions!
thread_pool_idle_timeout
- Description: Time in seconds until an idle worker thread exits. Unix-only. Use thread_pool_min_threads in Windows.
- Commandline:
thread-pool-idle-timeout=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
60
- Introduced: MariaDB 5.5
- Documentation: Using the thread pool.
thread_pool_max_threads
- Description: Maximum number of threads in the thread pool. Once this limit is reached, no new threads will be created.
- Commandline:
thread-pool-max-threads=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
1000
(>= MariaDB 10.1)500
(<= MariaDB 10.0) - Range:
1
to65536
- Introduced: MariaDB 5.5
- Documentation: Using the thread pool.
thread_pool_min_threads
- Description: Minimum number of threads in the thread pool. In bursty environments, after a period of inactivity, threads would normally be retired. When the next burst arrives, it would take time to reach the optimal level. Setting this value higher than the default would prevent thread retirement even if inactive. Windows-only. Use thread_pool_idle_timeout in Unix.
- Commandline:
thread-pool-min-threads=#
- Data Type:
numeric
- Default Value:
1
- Introduced: MariaDB 5.5
- Documentation: Using the thread pool.
thread_pool_oversubscribe
- Description: Internal parameter, not meant to be changed. The higher the value for this parameter, the more threads that could run at the same time. A lower value can lead to more sleeps and wakeups.
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
3
- Range:
1
to65536
- Introduced: MariaDB 5.5
- Documentation: Using the thread pool.
thread_pool_size
- Description: Number of threads in a thread pool, which determines how many statements can execute simultaneously. Unix only. See Threadpool in MariaDB 5.5.
- Commandline:
--thread-pool-size=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value: Based on the number of processors (but see MDEV-7806).
- Range:
1
to64
- Introduced: MariaDB 5.5
- Documentation: Using the thread pool.
thread_pool_stall_limit
- Description: Time in milliseconds statement has to complete after starting before being defined as stalled. After this, the thread group can begin another statement. Higher values can help avoid starting too many new statements while old, long-running ones are still executing, while lower values can help prevent deadlock. See Threadpool in MariaDB 5.5. Note that if porting from the commercial MySQL plugin, the unit used in their implementation is 10ms, not 1ms.
- Commandline:
--thread-pool-stall-limit=#
- Scope: Global
- Dynamic: Yes
- Data Type:
numeric
- Default Value:
500
- Range:
4
to600
- Introduced: MariaDB 5.5
- Documentation: Using the thread pool.
thread_stack
- Description: Stack size for each thread. If set too small, limits recursion depth of stored procedures and complexity of SQL statements the server can handle in memory. Also affects limits in the crash-me test.
- Commandline:
--thread-stack=#
- Scope: Global
- Dynamic: No
- Data Type:
numeric
- Default Value:
294912
time_format
- Description: Unused.
time_zone
- Description: The current time zone, used to initialize the time zone for a client when it connects. Set to
SYSTEM
by default, in which the client uses the system time zone value. - Commandline:
--default-time-zone=string
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
string
- Default Value:
SYSTEM
timed_mutexes
- Description: Determines whether InnoDB mutexes are timed.
OFF
, the default, disables mutex timing, whileON
enables it. See also SHOW ENGINE for more on mutex statistics. Deprecated in MariaDB 5.5.39, as has no effect anymore. - Commandline:
--timed-mutexes
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
- Deprecated: MariaDB 5.5.39
timestamp
- Description: Sets the time for the client. This will affect the result returned by the NOW() function, not the SYSDATE() function, unless the server is started with the --sysdate-is-now option, in which case SYSDATE becomes an alias of NOW, and will also be affected. Also used to get the original timestamp when restoring rows from the binary log.
- Scope: Session
- Dynamic: Yes
- Valid Values:
timestamp_value
(Unix epoch timestamp, not MariaDB timestamp),DEFAULT
tmp_table_size
- Description: The largest size for temporary tables in memory (not MEMORY tables) although if max_heap_table_size is smaller the lower limit will apply. If a table exceeds the limit, MariaDB converts it to a MyISAM or Aria table. You can see if it's necessary to increase by comparing the status variables
Created_tmp_disk_tables
andCreated_tmp_tables
to see how many temporary tables out of the total created needed to be converted to disk. Often complex GROUP BY queries are responsible for exceeding the limit. - Commandline:
--tmp-table-size=#
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
numeric
- Default Value: system-dependent
- Range:
1024
to4294967295
tmpdir
- Description: Directory for storing temporary tables and files. Can specify a list (separated by semicolons in Windows, and colons in Unix that will then be used in round-robin fashion. This can be used for load balancing across several disks. Note that if the server is a replication slave, and slave_load_tmpdir, which overrides tmpdir for slave replication, is not set, you should not set tmpdir to a directory that is cleared when the machine restarts, or else replication may fail.
- Commandline:
--tmpdir=path
or-t path
- Scope: Global
- Dynamic: No
- Type: directory name/s
transaction_alloc_block_size
- Description: Size in bytes to increase the memory pool available to each transaction when the available pool is not large enough. See transaction_prealloc_size.
- Commandline:
--transaction-alloc-block-size=#
- Scope: Global, Session
- Dynamic: Yes
- Type: numeric
- Default Value:
8192
- Range:
1024
to4294967295
- Block Size:
1024
transaction_prealloc_size
- Description: Initial size of a memory pool available to each transaction for various memory allocations. If the memory pool is not large enough for an allocation, it is increased by transaction_alloc_block_size bytes, and truncated back to transaction_prealloc_size bytes when the transaction is completed. If set large enough to contain all statements in a transaction, extra malloc() calls are avoided.
- Commandline:
--transaction-prealloc-size=#
- Scope: Global, Session
- Dynamic: Yes
- Type: numeric
- Default Value:
4096
- Range:
1024
to4294967295
- Block Size:
1024
tx_isolation
- Description: The transaction isolation level. See also SET TRANSACTION ISOLATION LEVEL.
- Commandline:
--transaction-isolation=name
- Scope: Global, Session
- Dynamic: Yes
- Type: enumeration
- Default Value:
REPEATABLE-READ
- Valid Values:
READ-UNCOMMITTED
,READ-COMMITTED
,REPEATABLE-READ
,SERIALIZABLE
tx_read_only
- Description: Default transaction access mode. If set to
OFF
, the default, access is read/write. If set toON
, access is read-only. TheSET TRANSACTION
statement can also change the value of this variable. See SET TRANSACTION and START TRANSACTION. - Commandline:
--transaction-read-only=#
- Scope: Global, Session
- Dynamic: Yes
- Type: boolean
- Default Value:
OFF-READ
- Introduced: MariaDB 10.0
unique_checks
- Description: If set to 1, the default, secondary indexes in InnoDB tables are performed. If set to 0, storage engines can (but are not required to) assume that duplicate keys are not present in input data. Set to 0 to speed up imports of large tables to InnoDB. The storage engine will still issue a duplicate key error if it detects one, even if set to 0.
- Scope: Global, Session
- Dynamic: Yes
- Type: boolean
- Default Value:
1
updatable_views_with_limit
- Description: Determines whether view updates can be made with an UPDATE or DELETE statement with a LIMIT clause if the view does not contain all primary or not null unique key columns from the underlying table.
0
prohibits this, while1
permits it while issuing a warning (the default). - Commandline:
--updatable-views-with-limit=#
- Scope: Global, Session
- Dynamic: Yes
- Type: boolean
- Default Value:
1
use_stat_tables
- Description: Controls the use of engine-independent table statistics.
never
The optimizer will not use data from statistics tables.complementary
The optimizer uses data from statistics tables if the same kind of data is not provided by the storage engine.preferably
Prefer the data from statistics tables, if it's not available there, use the data from the storage engine.
- Commandline:
--use-stat-tables=mode
- Scope: Global, Session
- Dynamic: Yes
- Data Type:
enum
- Default Value:
never
- Introduced: MariaDB 10.0.1
userstat
- Description: If set to
1
, user statistics will be activated. - Commandline:
--userstat=1
- Scope: Global
- Dynamic: Yes
- Data Type:
boolean
- Default Value:
OFF
- Introduced: MariaDB 5.2.0
version
- Description: Server version number. It may also include a suffix with configuration or build information.
-debug
indicates debugging support was enabled on the server, and-log
indicates at least one of the binary log, general log or slow query log are enabled, for example10.0.1-MariaDB-mariadb1precise-log
- Commandline:
-V
,--version
- Scope: Global
- Dynamic: No
- Type: string
version_comment
- Description: Value of the COMPILATION_COMMENT option specified by CMake when building MariaDB, for example
mariadb.org binary distribution
- Scope: Global
- Dynamic: No
- Type: string
version_compile_machine
- Description: The machine type or architecture MariaDB was built on, for example
i686
- Scope: Global
- Dynamic: No
- Type: string
version_compile_os
- Description: Operating system that MariaDB was built on, for example
debian-linux-gnu
- Scope: Global
- Dynamic: No
- Type: string
version_malloc_library
- Commandline: No
- Description: Version of the used malloc library
- Scope: Global
- Dynamic: No
- Type: string
- Introduced: MariaDB 10.0.8
wait_timeout
- Description: Time in seconds that the server waits for a connection to become active before closing it. The session value is initialized when a thread starts up from either the global value, if the connection is non-interactive, or from the interactive_timeout value, if the connection is interactive.
- Commandline:
--wait-timeout=#
- Scope: Global, Session
- Dynamic: Yes
- Type: numeric
- Default Value:
28800
- Range:
1 to 2147483
warning_count
- Description: Read-only variable indicating the number of warnings, errors and notes resulting from the most recent statement that generated messages. See SHOW WARNINGS for more. Note warnings will only be recorded if sql_notes is true (the default).
- Scope: Session
- Dynamic: No
- Type: numeric