MySQL服务器配置选项(mysqld)
mysqld是MySQL服务器。以下讨论涵盖了这些MySQL服务器配置主题:
- 服务器支持的启动选项。您可以在命令行上,通过配置文件或同时在这两者上指定这些选项。
- 服务器系统变量。这些变量反映了启动选项的当前状态和值,其中一些可以在服务器运行时进行修改。
- 服务器状态变量。这些变量包含有关运行时操作的计数器和统计信息。
- 如何设置服务器SQL模式。此设置修改了SQL语法和语义的某些方面,例如为了与其他数据库系统的代码兼容,或控制特定情况下的错误处理。
- 配置和使用IPv6支持。
- 配置和使用时区支持。
- 服务器端帮助功能。
- 服务器关闭过程。根据表的类型(事务性或非事务性)以及是否使用复制,需要考虑性能和可靠性。
有关在MySQL 8.0中已添加,不建议使用或删除的MySQL服务器变量和选项的列表,请参见“在MySQL 8.0中添加,不建议使用或删除的服务器和状态变量及选项”。
注意并非所有MySQL服务器二进制文件和配置都支持所有存储引擎。要了解如何确定MySQL服务器安装支持的存储引擎,请参见“ SHOW ENGINES语句”。
服务器配置默认值
MySQL服务器具有许多操作参数,您可以在服务器启动时使用命令行选项或配置文件(选项文件)进行更改。也可以在运行时更改许多参数。有关在启动或运行时设置参数的一般说明,请参见“服务器命令选项”和“服务器系统变量”。
在Windows上,MySQL Installer与用户进行交互,并my.ini在基本安装目录中创建一个名为默认选项文件的文件。
注意在Windows上,可能不会显示
.ini或.cnf选项文件扩展名。
完成安装过程后,您可以随时编辑默认选项文件,以修改服务器使用的参数。例如,要在文件#的行首使用带注释的参数设置,请删除#,并在必要时修改参数值。要禁用设置,请#在行首添加a 或将其删除。
对于非Windows平台,在服务器安装或数据目录初始化过程中不会创建默认选项文件。按照“使用选项文件”中的说明创建选项文件。如果没有选项文件,则服务器仅以其默认设置启动-有关如何检查这些设置的信息,请参见“服务器配置默认值”。
有关选项文件格式和语法的更多信息,请参见“使用选项文件”。
服务器配置验证
从MySQL 8.0.16开始,MySQL Server支持一个--validate-config选项,该选项使您无需在正常操作模式下运行服务器即可检查启动配置是否存在问题:
mysqld --validate-config
如果未找到错误,则服务器以退出代码0终止。如果发现错误,则服务器显示诊断消息,并以退出代码1终止。例如:
shell>mysqld --validate-config --no-such-option 2018-11-05T17:50:12.738919Z 0 [ERROR] [MY-000068] [Server] unknown option '--no-such-option'. 2018-11-05T17:50:12.738962Z 0 [ERROR] [MY-010119] [Server] Aborting
一旦发现任何错误,服务器就会终止。要进行其他检查,请更正最初的问题,然后--validate-config再次运行服务器。
对于前面的示例,如果--validate-config在显示错误消息时使用结果,则服务器退出代码为1。根据log_error_verbosity值,也可能会显示警告和信息消息,但不会立即产生终止验证或退出代码为1例如,此命令产生多个警告,两个警告均显示。但是没有错误发生,因此退出代码为0:
shell>mysqld --validate-config --log_error_verbosity=2 --read-only=s --transaction_read_only=s 2018-11-05T15:43:18.445863Z 0 [Warning] [MY-000076] [Server] option 'read_only': boolean value 's' was not recognized. Set to OFF. 2018-11-05T15:43:18.445882Z 0 [Warning] [MY-000076] [Server] option 'transaction-read-only': boolean value 's' was not recognized. Set to OFF.
此命令会产生相同的警告,但也会产生错误,因此错误消息将与警告一起显示,并且退出代码为1:
shell>mysqld --validate-config --log_error_verbosity=2 --no-such-option --read-only=s --transaction_read_only=s 2018-11-05T15:43:53.152886Z 0 [Warning] [MY-000076] [Server] option 'read_only': boolean value 's' was not recognized. Set to OFF. 2018-11-05T15:43:53.152913Z 0 [Warning] [MY-000076] [Server] option 'transaction-read-only': boolean value 's' was not recognized. Set to OFF. 2018-11-05T15:43:53.164889Z 0 [ERROR] [MY-000068] [Server] unknown option '--no-such-option'. 2018-11-05T15:43:53.165053Z 0 [ERROR] [MY-010119] [Server] Aborting
该--validate-config选项的范围仅限于配置检查,以使服务器可以在不进行正常启动过程的情况下执行该检查。这样,配置检查不会初始化存储引擎和其他插件,组件等,也不会验证与那些未初始化的子系统关联的选项。
--validate-config可以随时使用,但在升级后特别有用,它可以检查升级的服务器是否认为旧版本服务器先前使用的任何选项已被弃用或作废。例如,tx_read_only系统变量在MySQL 5.7中已弃用,而在8.0中已删除。假设使用my.cnf文件中的系统变量运行了MySQL 5.7服务器,然后将其升级到MySQL 8.0。运行升级的服务器--validate-config以检查配置会产生以下结果:
shell>mysqld --validate-config 2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable 'tx_read_only=ON'. 2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting
--validate-config可以与--defaults-file选项一起使用,以仅验证特定文件中的选项:
shell>mysqld --defaults-file=./my.cnf-test --validate-config 2018-11-05T10:40:02.712141Z 0 [ERROR] [MY-000067] [Server] unknown variable 'tx_read_only=ON'. 2018-11-05T10:40:02.712178Z 0 [ERROR] [MY-010119] [Server] Aborting
请记住--defaults-file,如果指定,则必须是命令行上的第一个选项。(以相反的顺序执行前面的示例会生成一条消息,该消息--defaults-file本身是未知的。)
服务器选项,系统变量和状态变量参考
下表列出了适用于的所有命令行选项,系统变量和状态变量mysqld。
该表在一个统一列表中列出了命令行选项(Cmd-line),在配置文件中有效的选项(Option file),服务器系统变量(System Var)和状态变量(Status var),并指出了每个选项的位置或变量有效。如果在命令行或选项文件中设置的服务器选项与相应系统变量的名称不同,则将在相应选项的下方立即标记变量名称。对于系统变量和状态变量,变量的范围(Var Scope)为全局,会话或两者。有关设置以及使用选项和变量的详细信息,请参见相应的项目描述。在适当的地方,提供了指向有关该项目的更多信息的直接链接。
有关该表特定于NDB Cluster的版本,请参见“ NDB Cluster mysqld选项和变量参考”。
表5.1命令行选项,系统变量和状态变量摘要
| Name | Cmd-Line | Option File | System Var | Status Var | Var Scope | Dynamic |
|---|---|---|---|---|---|---|
| bort-slave-event-count | Yes | Yes | ||||
| Aborted_clients | Yes | Global | No | |||
| Aborted_connects | Yes | Global | No | |||
| Acl_cache_items_count | Yes | Global | No | |||
| ctivate_all_roles_on_login | Yes | Yes | Yes | Global | Yes | |
| dmin_address | Yes | Yes | Yes | Global | No | |
| dmin_port | Yes | Yes | Yes | Global | No | |
| llow-suspicious-udfs | Yes | Yes | ||||
| nsi | Yes | Yes | ||||
| udit-log | Yes | Yes | ||||
| udit_log_buffer_size | Yes | Yes | Yes | Global | No | |
| udit_log_compression | Yes | Yes | Yes | Global | No | |
| udit_log_connection_policy | Yes | Yes | Yes | Global | Yes | |
| udit_log_current_session | Yes | Both | No | |||
| Audit_log_current_size | Yes | Global | No | |||
| udit_log_encryption | Yes | Yes | Yes | Global | No | |
| Audit_log_event_max_drop_size | Yes | Global | No | |||
| Audit_log_events | Yes | Global | No | |||
| Audit_log_events_filtered | Yes | Global | No | |||
| Audit_log_events_lost | Yes | Global | No | |||
| Audit_log_events_written | Yes | Global | No | |||
| udit_log_exclude_accounts | Yes | Yes | Yes | Global | Yes | |
| udit_log_file | Yes | Yes | Yes | Global | No | |
| udit_log_filter_id | Yes | Both | No | |||
| udit_log_flush | Yes | Global | Yes | |||
| udit_log_format | Yes | Yes | Yes | Global | No | |
| udit_log_include_accounts | Yes | Yes | Yes | Global | Yes | |
| udit_log_password_history_keep_days | Yes | Yes | Yes | Global | Yes | |
| udit_log_policy | Yes | Yes | Yes | Global | No | |
| udit_log_read_buffer_size | Yes | Yes | Yes | Varies | Varies | |
| udit_log_rotate_on_size | Yes | Yes | Yes | Global | Yes | |
| udit_log_statement_policy | Yes | Yes | Yes | Global | Yes | |
| udit_log_strategy | Yes | Yes | Yes | Global | No | |
| Audit_log_total_size | Yes | Global | No | |||
| Audit_log_write_waits | Yes | Global | No | |||
| uthentication_ldap_sasl_auth_method_name | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_bind_base_dn | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_bind_root_dn | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_bind_root_pwd | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_ca_path | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_group_search_attr | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_group_search_filter | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_init_pool_size | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_log_status | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_max_pool_size | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_server_host | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_server_port | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_tls | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_sasl_user_search_attr | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_auth_method_name | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_bind_base_dn | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_bind_root_dn | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_bind_root_pwd | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_ca_path | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_group_search_attr | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_group_search_filter | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_init_pool_size | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_log_status | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_max_pool_size | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_server_host | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_server_port | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_tls | Yes | Yes | Yes | Global | Yes | |
| uthentication_ldap_simple_user_search_attr | Yes | Yes | Yes | Global | Yes | |
| uthentication_windows_log_level | Yes | Yes | Yes | Global | No | |
| uthentication_windows_use_principal_name | Yes | Yes | Yes | Global | No | |
| uto_generate_certs | Yes | Yes | Yes | Global | No | |
| uto_increment_increment | Yes | Yes | Yes | Both | Yes | |
| uto_increment_offset | Yes | Yes | Yes | Both | Yes | |
| utocommit | Yes | Yes | Yes | Both | Yes | |
| utomatic_sp_privileges | Yes | Yes | Yes | Global | Yes | |
| void_temporal_upgrade | Yes | Yes | Yes | Global | Yes | |
| back_log | Yes | Yes | Yes | Global | No | |
| basedir | Yes | Yes | Yes | Global | No | |
| big_tables | Yes | Yes | Yes | Both | Yes | |
| bind_address | Yes | Yes | Yes | Global | No | |
| Binlog_cache_disk_use | Yes | Global | No | |||
| binlog_cache_size | Yes | Yes | Yes | Global | Yes | |
| Binlog_cache_use | Yes | Global | No | |||
| binlog-checksum | Yes | Yes | ||||
| binlog_checksum | Yes | Yes | Yes | Global | Yes | |
| binlog_direct_non_transactional_updates | Yes | Yes | Yes | Both | Yes | |
| binlog-do-db | Yes | Yes | ||||
| binlog_encryption | Yes | Yes | Yes | Global | Yes | |
| binlog_error_action | Yes | Yes | Yes | Global | Yes | |
| binlog_expire_logs_seconds | Yes | Yes | Yes | Global | Yes | |
| binlog_format | Yes | Yes | Yes | Both | Yes | |
| binlog_group_commit_sync_delay | Yes | Yes | Yes | Global | Yes | |
| binlog_group_commit_sync_no_delay_count | Yes | Yes | Yes | Global | Yes | |
| binlog_gtid_simple_recovery | Yes | Yes | Yes | Global | No | |
| binlog-ignore-db | Yes | Yes | ||||
| binlog_max_flush_queue_time | Yes | Yes | Yes | Global | Yes | |
| binlog_order_commits | Yes | Yes | Yes | Global | Yes | |
| binlog_rotate_encryption_master_key_at_startup | Yes | Yes | Yes | Global | No | |
| binlog_row_event_max_size | Yes | Yes | Yes | Global | No | |
| binlog_row_image | Yes | Yes | Yes | Both | Yes | |
| binlog_row_metadat | Yes | Yes | Yes | Global | Yes | |
| binlog_row_value_options | Yes | Yes | Yes | Both | Yes | |
| binlog_rows_query_log_events | Yes | Yes | Yes | Both | Yes | |
| Binlog_stmt_cache_disk_use | Yes | Global | No | |||
| binlog_stmt_cache_size | Yes | Yes | Yes | Global | Yes | |
| Binlog_stmt_cache_use | Yes | Global | No | |||
| binlog_transaction_dependency_history_size | Yes | Yes | Yes | Global | Yes | |
| binlog_transaction_dependency_tracking | Yes | Yes | Yes | Global | Yes | |
| block_encryption_mode | Yes | Yes | Yes | Both | Yes | |
| bulk_insert_buffer_size | Yes | Yes | Yes | Both | Yes | |
| Bytes_received | Yes | Both | No | |||
| Bytes_sent | Yes | Both | No | |||
| caching_sha2_password_auto_generate_rsa_keys | Yes | Yes | Yes | Global | No | |
| caching_sha2_password_private_key_path | Yes | Yes | Yes | Global | No | |
| caching_sha2_password_public_key_path | Yes | Yes | Yes | Global | No | |
| Caching_sha2_password_rsa_public_key | Yes | Global | No | |||
| character_set_client | Yes | Both | Yes | |||
| character-set-client-handshake | Yes | Yes | ||||
| character_set_connection | Yes | Both | Yes | |||
| character_set_database(note 1) | Yes | Both | Yes | |||
| character_set_filesystem | Yes | Yes | Yes | Both | Yes | |
| character_set_results | Yes | Both | Yes | |||
| character_set_server | Yes | Yes | Yes | Both | Yes | |
| character_set_system | Yes | Global | No | |||
| character_sets_dir | Yes | Yes | Yes | Global | No | |
| check_proxy_users | Yes | Yes | Yes | Global | Yes | |
| chroot | Yes | Yes | ||||
| clone_autotune_concurrency | Yes | Yes | Yes | Global | Yes | |
| clone_buffer_size | Yes | Yes | Yes | Global | Yes | |
| clone_ddl_timeout | Yes | Yes | Yes | Global | Yes | |
| clone_enable_compression | Yes | Yes | Yes | Global | Yes | |
| clone_max_concurrency | Yes | Yes | Yes | Global | Yes | |
| clone_max_data_bandwidth | Yes | Yes | Yes | Global | Yes | |
| clone_max_network_bandwidth | Yes | Yes | Yes | Global | Yes | |
| clone_ssl_c | Yes | Yes | Yes | Global | Yes | |
| clone_ssl_cert | Yes | Yes | Yes | Global | Yes | |
| clone_ssl_key | Yes | Yes | Yes | Global | Yes | |
| clone_valid_donor_list | Yes | Yes | Yes | Global | Yes | |
| collation_connection | Yes | Both | Yes | |||
| collation_database(note 1) | Yes | Both | Yes | |||
| collation_server | Yes | Yes | Yes | Both | Yes | |
| Com_admin_commands | Yes | Both | No | |||
| Com_alter_db | Yes | Both | No | |||
| Com_alter_event | Yes | Both | No | |||
| Com_alter_function | Yes | Both | No | |||
| Com_alter_procedure | Yes | Both | No | |||
| Com_alter_resource_group | Yes | Global | No | |||
| Com_alter_server | Yes | Both | No | |||
| Com_alter_table | Yes | Both | No | |||
| Com_alter_tablespace | Yes | Both | No | |||
| Com_alter_user | Yes | Both | No | |||
| Com_alter_user_default_role | Yes | Global | No | |||
| Com_analyze | Yes | Both | No | |||
| Com_assign_to_keycache | Yes | Both | No | |||
| Com_begin | Yes | Both | No | |||
| Com_binlog | Yes | Both | No | |||
| Com_call_procedure | Yes | Both | No | |||
| Com_change_db | Yes | Both | No | |||
| Com_change_master | Yes | Both | No | |||
| Com_change_repl_filter | Yes | Both | No | |||
| Com_check | Yes | Both | No | |||
| Com_checksum | Yes | Both | No | |||
| Com_clone | Yes | Global | No | |||
| Com_commit | Yes | Both | No | |||
| Com_create_db | Yes | Both | No | |||
| Com_create_event | Yes | Both | No | |||
| Com_create_function | Yes | Both | No | |||
| Com_create_index | Yes | Both | No | |||
| Com_create_procedure | Yes | Both | No | |||
| Com_create_resource_group | Yes | Global | No | |||
| Com_create_role | Yes | Global | No | |||
| Com_create_server | Yes | Both | No | |||
| Com_create_table | Yes | Both | No | |||
| Com_create_trigger | Yes | Both | No | |||
| Com_create_udf | Yes | Both | No | |||
| Com_create_user | Yes | Both | No | |||
| Com_create_view | Yes | Both | No | |||
| Com_dealloc_sql | Yes | Both | No | |||
| Com_delete | Yes | Both | No | |||
| Com_delete_multi | Yes | Both | No | |||
| Com_do | Yes | Both | No | |||
| Com_drop_db | Yes | Both | No | |||
| Com_drop_event | Yes | Both | No | |||
| Com_drop_function | Yes | Both | No | |||
| Com_drop_index | Yes | Both | No | |||
| Com_drop_procedure | Yes | Both | No | |||
| Com_drop_resource_group | Yes | Global | No | |||
| Com_drop_role | Yes | Global | No | |||
| Com_drop_server | Yes | Both | No | |||
| Com_drop_table | Yes | Both | No | |||
| Com_drop_trigger | Yes | Both | No | |||
| Com_drop_user | Yes | Both | No | |||
| Com_drop_view | Yes | Both | No | |||
| Com_empty_query | Yes | Both | No | |||
| Com_execute_sql | Yes | Both | No | |||
| Com_explain_other | Yes | Both | No | |||
| Com_flush | Yes | Both | No | |||
| Com_get_diagnostics | Yes | Both | No | |||
| Com_grant | Yes | Both | No | |||
| Com_grant_roles | Yes | Global | No | |||
| Com_group_replication_start | Yes | Global | No | |||
| Com_group_replication_stop | Yes | Global | No | |||
| Com_ha_close | Yes | Both | No | |||
| Com_ha_open | Yes | Both | No | |||
| Com_ha_read | Yes | Both | No | |||
| Com_help | Yes | Both | No | |||
| Com_insert | Yes | Both | No | |||
| Com_insert_select | Yes | Both | No | |||
| Com_install_component | Yes | Global | No | |||
| Com_install_plugin | Yes | Both | No | |||
| Com_kill | Yes | Both | No | |||
| Com_load | Yes | Both | No | |||
| Com_lock_tables | Yes | Both | No | |||
| Com_optimize | Yes | Both | No | |||
| Com_preload_keys | Yes | Both | No | |||
| Com_prepare_sql | Yes | Both | No | |||
| Com_purge | Yes | Both | No | |||
| Com_purge_before_date | Yes | Both | No | |||
| Com_release_savepoint | Yes | Both | No | |||
| Com_rename_table | Yes | Both | No | |||
| Com_rename_user | Yes | Both | No | |||
| Com_repair | Yes | Both | No | |||
| Com_replace | Yes | Both | No | |||
| Com_replace_select | Yes | Both | No | |||
| Com_reset | Yes | Both | No | |||
| Com_resignal | Yes | Both | No | |||
| Com_restart | Yes | Both | No | |||
| Com_revoke | Yes | Both | No | |||
| Com_revoke_all | Yes | Both | No | |||
| Com_revoke_roles | Yes | Global | No | |||
| Com_rollback | Yes | Both | No | |||
| Com_rollback_to_savepoint | Yes | Both | No | |||
| Com_savepoint | Yes | Both | No | |||
| Com_select | Yes | Both | No | |||
| Com_set_option | Yes | Both | No | |||
| Com_set_resource_group | Yes | Global | No | |||
| Com_set_role | Yes | Global | No | |||
| Com_show_authors | Yes | Both | No | |||
| Com_show_binlog_events | Yes | Both | No | |||
| Com_show_binlogs | Yes | Both | No | |||
| Com_show_charsets | Yes | Both | No | |||
| Com_show_collations | Yes | Both | No | |||
| Com_show_contributors | Yes | Both | No | |||
| Com_show_create_db | Yes | Both | No | |||
| Com_show_create_event | Yes | Both | No | |||
| Com_show_create_func | Yes | Both | No | |||
| Com_show_create_proc | Yes | Both | No | |||
| Com_show_create_table | Yes | Both | No | |||
| Com_show_create_trigger | Yes | Both | No | |||
| Com_show_create_user | Yes | Both | No | |||
| Com_show_databases | Yes | Both | No | |||
| Com_show_engine_logs | Yes | Both | No | |||
| Com_show_engine_mutex | Yes | Both | No | |||
| Com_show_engine_status | Yes | Both | No | |||
| Com_show_errors | Yes | Both | No | |||
| Com_show_events | Yes | Both | No | |||
| Com_show_fields | Yes | Both | No | |||
| Com_show_function_code | Yes | Both | No | |||
| Com_show_function_status | Yes | Both | No | |||
| Com_show_grants | Yes | Both | No | |||
| Com_show_keys | Yes | Both | No | |||
| Com_show_master_status | Yes | Both | No | |||
| Com_show_ndb_status | Yes | Both | No | |||
| Com_show_open_tables | Yes | Both | No | |||
| Com_show_plugins | Yes | Both | No | |||
| Com_show_privileges | Yes | Both | No | |||
| Com_show_procedure_code | Yes | Both | No | |||
| Com_show_procedure_status | Yes | Both | No | |||
| Com_show_processlist | Yes | Both | No | |||
| Com_show_profile | Yes | Both | No | |||
| Com_show_profiles | Yes | Both | No | |||
| Com_show_relaylog_events | Yes | Both | No | |||
| Com_show_slave_hosts | Yes | Both | No | |||
| Com_show_slave_status | Yes | Both | No | |||
| Com_show_status | Yes | Both | No | |||
| Com_show_storage_engines | Yes | Both | No | |||
| Com_show_table_status | Yes | Both | No | |||
| Com_show_tables | Yes | Both | No | |||
| Com_show_triggers | Yes | Both | No | |||
| Com_show_variables | Yes | Both | No | |||
| Com_show_warnings | Yes | Both | No | |||
| Com_shutdown | Yes | Both | No | |||
| Com_signal | Yes | Both | No | |||
| Com_slave_start | Yes | Both | No | |||
| Com_slave_stop | Yes | Both | No | |||
| Com_stmt_close | Yes | Both | No | |||
| Com_stmt_execute | Yes | Both | No | |||
| Com_stmt_fetch | Yes | Both | No | |||
| Com_stmt_prepare | Yes | Both | No | |||
| Com_stmt_reprepare | Yes | Both | No | |||
| Com_stmt_reset | Yes | Both | No | |||
| Com_stmt_send_long_dat | Yes | Both | No | |||
| Com_truncate | Yes | Both | No | |||
| Com_uninstall_component | Yes | Global | No | |||
| Com_uninstall_plugin | Yes | Both | No | |||
| Com_unlock_tables | Yes | Both | No | |||
| Com_update | Yes | Both | No | |||
| Com_update_multi | Yes | Both | No | |||
| Com_xa_commit | Yes | Both | No | |||
| Com_xa_end | Yes | Both | No | |||
| Com_xa_prepare | Yes | Both | No | |||
| Com_xa_recover | Yes | Both | No | |||
| Com_xa_rollback | Yes | Both | No | |||
| Com_xa_start | Yes | Both | No | |||
| completion_type | Yes | Yes | Yes | Both | Yes | |
| Compression | Yes | Session | No | |||
| Compression_algorithm | Yes | Global | No | |||
| Compression_level | Yes | Global | No | |||
| concurrent_insert | Yes | Yes | Yes | Global | Yes | |
| connect_timeout | Yes | Yes | Yes | Global | Yes | |
| Connection_control_delay_generated | Yes | Global | No | |||
| connection_control_failed_connections_threshold | Yes | Yes | Yes | Global | Yes | |
| connection_control_max_connection_delay | Yes | Yes | Yes | Global | Yes | |
| connection_control_min_connection_delay | Yes | Yes | Yes | Global | Yes | |
| Connection_errors_accept | Yes | Global | No | |||
| Connection_errors_internal | Yes | Global | No | |||
| Connection_errors_max_connections | Yes | Global | No | |||
| Connection_errors_peer_address | Yes | Global | No | |||
| Connection_errors_select | Yes | Global | No | |||
| Connection_errors_tcpwrap | Yes | Global | No | |||
| Connections | Yes | Global | No | |||
| console | Yes | Yes | ||||
| core-file | Yes | Yes | ||||
| core_file | Yes | Global | No | |||
| create_admin_listener_thread | Yes | Yes | Yes | Global | No | |
| Created_tmp_disk_tables | Yes | Both | No | |||
| Created_tmp_files | Yes | Global | No | |||
| Created_tmp_tables | Yes | Both | No | |||
| cte_max_recursion_depth | Yes | Yes | Yes | Both | Yes | |
| Current_tls_c | Yes | Global | No | |||
| Current_tls_capath | Yes | Global | No | |||
| Current_tls_cert | Yes | Global | No | |||
| Current_tls_cipher | Yes | Global | No | |||
| Current_tls_ciphersuites | Yes | Global | No | |||
| Current_tls_crl | Yes | Global | No | |||
| Current_tls_crlpath | Yes | Global | No | |||
| Current_tls_key | Yes | Global | No | |||
| Current_tls_version | Yes | Global | No | |||
| daemon_memcached_enable_binlog | Yes | Yes | Yes | Global | No | |
| daemon_memcached_engine_lib_name | Yes | Yes | Yes | Global | No | |
| daemon_memcached_engine_lib_path | Yes | Yes | Yes | Global | No | |
| daemon_memcached_option | Yes | Yes | Yes | Global | No | |
| daemon_memcached_r_batch_size | Yes | Yes | Yes | Global | No | |
| daemon_memcached_w_batch_size | Yes | Yes | Yes | Global | No | |
| daemonize | Yes | Yes | ||||
| datadir | Yes | Yes | Yes | Global | No | |
| ddl-rewriter | Yes | Yes | ||||
| debug | Yes | Yes | Yes | Both | Yes | |
| debug_sync | Yes | Session | Yes | |||
| debug-sync-timeout | Yes | Yes | ||||
| default_authentication_plugin | Yes | Yes | Yes | Global | No | |
| default_collation_for_utf8mb4 | Yes | Both | Yes | |||
| default_password_lifetime | Yes | Yes | Yes | Global | Yes | |
| default_storage_engine | Yes | Yes | Yes | Both | Yes | |
| default_table_encryption | Yes | Yes | Yes | Both | Yes | |
| default-time-zone | Yes | Yes | ||||
| default_tmp_storage_engine | Yes | Yes | Yes | Both | Yes | |
| default_week_format | Yes | Yes | Yes | Both | Yes | |
| defaults-extra-file | Yes | |||||
| defaults-file | Yes | |||||
| defaults-group-suffix | Yes | |||||
| delay_key_write | Yes | Yes | Yes | Global | Yes | |
| Delayed_errors | Yes | Global | No | |||
| delayed_insert_limit | Yes | Yes | Yes | Global | Yes | |
| Delayed_insert_threads | Yes | Global | No | |||
| delayed_insert_timeout | Yes | Yes | Yes | Global | Yes | |
| delayed_queue_size | Yes | Yes | Yes | Global | Yes | |
| Delayed_writes | Yes | Global | No | |||
| disabled_storage_engines | Yes | Yes | Yes | Global | No | |
| disconnect_on_expired_password | Yes | Yes | Yes | Global | No | |
| disconnect-slave-event-count | Yes | Yes | ||||
| div_precision_increment | Yes | Yes | Yes | Both | Yes | |
| dragnet.log_error_filter_rules | Yes | Yes | Yes | Global | Yes | |
| dragnet.Status | Yes | Global | No | |||
| early-plugin-load | Yes | Yes | ||||
| end_markers_in_json | Yes | Yes | Yes | Both | Yes | |
| enforce_gtid_consistency | Yes | Yes | Yes | Global | Yes | |
| eq_range_index_dive_limit | Yes | Yes | Yes | Both | Yes | |
| error_count | Yes | Session | No | |||
| event_scheduler | Yes | Yes | Yes | Global | Yes | |
| exit-info | Yes | Yes | ||||
| expire_logs_days | Yes | Yes | Yes | Global | Yes | |
| explicit_defaults_for_timestamp | Yes | Yes | Yes | Both | Yes | |
| external-locking | Yes | Yes | ||||
| -Variable: skip_external_locking | ||||||
| external_user | Yes | Session | No | |||
| federated | Yes | Yes | ||||
| Firewall_access_denied | Yes | Global | No | |||
| Firewall_access_granted | Yes | Global | No | |||
| Firewall_cached_entries | Yes | Global | No | |||
| flush | Yes | Yes | Yes | Global | Yes | |
| Flush_commands | Yes | Global | No | |||
| flush_time | Yes | Yes | Yes | Global | Yes | |
| foreign_key_checks | Yes | Both | Yes | |||
| ft_boolean_syntax | Yes | Yes | Yes | Global | Yes | |
| ft_max_word_len | Yes | Yes | Yes | Global | No | |
| ft_min_word_len | Yes | Yes | Yes | Global | No | |
| ft_query_expansion_limit | Yes | Yes | Yes | Global | No | |
| ft_stopword_file | Yes | Yes | Yes | Global | No | |
| gdb | Yes | Yes | ||||
| general_log | Yes | Yes | Yes | Global | Yes | |
| general_log_file | Yes | Yes | Yes | Global | Yes | |
| generated_random_password_length | Yes | Yes | Yes | Both | Yes | |
| group_concat_max_len | Yes | Yes | Yes | Both | Yes | |
| group_replication_allow_local_lower_version_join | Yes | Yes | Yes | Global | Yes | |
| group_replication_auto_increment_increment | Yes | Yes | Yes | Global | Yes | |
| group_replication_autorejoin_tries | Yes | Yes | Yes | Global | Yes | |
| group_replication_bootstrap_group | Yes | Yes | Yes | Global | Yes | |
| group_replication_clone_threshold | Yes | Yes | Yes | Global | Yes | |
| group_replication_communication_debug_options | Yes | Yes | Yes | Global | Yes | |
| group_replication_communication_max_message_size | Yes | Yes | Yes | Global | Yes | |
| group_replication_components_stop_timeout | Yes | Yes | Yes | Global | Yes | |
| group_replication_compression_threshold | Yes | Yes | Yes | Global | Yes | |
| group_replication_consistency | Yes | Yes | Yes | Both | Yes | |
| group_replication_enforce_update_everywhere_checks | Yes | Yes | Yes | Global | Yes | |
| group_replication_exit_state_action | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_applier_threshold | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_certifier_threshold | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_hold_percent | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_max_commit_quot | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_member_quota_percent | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_min_quot | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_min_recovery_quot | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_mode | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_period | Yes | Yes | Yes | Global | Yes | |
| group_replication_flow_control_release_percent | Yes | Yes | Yes | Global | Yes | |
| group_replication_force_members | Yes | Yes | Yes | Global | Yes | |
| group_replication_group_name | Yes | Yes | Yes | Global | Yes | |
| group_replication_group_seeds | Yes | Yes | Yes | Global | Yes | |
| group_replication_gtid_assignment_block_size | Yes | Yes | Yes | Global | Yes | |
| group_replication_ip_whitelist | Yes | Yes | Yes | Global | Yes | |
| group_replication_local_address | Yes | Yes | Yes | Global | Yes | |
| group_replication_member_expel_timeout | Yes | Yes | Yes | Global | Yes | |
| group_replication_member_weight | Yes | Yes | Yes | Global | Yes | |
| group_replication_message_cache_size | Yes | Yes | Yes | Global | Yes | |
| group_replication_poll_spin_loops | Yes | Yes | Yes | Global | Yes | |
| group_replication_primary_member | Yes | Global | No | |||
| group_replication_recovery_complete_at | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_compression_algorithm | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_get_public_key | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_public_key_path | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_reconnect_interval | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_retry_count | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_c | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_capath | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_cert | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_cipher | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_crl | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_crlpath | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_key | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_ssl_verify_server_cert | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_tls_ciphersuites | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_tls_version | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_use_ssl | Yes | Yes | Yes | Global | Yes | |
| group_replication_recovery_zstd_compression_level | Yes | Yes | Yes | Global | Yes | |
| group_replication_single_primary_mode | Yes | Yes | Yes | Global | Yes | |
| group_replication_ssl_mode | Yes | Yes | Yes | Global | Yes | |
| group_replication_start_on_boot | Yes | Yes | Yes | Global | Yes | |
| group_replication_transaction_size_limit | Yes | Yes | Yes | Global | Yes | |
| group_replication_unreachable_majority_timeout | Yes | Yes | Yes | Global | Yes | |
| gtid_executed | Yes | Varies | No | |||
| gtid_executed_compression_period | Yes | Yes | Yes | Global | Yes | |
| gtid_mode | Yes | Yes | Yes | Global | Yes | |
| gtid_next | Yes | Session | Yes | |||
| gtid_owned | Yes | Both | No | |||
| gtid_purged | Yes | Global | Yes | |||
| Handler_commit | Yes | Both | No | |||
| Handler_delete | Yes | Both | No | |||
| Handler_discover | Yes | Both | No | |||
| Handler_external_lock | Yes | Both | No | |||
| Handler_mrr_init | Yes | Both | No | |||
| Handler_prepare | Yes | Both | No | |||
| Handler_read_first | Yes | Both | No | |||
| Handler_read_key | Yes | Both | No | |||
| Handler_read_last | Yes | Both | No | |||
| Handler_read_next | Yes | Both | No | |||
| Handler_read_prev | Yes | Both | No | |||
| Handler_read_rnd | Yes | Both | No | |||
| Handler_read_rnd_next | Yes | Both | No | |||
| Handler_rollback | Yes | Both | No | |||
| Handler_savepoint | Yes | Both | No | |||
| Handler_savepoint_rollback | Yes | Both | No | |||
| Handler_update | Yes | Both | No | |||
| Handler_write | Yes | Both | No | |||
| have_compress | Yes | Global | No | |||
| have_dynamic_loading | Yes | Global | No | |||
| have_geometry | Yes | Global | No | |||
| have_openssl | Yes | Global | No | |||
| have_profiling | Yes | Global | No | |||
| have_query_cache | Yes | Global | No | |||
| have_rtree_keys | Yes | Global | No | |||
| have_ssl | Yes | Global | No | |||
| have_statement_timeout | Yes | Global | No | |||
| have_symlink | Yes | Global | No | |||
| help | Yes | Yes | ||||
| histogram_generation_max_mem_size | Yes | Yes | Yes | Both | Yes | |
| host_cache_size | Yes | Yes | Yes | Global | Yes | |
| hostname | Yes | Global | No | |||
| identity | Yes | Session | Yes | |||
| immediate_server_version | Yes | Session | Yes | |||
| information_schema_stats_expiry | Yes | Yes | Yes | Both | Yes | |
| init_connect | Yes | Yes | Yes | Global | Yes | |
| init_file | Yes | Yes | Yes | Global | No | |
| init_slave | Yes | Yes | Yes | Global | Yes | |
| initialize | Yes | Yes | ||||
| initialize-insecure | Yes | Yes | ||||
| innodb | Yes | Yes | ||||
| innodb_adaptive_flushing | Yes | Yes | Yes | Global | Yes | |
| innodb_adaptive_flushing_lwm | Yes | Yes | Yes | Global | Yes | |
| innodb_adaptive_hash_index | Yes | Yes | Yes | Global | Yes | |
| innodb_adaptive_hash_index_parts | Yes | Yes | Yes | Global | No | |
| innodb_adaptive_max_sleep_delay | Yes | Yes | Yes | Global | Yes | |
| innodb_api_bk_commit_interval | Yes | Yes | Yes | Global | Yes | |
| innodb_api_disable_rowlock | Yes | Yes | Yes | Global | No | |
| innodb_api_enable_binlog | Yes | Yes | Yes | Global | No | |
| innodb_api_enable_mdl | Yes | Yes | Yes | Global | No | |
| innodb_api_trx_level | Yes | Yes | Yes | Global | Yes | |
| innodb_autoextend_increment | Yes | Yes | Yes | Global | Yes | |
| innodb_autoinc_lock_mode | Yes | Yes | Yes | Global | No | |
| innodb_background_drop_list_empty | Yes | Yes | Yes | Global | Yes | |
| Innodb_buffer_pool_bytes_dat | Yes | Global | No | |||
| Innodb_buffer_pool_bytes_dirty | Yes | Global | No | |||
| innodb_buffer_pool_chunk_size | Yes | Yes | Yes | Global | No | |
| innodb_buffer_pool_debug | Yes | Yes | Yes | Global | No | |
| innodb_buffer_pool_dump_at_shutdown | Yes | Yes | Yes | Global | Yes | |
| innodb_buffer_pool_dump_now | Yes | Yes | Yes | Global | Yes | |
| innodb_buffer_pool_dump_pct | Yes | Yes | Yes | Global | Yes | |
| Innodb_buffer_pool_dump_status | Yes | Global | No | |||
| innodb_buffer_pool_filename | Yes | Yes | Yes | Global | Yes | |
| innodb_buffer_pool_in_core_file | Yes | Yes | Yes | Global | Yes | |
| innodb_buffer_pool_instances | Yes | Yes | Yes | Global | No | |
| innodb_buffer_pool_load_abort | Yes | Yes | Yes | Global | Yes | |
| innodb_buffer_pool_load_at_startup | Yes | Yes | Yes | Global | No | |
| innodb_buffer_pool_load_now | Yes | Yes | Yes | Global | Yes | |
| Innodb_buffer_pool_load_status | Yes | Global | No | |||
| Innodb_buffer_pool_pages_dat | Yes | Global | No | |||
| Innodb_buffer_pool_pages_dirty | Yes | Global | No | |||
| Innodb_buffer_pool_pages_flushed | Yes | Global | No | |||
| Innodb_buffer_pool_pages_free | Yes | Global | No | |||
| Innodb_buffer_pool_pages_latched | Yes | Global | No | |||
| Innodb_buffer_pool_pages_misc | Yes | Global | No | |||
| Innodb_buffer_pool_pages_total | Yes | Global | No | |||
| Innodb_buffer_pool_read_ahead | Yes | Global | No | |||
| Innodb_buffer_pool_read_ahead_evicted | Yes | Global | No | |||
| Innodb_buffer_pool_read_ahead_rnd | Yes | Global | No | |||
| Innodb_buffer_pool_read_requests | Yes | Global | No | |||
| Innodb_buffer_pool_reads | Yes | Global | No | |||
| Innodb_buffer_pool_resize_status | Yes | Global | No | |||
| innodb_buffer_pool_size | Yes | Yes | Yes | Global | Yes | |
| Innodb_buffer_pool_wait_free | Yes | Global | No | |||
| Innodb_buffer_pool_write_requests | Yes | Global | No | |||
| innodb_change_buffer_max_size | Yes | Yes | Yes | Global | Yes | |
| innodb_change_buffering | Yes | Yes | Yes | Global | Yes | |
| innodb_change_buffering_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_checkpoint_disabled | Yes | Yes | Yes | Global | Yes | |
| innodb_checksum_algorithm | Yes | Yes | Yes | Global | Yes | |
| innodb_cmp_per_index_enabled | Yes | Yes | Yes | Global | Yes | |
| innodb_commit_concurrency | Yes | Yes | Yes | Global | Yes | |
| innodb_compress_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_compression_failure_threshold_pct | Yes | Yes | Yes | Global | Yes | |
| innodb_compression_level | Yes | Yes | Yes | Global | Yes | |
| innodb_compression_pad_pct_max | Yes | Yes | Yes | Global | Yes | |
| innodb_concurrency_tickets | Yes | Yes | Yes | Global | Yes | |
| innodb_data_file_path | Yes | Yes | Yes | Global | No | |
| Innodb_data_fsyncs | Yes | Global | No | |||
| innodb_data_home_dir | Yes | Yes | Yes | Global | No | |
| Innodb_data_pending_fsyncs | Yes | Global | No | |||
| Innodb_data_pending_reads | Yes | Global | No | |||
| Innodb_data_pending_writes | Yes | Global | No | |||
| Innodb_data_read | Yes | Global | No | |||
| Innodb_data_reads | Yes | Global | No | |||
| Innodb_data_writes | Yes | Global | No | |||
| Innodb_data_written | Yes | Global | No | |||
| Innodb_dblwr_pages_written | Yes | Global | No | |||
| Innodb_dblwr_writes | Yes | Global | No | |||
| innodb_ddl_log_crash_reset_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_deadlock_detect | Yes | Yes | Yes | Global | Yes | |
| innodb_dedicated_server | Yes | Yes | Yes | Global | No | |
| innodb_default_row_format | Yes | Yes | Yes | Global | Yes | |
| innodb_directories | Yes | Yes | Yes | Global | No | |
| innodb_disable_sort_file_cache | Yes | Yes | Yes | Global | Yes | |
| innodb_doublewrite | Yes | Yes | Yes | Global | No | |
| innodb_fast_shutdown | Yes | Yes | Yes | Global | Yes | |
| innodb_fil_make_page_dirty_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_file_per_table | Yes | Yes | Yes | Global | Yes | |
| innodb_fill_factor | Yes | Yes | Yes | Global | Yes | |
| innodb_flush_log_at_timeout | Yes | Yes | Yes | Global | Yes | |
| innodb_flush_log_at_trx_commit | Yes | Yes | Yes | Global | Yes | |
| innodb_flush_method | Yes | Yes | Yes | Global | No | |
| innodb_flush_neighbors | Yes | Yes | Yes | Global | Yes | |
| innodb_flush_sync | Yes | Yes | Yes | Global | Yes | |
| innodb_flushing_avg_loops | Yes | Yes | Yes | Global | Yes | |
| innodb_force_load_corrupted | Yes | Yes | Yes | Global | No | |
| innodb_force_recovery | Yes | Yes | Yes | Global | No | |
| innodb_fsync_threshold | Yes | Yes | Yes | Global | Yes | |
| innodb_ft_aux_table | Yes | Global | Yes | |||
| innodb_ft_cache_size | Yes | Yes | Yes | Global | No | |
| innodb_ft_enable_diag_print | Yes | Yes | Yes | Global | Yes | |
| innodb_ft_enable_stopword | Yes | Yes | Yes | Both | Yes | |
| innodb_ft_max_token_size | Yes | Yes | Yes | Global | No | |
| innodb_ft_min_token_size | Yes | Yes | Yes | Global | No | |
| innodb_ft_num_word_optimize | Yes | Yes | Yes | Global | Yes | |
| innodb_ft_result_cache_limit | Yes | Yes | Yes | Global | Yes | |
| innodb_ft_server_stopword_table | Yes | Yes | Yes | Global | Yes | |
| innodb_ft_sort_pll_degree | Yes | Yes | Yes | Global | No | |
| innodb_ft_total_cache_size | Yes | Yes | Yes | Global | No | |
| innodb_ft_user_stopword_table | Yes | Yes | Yes | Both | Yes | |
| Innodb_have_atomic_builtins | Yes | Global | No | |||
| innodb_idle_flush_pct | Yes | Yes | Yes | Global | Yes | |
| innodb_io_capacity | Yes | Yes | Yes | Global | Yes | |
| innodb_io_capacity_max | Yes | Yes | Yes | Global | Yes | |
| innodb_limit_optimistic_insert_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_lock_wait_timeout | Yes | Yes | Yes | Both | Yes | |
| innodb_log_buffer_size | Yes | Yes | Yes | Global | Varies | |
| innodb_log_checkpoint_fuzzy_now | Yes | Yes | Yes | Global | Yes | |
| innodb_log_checkpoint_now | Yes | Yes | Yes | Global | Yes | |
| innodb_log_checksums | Yes | Yes | Yes | Global | Yes | |
| innodb_log_compressed_pages | Yes | Yes | Yes | Global | Yes | |
| innodb_log_file_size | Yes | Yes | Yes | Global | No | |
| innodb_log_files_in_group | Yes | Yes | Yes | Global | No | |
| innodb_log_group_home_dir | Yes | Yes | Yes | Global | No | |
| innodb_log_spin_cpu_abs_lwm | Yes | Yes | Yes | Global | Yes | |
| innodb_log_spin_cpu_pct_hwm | Yes | Yes | Yes | Global | Yes | |
| innodb_log_wait_for_flush_spin_hwm | Yes | Yes | Yes | Global | Yes | |
| Innodb_log_waits | Yes | Global | No | |||
| innodb_log_write_ahead_size | Yes | Yes | Yes | Global | Yes | |
| Innodb_log_write_requests | Yes | Global | No | |||
| Innodb_log_writes | Yes | Global | No | |||
| innodb_lru_scan_depth | Yes | Yes | Yes | Global | Yes | |
| innodb_max_dirty_pages_pct | Yes | Yes | Yes | Global | Yes | |
| innodb_max_dirty_pages_pct_lwm | Yes | Yes | Yes | Global | Yes | |
| innodb_max_purge_lag | Yes | Yes | Yes | Global | Yes | |
| innodb_max_purge_lag_delay | Yes | Yes | Yes | Global | Yes | |
| innodb_max_undo_log_size | Yes | Yes | Yes | Global | Yes | |
| innodb_merge_threshold_set_all_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_monitor_disable | Yes | Yes | Yes | Global | Yes | |
| innodb_monitor_enable | Yes | Yes | Yes | Global | Yes | |
| innodb_monitor_reset | Yes | Yes | Yes | Global | Yes | |
| innodb_monitor_reset_all | Yes | Yes | Yes | Global | Yes | |
| Innodb_num_open_files | Yes | Global | No | |||
| innodb_numa_interleave | Yes | Yes | Yes | Global | No | |
| innodb_old_blocks_pct | Yes | Yes | Yes | Global | Yes | |
| innodb_old_blocks_time | Yes | Yes | Yes | Global | Yes | |
| innodb_online_alter_log_max_size | Yes | Yes | Yes | Global | Yes | |
| innodb_open_files | Yes | Yes | Yes | Global | No | |
| innodb_optimize_fulltext_only | Yes | Yes | Yes | Global | Yes | |
| Innodb_os_log_fsyncs | Yes | Global | No | |||
| Innodb_os_log_pending_fsyncs | Yes | Global | No | |||
| Innodb_os_log_pending_writes | Yes | Global | No | |||
| Innodb_os_log_written | Yes | Global | No | |||
| innodb_page_cleaners | Yes | Yes | Yes | Global | No | |
| Innodb_page_size | Yes | Global | No | |||
| innodb_page_size | Yes | Yes | Yes | Global | No | |
| Innodb_pages_created | Yes | Global | No | |||
| Innodb_pages_read | Yes | Global | No | |||
| Innodb_pages_written | Yes | Global | No | |||
| innodb_parallel_read_threads | Yes | Yes | Yes | Session | Yes | |
| innodb_print_all_deadlocks | Yes | Yes | Yes | Global | Yes | |
| innodb_print_ddl_logs | Yes | Yes | Yes | Global | Yes | |
| innodb_purge_batch_size | Yes | Yes | Yes | Global | Yes | |
| innodb_purge_rseg_truncate_frequency | Yes | Yes | Yes | Global | Yes | |
| innodb_purge_threads | Yes | Yes | Yes | Global | No | |
| innodb_random_read_ahead | Yes | Yes | Yes | Global | Yes | |
| innodb_read_ahead_threshold | Yes | Yes | Yes | Global | Yes | |
| innodb_read_io_threads | Yes | Yes | Yes | Global | No | |
| innodb_read_only | Yes | Yes | Yes | Global | No | |
| innodb_redo_log_archive_dirs | Yes | Yes | Yes | Global | Yes | |
| innodb_redo_log_encrypt | Yes | Yes | Yes | Global | Yes | |
| innodb_replication_delay | Yes | Yes | Yes | Global | Yes | |
| innodb_rollback_on_timeout | Yes | Yes | Yes | Global | No | |
| innodb_rollback_segments | Yes | Yes | Yes | Global | Yes | |
| Innodb_row_lock_current_waits | Yes | Global | No | |||
| Innodb_row_lock_time | Yes | Global | No | |||
| Innodb_row_lock_time_avg | Yes | Global | No | |||
| Innodb_row_lock_time_max | Yes | Global | No | |||
| Innodb_row_lock_waits | Yes | Global | No | |||
| Innodb_rows_deleted | Yes | Global | No | |||
| Innodb_rows_inserted | Yes | Global | No | |||
| Innodb_rows_read | Yes | Global | No | |||
| Innodb_rows_updated | Yes | Global | No | |||
| innodb_saved_page_number_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_sort_buffer_size | Yes | Yes | Yes | Global | No | |
| innodb_spin_wait_delay | Yes | Yes | Yes | Global | Yes | |
| innodb_spin_wait_pause_multiplier | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_auto_recalc | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_include_delete_marked | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_method | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_on_metadat | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_persistent | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_persistent_sample_pages | Yes | Yes | Yes | Global | Yes | |
| innodb_stats_transient_sample_pages | Yes | Yes | Yes | Global | Yes | |
| innodb-status-file | Yes | Yes | ||||
| innodb_status_output | Yes | Yes | Yes | Global | Yes | |
| innodb_status_output_locks | Yes | Yes | Yes | Global | Yes | |
| innodb_strict_mode | Yes | Yes | Yes | Both | Yes | |
| innodb_sync_array_size | Yes | Yes | Yes | Global | No | |
| innodb_sync_debug | Yes | Yes | Yes | Global | No | |
| innodb_sync_spin_loops | Yes | Yes | Yes | Global | Yes | |
| Innodb_system_rows_deleted | Yes | Global | No | |||
| Innodb_system_rows_inserted | Yes | Global | No | |||
| Innodb_system_rows_read | Yes | Global | No | |||
| innodb_table_locks | Yes | Yes | Yes | Both | Yes | |
| innodb_temp_data_file_path | Yes | Yes | Yes | Global | No | |
| innodb_temp_tablespaces_dir | Yes | Yes | Yes | Global | No | |
| innodb_thread_concurrency | Yes | Yes | Yes | Global | Yes | |
| innodb_thread_sleep_delay | Yes | Yes | Yes | Global | Yes | |
| innodb_tmpdir | Yes | Yes | Yes | Both | Yes | |
| Innodb_truncated_status_writes | Yes | Global | No | |||
| innodb_trx_purge_view_update_only_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_trx_rseg_n_slots_debug | Yes | Yes | Yes | Global | Yes | |
| innodb_undo_directory | Yes | Yes | Yes | Global | No | |
| innodb_undo_log_encrypt | Yes | Yes | Yes | Global | Yes | |
| innodb_undo_log_truncate | Yes | Yes | Yes | Global | Yes | |
| innodb_undo_tablespaces | Yes | Yes | Yes | Global | Varies | |
| Innodb_undo_tablespaces_active | Yes | Global | No | |||
| Innodb_undo_tablespaces_explicit | Yes | Global | No | |||
| Innodb_undo_tablespaces_implicit | Yes | Global | No | |||
| Innodb_undo_tablespaces_total | Yes | Global | No | |||
| innodb_use_native_aio | Yes | Yes | Yes | Global | No | |
| innodb_version | Yes | Global | No | |||
| innodb_write_io_threads | Yes | Yes | Yes | Global | No | |
| insert_id | Yes | Session | Yes | |||
| install | Yes | |||||
| install-manual | Yes | |||||
| interactive_timeout | Yes | Yes | Yes | Both | Yes | |
| internal_tmp_disk_storage_engine | Yes | Yes | Yes | Global | Yes | |
| internal_tmp_mem_storage_engine | Yes | Yes | Yes | Both | Yes | |
| join_buffer_size | Yes | Yes | Yes | Both | Yes | |
| keep_files_on_create | Yes | Yes | Yes | Both | Yes | |
| Key_blocks_not_flushed | Yes | Global | No | |||
| Key_blocks_unused | Yes | Global | No | |||
| Key_blocks_used | Yes | Global | No | |||
| key_buffer_size | Yes | Yes | Yes | Global | Yes | |
| key_cache_age_threshold | Yes | Yes | Yes | Global | Yes | |
| key_cache_block_size | Yes | Yes | Yes | Global | Yes | |
| key_cache_division_limit | Yes | Yes | Yes | Global | Yes | |
| Key_read_requests | Yes | Global | No | |||
| Key_reads | Yes | Global | No | |||
| Key_write_requests | Yes | Global | No | |||
| Key_writes | Yes | Global | No | |||
| keyring_aws_cmk_id | Yes | Yes | Yes | Global | Yes | |
| keyring_aws_conf_file | Yes | Yes | Yes | Global | No | |
| keyring_aws_data_file | Yes | Yes | Yes | Global | No | |
| keyring_aws_region | Yes | Yes | Yes | Global | Yes | |
| keyring_encrypted_file_dat | Yes | Yes | Yes | Global | Yes | |
| keyring_encrypted_file_password | Yes | Yes | Yes | Global | Yes | |
| keyring_file_dat | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_auth_path | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_ca_path | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_caching | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_commit_auth_path | Yes | Global | No | |||
| keyring_hashicorp_commit_ca_path | Yes | Global | No | |||
| keyring_hashicorp_commit_caching | Yes | Global | No | |||
| keyring_hashicorp_commit_role_id | Yes | Global | No | |||
| keyring_hashicorp_commit_server_url | Yes | Global | No | |||
| keyring_hashicorp_commit_store_path | Yes | Global | No | |||
| keyring_hashicorp_role_id | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_secret_id | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_server_url | Yes | Yes | Yes | Global | Yes | |
| keyring_hashicorp_store_path | Yes | Yes | Yes | Global | Yes | |
| keyring-migration-destination | Yes | Yes | ||||
| keyring-migration-host | Yes | Yes | ||||
| keyring-migration-password | Yes | Yes | ||||
| keyring-migration-port | Yes | Yes | ||||
| keyring-migration-socket | Yes | Yes | ||||
| keyring-migration-source | Yes | Yes | ||||
| keyring-migration-user | Yes | Yes | ||||
| keyring_okv_conf_dir | Yes | Yes | Yes | Global | Yes | |
| keyring_operations | Yes | Global | Yes | |||
| language | Yes | Yes | Yes | Global | No | |
| large_files_support | Yes | Global | No | |||
| large_page_size | Yes | Global | No | |||
| large_pages | Yes | Yes | Yes | Global | No | |
| last_insert_id | Yes | Session | Yes | |||
| Last_query_cost | Yes | Session | No | |||
| Last_query_partial_plans | Yes | Session | No | |||
| lc_messages | Yes | Yes | Yes | Both | Yes | |
| lc_messages_dir | Yes | Yes | Yes | Global | No | |
| lc_time_names | Yes | Yes | Yes | Both | Yes | |
| license | Yes | Global | No | |||
| local_infile | Yes | Yes | Yes | Global | Yes | |
| local-service | Yes | |||||
| lock_order | Yes | Yes | Yes | Global | No | |
| lock_order_debug_loop | Yes | Yes | Yes | Global | No | |
| lock_order_debug_missing_arc | Yes | Yes | Yes | Global | No | |
| lock_order_debug_missing_key | Yes | Yes | Yes | Global | No | |
| lock_order_debug_missing_unlock | Yes | Yes | Yes | Global | No | |
| lock_order_dependencies | Yes | Yes | Yes | Global | No | |
| lock_order_extra_dependencies | Yes | Yes | Yes | Global | No | |
| lock_order_output_directory | Yes | Yes | Yes | Global | No | |
| lock_order_print_txt | Yes | Yes | Yes | Global | No | |
| lock_order_trace_loop | Yes | Yes | Yes | Global | No | |
| lock_order_trace_missing_arc | Yes | Yes | Yes | Global | No | |
| lock_order_trace_missing_key | Yes | Yes | Yes | Global | No | |
| lock_order_trace_missing_unlock | Yes | Yes | Yes | Global | No | |
| lock_wait_timeout | Yes | Yes | Yes | Both | Yes | |
| Locked_connects | Yes | Global | No | |||
| locked_in_memory | Yes | Global | No | |||
| log-bin | Yes | Yes | ||||
| log_bin | Yes | Global | No | |||
| log_bin_basename | Yes | Global | No | |||
| log_bin_index | Yes | Yes | Yes | Global | No | |
| log_bin_trust_function_creators | Yes | Yes | Yes | Global | Yes | |
| log_bin_use_v1_row_events | Yes | Yes | Yes | Global | No | |
| log_error | Yes | Yes | Yes | Global | No | |
| log_error_services | Yes | Yes | Yes | Global | Yes | |
| log_error_suppression_list | Yes | Yes | Yes | Global | Yes | |
| log_error_verbosity | Yes | Yes | Yes | Global | Yes | |
| log-isam | Yes | Yes | ||||
| log_output | Yes | Yes | Yes | Global | Yes | |
| log_queries_not_using_indexes | Yes | Yes | Yes | Global | Yes | |
| log_raw | Yes | Yes | Yes | Global | Yes | |
| log-short-format | Yes | Yes | ||||
| log_slave_updates | Yes | Yes | Yes | Global | No | |
| log_slow_admin_statements | Yes | Yes | Yes | Global | Yes | |
| log_slow_extr | Yes | Yes | Yes | Global | Yes | |
| log_slow_slave_statements | Yes | Yes | Yes | Global | Yes | |
| log_statements_unsafe_for_binlog | Yes | Yes | Yes | Global | Yes | |
| log_syslog | Yes | Yes | Yes | Global | Yes | |
| log_syslog_facility | Yes | Yes | Yes | Global | Yes | |
| log_syslog_include_pid | Yes | Yes | Yes | Global | Yes | |
| log_syslog_tag | Yes | Yes | Yes | Global | Yes | |
| log-tc | Yes | Yes | ||||
| log-tc-size | Yes | Yes | ||||
| log_throttle_queries_not_using_indexes | Yes | Yes | Yes | Global | Yes | |
| log_timestamps | Yes | Yes | Yes | Global | Yes | |
| long_query_time | Yes | Yes | Yes | Both | Yes | |
| low_priority_updates | Yes | Yes | Yes | Both | Yes | |
| lower_case_file_system | Yes | Global | No | |||
| lower_case_table_names | Yes | Yes | Yes | Global | No | |
| mandatory_roles | Yes | Yes | Yes | Global | Yes | |
| master-info-file | Yes | Yes | ||||
| master_info_repository | Yes | Yes | Yes | Global | Yes | |
| master-retry-count | Yes | Yes | ||||
| master_verify_checksum | Yes | Yes | Yes | Global | Yes | |
| max_allowed_packet | Yes | Yes | Yes | Both | Yes | |
| max_binlog_cache_size | Yes | Yes | Yes | Global | Yes | |
| max-binlog-dump-events | Yes | Yes | ||||
| max_binlog_size | Yes | Yes | Yes | Global | Yes | |
| max_binlog_stmt_cache_size | Yes | Yes | Yes | Global | Yes | |
| max_connect_errors | Yes | Yes | Yes | Global | Yes | |
| max_connections | Yes | Yes | Yes | Global | Yes | |
| max_delayed_threads | Yes | Yes | Yes | Both | Yes | |
| max_digest_length | Yes | Yes | Yes | Global | No | |
| max_error_count | Yes | Yes | Yes | Both | Yes | |
| max_execution_time | Yes | Yes | Yes | Both | Yes | |
| Max_execution_time_exceeded | Yes | Both | No | |||
| Max_execution_time_set | Yes | Both | No | |||
| Max_execution_time_set_failed | Yes | Both | No | |||
| max_heap_table_size | Yes | Yes | Yes | Both | Yes | |
| max_insert_delayed_threads | Yes | Both | Yes | |||
| max_join_size | Yes | Yes | Yes | Both | Yes | |
| max_length_for_sort_dat | Yes | Yes | Yes | Both | Yes | |
| max_points_in_geometry | Yes | Yes | Yes | Both | Yes | |
| max_prepared_stmt_count | Yes | Yes | Yes | Global | Yes | |
| max_relay_log_size | Yes | Yes | Yes | Global | Yes | |
| max_seeks_for_key | Yes | Yes | Yes | Both | Yes | |
| max_sort_length | Yes | Yes | Yes | Both | Yes | |
| max_sp_recursion_depth | Yes | Yes | Yes | Both | Yes | |
| Max_used_connections | Yes | Global | No | |||
| Max_used_connections_time | Yes | Global | No | |||
| max_user_connections | Yes | Yes | Yes | Both | Yes | |
| max_write_lock_count | Yes | Yes | Yes | Global | Yes | |
| mecab_charset | Yes | Global | No | |||
| mecab_rc_file | Yes | Yes | Yes | Global | No | |
| memlock | Yes | Yes | ||||
| -Variable: locked_in_memory | ||||||
| metadata_locks_cache_size | Yes | Yes | Yes | Global | No | |
| metadata_locks_hash_instances | Yes | Yes | Yes | Global | No | |
| min_examined_row_limit | Yes | Yes | Yes | Both | Yes | |
| myisam-block-size | Yes | Yes | ||||
| myisam_data_pointer_size | Yes | Yes | Yes | Global | Yes | |
| myisam_max_sort_file_size | Yes | Yes | Yes | Global | Yes | |
| myisam_mmap_size | Yes | Yes | Yes | Global | No | |
| myisam_recover_options | Yes | Yes | Yes | Global | No | |
| myisam_repair_threads | Yes | Yes | Yes | Both | Yes | |
| myisam_sort_buffer_size | Yes | Yes | Yes | Both | Yes | |
| myisam_stats_method | Yes | Yes | Yes | Both | Yes | |
| myisam_use_mmap | Yes | Yes | Yes | Global | Yes | |
| mysql_firewall_mode | Yes | Yes | Yes | Global | Yes | |
| mysql_firewall_trace | Yes | Yes | Yes | Global | Yes | |
| mysql_native_password_proxy_users | Yes | Yes | Yes | Global | Yes | |
| mysqlx | Yes | Yes | ||||
| Mysqlx_aborted_clients | Yes | Global | No | |||
| Mysqlx_address | Yes | Global | No | |||
| mysqlx_bind_address | Yes | Yes | Yes | Global | No | |
| Mysqlx_bytes_received | Yes | Both | No | |||
| Mysqlx_bytes_received_compressed_payload | Yes | Both | No | |||
| Mysqlx_bytes_received_uncompressed_frame | Yes | Both | No | |||
| Mysqlx_bytes_sent | Yes | Both | No | |||
| Mysqlx_bytes_sent_compressed_payload | Yes | Both | No | |||
| Mysqlx_bytes_sent_uncompressed_frame | Yes | Both | No | |||
| mysqlx_compression_algorithms | Yes | Yes | Yes | Global | Yes | |
| mysqlx_connect_timeout | Yes | Yes | Yes | Global | Yes | |
| Mysqlx_connection_accept_errors | Yes | Both | No | |||
| Mysqlx_connection_errors | Yes | Both | No | |||
| Mysqlx_connections_accepted | Yes | Global | No | |||
| Mysqlx_connections_closed | Yes | Global | No | |||
| Mysqlx_connections_rejected | Yes | Global | No | |||
| Mysqlx_crud_create_view | Yes | Both | No | |||
| Mysqlx_crud_delete | Yes | Both | No | |||
| Mysqlx_crud_drop_view | Yes | Both | No | |||
| Mysqlx_crud_find | Yes | Both | No | |||
| Mysqlx_crud_insert | Yes | Both | No | |||
| Mysqlx_crud_modify_view | Yes | Both | No | |||
| Mysqlx_crud_update | Yes | Both | No | |||
| Mysqlx_cursor_close | Yes | Both | No | |||
| Mysqlx_cursor_fetch | Yes | Both | No | |||
| Mysqlx_cursor_open | Yes | Both | No | |||
| mysqlx_document_id_unique_prefix | Yes | Yes | Yes | Global | Yes | |
| mysqlx_enable_hello_notice | Yes | Yes | Yes | Global | Yes | |
| Mysqlx_errors_sent | Yes | Both | No | |||
| Mysqlx_errors_unknown_message_type | Yes | Both | No | |||
| Mysqlx_expect_close | Yes | Both | No | |||
| Mysqlx_expect_open | Yes | Both | No | |||
| mysqlx_idle_worker_thread_timeout | Yes | Yes | Yes | Global | Yes | |
| Mysqlx_init_error | Yes | Both | No | |||
| mysqlx_interactive_timeout | Yes | Yes | Yes | Global | Yes | |
| mysqlx_max_allowed_packet | Yes | Yes | Yes | Global | Yes | |
| mysqlx_max_connections | Yes | Yes | Yes | Global | Yes | |
| mysqlx_min_worker_threads | Yes | Yes | Yes | Global | Yes | |
| Mysqlx_notice_global_sent | Yes | Both | No | |||
| Mysqlx_notice_other_sent | Yes | Both | No | |||
| Mysqlx_notice_warning_sent | Yes | Both | No | |||
| Mysqlx_notified_by_group_replication | Yes | Both | No | |||
| Mysqlx_port | Yes | Global | No | |||
| mysqlx_port | Yes | Yes | Yes | Global | No | |
| mysqlx_port_open_timeout | Yes | Yes | Yes | Global | No | |
| Mysqlx_prep_deallocate | Yes | Both | No | |||
| Mysqlx_prep_execute | Yes | Both | No | |||
| Mysqlx_prep_prepare | Yes | Both | No | |||
| mysqlx_read_timeout | Yes | Yes | Yes | Session | Yes | |
| Mysqlx_rows_sent | Yes | Both | No | |||
| Mysqlx_sessions | Yes | Global | No | |||
| Mysqlx_sessions_accepted | Yes | Global | No | |||
| Mysqlx_sessions_closed | Yes | Global | No | |||
| Mysqlx_sessions_fatal_error | Yes | Global | No | |||
| Mysqlx_sessions_killed | Yes | Global | No | |||
| Mysqlx_sessions_rejected | Yes | Global | No | |||
| Mysqlx_socket | Yes | Global | No | |||
| mysqlx_socket | Yes | Yes | Yes | Global | No | |
| Mysqlx_ssl_accept_renegotiates | Yes | Global | No | |||
| Mysqlx_ssl_accepts | Yes | Global | No | |||
| Mysqlx_ssl_active | Yes | Both | No | |||
| mysqlx_ssl_c | Yes | Yes | Yes | Global | No | |
| mysqlx_ssl_capath | Yes | Yes | Yes | Global | No | |
| mysqlx_ssl_cert | Yes | Yes | Yes | Global | No | |
| Mysqlx_ssl_cipher | Yes | Both | No | |||
| mysqlx_ssl_cipher | Yes | Yes | Yes | Global | No | |
| Mysqlx_ssl_cipher_list | Yes | Both | No | |||
| mysqlx_ssl_crl | Yes | Yes | Yes | Global | No | |
| mysqlx_ssl_crlpath | Yes | Yes | Yes | Global | No | |
| Mysqlx_ssl_ctx_verify_depth | Yes | Both | No | |||
| Mysqlx_ssl_ctx_verify_mode | Yes | Both | No | |||
| Mysqlx_ssl_finished_accepts | Yes | Global | No | |||
| mysqlx_ssl_key | Yes | Yes | Yes | Global | No | |
| Mysqlx_ssl_server_not_after | Yes | Global | No | |||
| Mysqlx_ssl_server_not_before | Yes | Global | No | |||
| Mysqlx_ssl_verify_depth | Yes | Global | No | |||
| Mysqlx_ssl_verify_mode | Yes | Global | No | |||
| Mysqlx_ssl_version | Yes | Both | No | |||
| Mysqlx_stmt_create_collection | Yes | Both | No | |||
| Mysqlx_stmt_create_collection_index | Yes | Both | No | |||
| Mysqlx_stmt_disable_notices | Yes | Both | No | |||
| Mysqlx_stmt_drop_collection | Yes | Both | No | |||
| Mysqlx_stmt_drop_collection_index | Yes | Both | No | |||
| Mysqlx_stmt_enable_notices | Yes | Both | No | |||
| Mysqlx_stmt_ensure_collection | Yes | Both | No | |||
| Mysqlx_stmt_execute_mysqlx | Yes | Both | No | |||
| Mysqlx_stmt_execute_sql | Yes | Both | No | |||
| Mysqlx_stmt_execute_xplugin | Yes | Both | No | |||
| Mysqlx_stmt_get_collection_options | Yes | Both | No | |||
| Mysqlx_stmt_kill_client | Yes | Both | No | |||
| Mysqlx_stmt_list_clients | Yes | Both | No | |||
| Mysqlx_stmt_list_notices | Yes | Both | No | |||
| Mysqlx_stmt_list_objects | Yes | Both | No | |||
| Mysqlx_stmt_modify_collection_options | Yes | Both | No | |||
| Mysqlx_stmt_ping | Yes | Both | No | |||
| mysqlx_wait_timeout | Yes | Yes | Yes | Session | Yes | |
| Mysqlx_worker_threads | Yes | Global | No | |||
| Mysqlx_worker_threads_active | Yes | Global | No | |||
| mysqlx_write_timeout | Yes | Yes | Yes | Session | Yes | |
| named_pipe | Yes | Yes | Yes | Global | No | |
| named_pipe_full_access_group | Yes | Yes | Yes | Global | No | |
| ndb_allow_copying_alter_table | Yes | Yes | Yes | Both | Yes | |
| Ndb_api_bytes_received_count | Yes | Global | No | |||
| Ndb_api_bytes_received_count_session | Yes | Session | No | |||
| Ndb_api_bytes_received_count_slave | Yes | Global | No | |||
| Ndb_api_bytes_sent_count | Yes | Global | No | |||
| Ndb_api_bytes_sent_count_session | Yes | Session | No | |||
| Ndb_api_bytes_sent_count_slave | Yes | Global | No | |||
| Ndb_api_event_bytes_count | Yes | Global | No | |||
| Ndb_api_event_bytes_count_injector | Yes | Global | No | |||
| Ndb_api_event_data_count | Yes | Global | No | |||
| Ndb_api_event_data_count_injector | Yes | Global | No | |||
| Ndb_api_event_nondata_count | Yes | Global | No | |||
| Ndb_api_event_nondata_count_injector | Yes | Global | No | |||
| Ndb_api_pk_op_count | Yes | Global | No | |||
| Ndb_api_pk_op_count_session | Yes | Session | No | |||
| Ndb_api_pk_op_count_slave | Yes | Global | No | |||
| Ndb_api_pruned_scan_count | Yes | Global | No | |||
| Ndb_api_pruned_scan_count_session | Yes | Session | No | |||
| Ndb_api_pruned_scan_count_slave | Yes | Global | No | |||
| Ndb_api_range_scan_count | Yes | Global | No | |||
| Ndb_api_range_scan_count_session | Yes | Session | No | |||
| Ndb_api_range_scan_count_slave | Yes | Global | No | |||
| Ndb_api_read_row_count | Yes | Global | No | |||
| Ndb_api_read_row_count_session | Yes | Session | No | |||
| Ndb_api_read_row_count_slave | Yes | Global | No | |||
| Ndb_api_scan_batch_count | Yes | Global | No | |||
| Ndb_api_scan_batch_count_session | Yes | Session | No | |||
| Ndb_api_scan_batch_count_slave | Yes | Global | No | |||
| Ndb_api_table_scan_count | Yes | Global | No | |||
| Ndb_api_table_scan_count_session | Yes | Session | No | |||
| Ndb_api_table_scan_count_slave | Yes | Global | No | |||
| Ndb_api_trans_abort_count | Yes | Global | No | |||
| Ndb_api_trans_abort_count_session | Yes | Session | No | |||
| Ndb_api_trans_abort_count_slave | Yes | Global | No | |||
| Ndb_api_trans_close_count | Yes | Global | No | |||
| Ndb_api_trans_close_count_session | Yes | Session | No | |||
| Ndb_api_trans_close_count_slave | Yes | Global | No | |||
| Ndb_api_trans_commit_count | Yes | Global | No | |||
| Ndb_api_trans_commit_count_session | Yes | Session | No | |||
| Ndb_api_trans_commit_count_slave | Yes | Global | No | |||
| Ndb_api_trans_local_read_row_count | Yes | Global | No | |||
| Ndb_api_trans_local_read_row_count_session | Yes | Session | No | |||
| Ndb_api_trans_local_read_row_count_slave | Yes | Global | No | |||
| Ndb_api_trans_start_count | Yes | Global | No | |||
| Ndb_api_trans_start_count_session | Yes | Session | No | |||
| Ndb_api_trans_start_count_slave | Yes | Global | No | |||
| Ndb_api_uk_op_count | Yes | Global | No | |||
| Ndb_api_uk_op_count_session | Yes | Session | No | |||
| Ndb_api_uk_op_count_slave | Yes | Global | No | |||
| Ndb_api_wait_exec_complete_count | Yes | Global | No | |||
| Ndb_api_wait_exec_complete_count_session | Yes | Session | No | |||
| Ndb_api_wait_exec_complete_count_slave | Yes | Global | No | |||
| Ndb_api_wait_meta_request_count | Yes | Global | No | |||
| Ndb_api_wait_meta_request_count_session | Yes | Session | No | |||
| Ndb_api_wait_meta_request_count_slave | Yes | Global | No | |||
| Ndb_api_wait_nanos_count | Yes | Global | No | |||
| Ndb_api_wait_nanos_count_session | Yes | Session | No | |||
| Ndb_api_wait_nanos_count_slave | Yes | Global | No | |||
| Ndb_api_wait_scan_result_count | Yes | Global | No | |||
| Ndb_api_wait_scan_result_count_session | Yes | Session | No | |||
| Ndb_api_wait_scan_result_count_slave | Yes | Global | No | |||
| ndb_autoincrement_prefetch_sz | Yes | Yes | Yes | Both | Yes | |
| ndb_batch_size | Yes | Yes | Yes | Global | No | |
| ndb_blob_read_batch_bytes | Yes | Yes | Yes | Both | Yes | |
| ndb_blob_write_batch_bytes | Yes | Yes | Yes | Both | Yes | |
| ndb_cache_check_time | Yes | Yes | Yes | Global | Yes | |
| ndb_clear_apply_status | Yes | Yes | Global | Yes | ||
| ndb_cluster_connection_pool | Yes | Yes | Yes | Global | No | |
| ndb_cluster_connection_pool_nodeids | Yes | Yes | Yes | Global | No | |
| Ndb_cluster_node_id | Yes | Global | No | |||
| Ndb_config_from_host | Yes | Both | No | |||
| Ndb_config_from_port | Yes | Both | No | |||
| Ndb_conflict_fn_epoch | Yes | Global | No | |||
| Ndb_conflict_fn_epoch_trans | Yes | Global | No | |||
| Ndb_conflict_fn_epoch2 | Yes | Global | No | |||
| Ndb_conflict_fn_epoch2_trans | Yes | Global | No | |||
| Ndb_conflict_fn_max | Yes | Global | No | |||
| Ndb_conflict_fn_old | Yes | Global | No | |||
| Ndb_conflict_last_conflict_epoch | Yes | Global | No | |||
| Ndb_conflict_last_stable_epoch | Yes | Global | No | |||
| Ndb_conflict_reflected_op_discard_count | Yes | Global | No | |||
| Ndb_conflict_reflected_op_prepare_count | Yes | Global | No | |||
| Ndb_conflict_refresh_op_count | Yes | Global | No | |||
| Ndb_conflict_trans_conflict_commit_count | Yes | Global | No | |||
| Ndb_conflict_trans_detect_iter_count | Yes | Global | No | |||
| Ndb_conflict_trans_reject_count | Yes | Global | No | |||
| Ndb_conflict_trans_row_conflict_count | Yes | Global | No | |||
| Ndb_conflict_trans_row_reject_count | Yes | Global | No | |||
| ndb-connectstring | Yes | Yes | ||||
| ndb_data_node_neighbour | Yes | Yes | Yes | Global | Yes | |
| ndb_dbg_check_shares | Yes | Yes | Yes | Both | Yes | |
| ndb_default_column_format | Yes | Yes | Yes | Global | Yes | |
| ndb_default_column_format | Yes | Yes | Yes | Global | Yes | |
| ndb_deferred_constraints | Yes | Yes | Yes | Both | Yes | |
| ndb_deferred_constraints | Yes | Yes | Yes | Both | Yes | |
| ndb_distribution | Yes | Yes | Yes | Global | Yes | |
| ndb_distribution | Yes | Yes | Yes | Global | Yes | |
| Ndb_epoch_delete_delete_count | Yes | Global | No | |||
| ndb_eventbuffer_free_percent | Yes | Yes | Yes | Global | Yes | |
| ndb_eventbuffer_max_alloc | Yes | Yes | Yes | Global | Yes | |
| Ndb_execute_count | Yes | Global | No | |||
| ndb_extra_logging | Yes | Yes | Yes | Global | Yes | |
| ndb_force_send | Yes | Yes | Yes | Both | Yes | |
| ndb_fully_replicated | Yes | Yes | Yes | Both | Yes | |
| ndb_index_stat_enable | Yes | Yes | Yes | Both | Yes | |
| ndb_index_stat_option | Yes | Yes | Yes | Both | Yes | |
| ndb_join_pushdown | Yes | Both | Yes | |||
| Ndb_last_commit_epoch_server | Yes | Global | No | |||
| Ndb_last_commit_epoch_session | Yes | Session | No | |||
| ndb_log_apply_status | Yes | Yes | Yes | Global | No | |
| ndb_log_apply_status | Yes | Yes | Yes | Global | No | |
| ndb_log_bin | Yes | Yes | Both | Yes | ||
| ndb_log_binlog_index | Yes | Yes | Global | Yes | ||
| ndb_log_empty_epochs | Yes | Yes | Yes | Global | Yes | |
| ndb_log_empty_epochs | Yes | Yes | Yes | Global | Yes | |
| ndb_log_empty_update | Yes | Yes | Yes | Global | Yes | |
| ndb_log_empty_update | Yes | Yes | Yes | Global | Yes | |
| ndb_log_exclusive_reads | Yes | Yes | Yes | Both | Yes | |
| ndb_log_exclusive_reads | Yes | Yes | Yes | Both | Yes | |
| ndb_log_orig | Yes | Yes | Yes | Global | No | |
| ndb_log_orig | Yes | Yes | Yes | Global | No | |
| ndb_log_transaction_id | Yes | Yes | Yes | Global | No | |
| ndb_log_transaction_id | Yes | Global | No | |||
| ndb_log_update_as_write | Yes | Yes | Yes | Global | Yes | |
| ndb_log_update_minimal | Yes | Yes | Yes | Global | Yes | |
| ndb_log_updated_only | Yes | Yes | Yes | Global | Yes | |
| Ndb_metadata_blacklist_size | Yes | Global | No | |||
| ndb_metadata_check | Yes | Yes | Yes | Global | Yes | |
| ndb_metadata_check_interval | Yes | Yes | Yes | Global | Yes | |
| Ndb_metadata_detected_count | Yes | Global | No | |||
| ndb_metadata_sync | Yes | Global | Yes | |||
| Ndb_metadata_synced_count | Yes | Global | No | |||
| ndb-mgmd-host | Yes | Yes | ||||
| ndb_nodeid | Yes | Yes | Yes | Global | No | |
| Ndb_number_of_data_nodes | Yes | Global | No | |||
| ndb_optimization_delay | Yes | Yes | Yes | Global | Yes | |
| ndb_optimized_node_selection | Yes | Yes | Yes | Global | No | |
| Ndb_pruned_scan_count | Yes | Global | No | |||
| Ndb_pushed_queries_defined | Yes | Global | No | |||
| Ndb_pushed_queries_dropped | Yes | Global | No | |||
| Ndb_pushed_queries_executed | Yes | Global | No | |||
| Ndb_pushed_reads | Yes | Global | No | |||
| ndb_read_backup | Yes | Yes | Yes | Global | Yes | |
| ndb_recv_thread_activation_threshold | Yes | Yes | Yes | Global | Yes | |
| ndb_recv_thread_cpu_mask | Yes | Yes | Yes | Global | Yes | |
| ndb_report_thresh_binlog_epoch_slip | Yes | Yes | Yes | Global | Yes | |
| ndb_report_thresh_binlog_mem_usage | Yes | Yes | Yes | Global | Yes | |
| ndb_row_checksum | Yes | Both | Yes | |||
| Ndb_scan_count | Yes | Global | No | |||
| ndb_schema_dist_lock_wait_timeout | Yes | Yes | Yes | Global | Yes | |
| ndb_schema_dist_timeout | Yes | Yes | Yes | Global | No | |
| ndb_schema_dist_timeout | Yes | Yes | Yes | Global | No | |
| ndb_schema_dist_upgrade_allowed | Yes | Yes | Yes | Global | No | |
| ndb_show_foreign_key_mock_tables | Yes | Yes | Yes | Global | Yes | |
| ndb_slave_conflict_role | Yes | Yes | Yes | Global | Yes | |
| Ndb_slave_max_replicated_epoch | Yes | Global | No | |||
| Ndb_system_name | Yes | Global | No | |||
| ndb_table_no_logging | Yes | Session | Yes | |||
| ndb_table_temporary | Yes | Session | Yes | |||
| Ndb_trans_hint_count_session | Yes | Both | No | |||
| ndb-transid-mysql-connection-map | Yes | |||||
| ndb_use_copying_alter_table | Yes | Both | No | |||
| ndb_use_exact_count | Yes | Both | Yes | |||
| ndb_use_transactions | Yes | Yes | Yes | Both | Yes | |
| ndb_version | Yes | Global | No | |||
| ndb_version_string | Yes | Global | No | |||
| ndb_wait_connected | Yes | Yes | Yes | Global | No | |
| ndb_wait_setup | Yes | Yes | Yes | Global | No | |
| ndbcluster | Yes | Yes | ||||
| ndbinfo | Yes | |||||
| ndbinfo_database | Yes | Global | No | |||
| ndbinfo_max_bytes | Yes | Yes | Both | Yes | ||
| ndbinfo_max_rows | Yes | Yes | Both | Yes | ||
| ndbinfo_offline | Yes | Global | Yes | |||
| ndbinfo_show_hidden | Yes | Yes | Both | Yes | ||
| ndbinfo_table_prefix | Yes | Yes | Both | Yes | ||
| ndbinfo_version | Yes | Global | No | |||
| net_buffer_length | Yes | Yes | Yes | Both | Yes | |
| net_read_timeout | Yes | Yes | Yes | Both | Yes | |
| net_retry_count | Yes | Yes | Yes | Both | Yes | |
| net_write_timeout | Yes | Yes | Yes | Both | Yes | |
| new | Yes | Yes | Yes | Both | Yes | |
| ngram_token_size | Yes | Yes | Yes | Global | No | |
| no-dd-upgrade | Yes | Yes | ||||
| no-defaults | Yes | |||||
| no-monitor | Yes | Yes | ||||
| Not_flushed_delayed_rows | Yes | Global | No | |||
| offline_mode | Yes | Yes | Yes | Global | Yes | |
| old | Yes | Yes | Yes | Global | No | |
| old_alter_table | Yes | Yes | Yes | Both | Yes | |
| old-style-user-limits | Yes | Yes | ||||
| Ongoing_anonymous_gtid_violating_transaction_count | Yes | Global | No | |||
| Ongoing_anonymous_transaction_count | Yes | Global | No | |||
| Ongoing_automatic_gtid_violating_transaction_count | Yes | Global | No | |||
| Open_files | Yes | Global | No | |||
| open_files_limit | Yes | Yes | Yes | Global | No | |
| Open_streams | Yes | Global | No | |||
| Open_table_definitions | Yes | Global | No | |||
| Open_tables | Yes | Both | No | |||
| Opened_files | Yes | Global | No | |||
| Opened_table_definitions | Yes | Both | No | |||
| Opened_tables | Yes | Both | No | |||
| optimizer_prune_level | Yes | Yes | Yes | Both | Yes | |
| optimizer_search_depth | Yes | Yes | Yes | Both | Yes | |
| optimizer_switch | Yes | Yes | Yes | Both | Yes | |
| optimizer_trace | Yes | Yes | Yes | Both | Yes | |
| optimizer_trace_features | Yes | Yes | Yes | Both | Yes | |
| optimizer_trace_limit | Yes | Yes | Yes | Both | Yes | |
| optimizer_trace_max_mem_size | Yes | Yes | Yes | Both | Yes | |
| optimizer_trace_offset | Yes | Yes | Yes | Both | Yes | |
| original_commit_timestamp | Yes | Session | Yes | |||
| original_server_version | Yes | Session | Yes | |||
| parser_max_mem_size | Yes | Yes | Yes | Both | Yes | |
| partial_revokes | Yes | Yes | Yes | Global | Yes | |
| password_history | Yes | Yes | Yes | Global | Yes | |
| password_require_current | Yes | Yes | Yes | Global | Yes | |
| password_reuse_interval | Yes | Yes | Yes | Global | Yes | |
| performance_schem | Yes | Yes | Yes | Global | No | |
| Performance_schema_accounts_lost | Yes | Global | No | |||
| performance_schema_accounts_size | Yes | Yes | Yes | Global | No | |
| Performance_schema_cond_classes_lost | Yes | Global | No | |||
| Performance_schema_cond_instances_lost | Yes | Global | No | |||
| performance-schema-consumer-events-stages-current | Yes | Yes | ||||
| performance-schema-consumer-events-stages-history | Yes | Yes | ||||
| performance-schema-consumer-events-stages-history-long | Yes | Yes | ||||
| performance-schema-consumer-events-statements-current | Yes | Yes | ||||
| performance-schema-consumer-events-statements-history | Yes | Yes | ||||
| performance-schema-consumer-events-statements-history-long | Yes | Yes | ||||
| performance-schema-consumer-events-transactions-current | Yes | Yes | ||||
| performance-schema-consumer-events-transactions-history | Yes | Yes | ||||
| performance-schema-consumer-events-transactions-history-long | Yes | Yes | ||||
| performance-schema-consumer-events-waits-current | Yes | Yes | ||||
| performance-schema-consumer-events-waits-history | Yes | Yes | ||||
| performance-schema-consumer-events-waits-history-long | Yes | Yes | ||||
| performance-schema-consumer-global-instrumentation | Yes | Yes | ||||
| performance-schema-consumer-statements-digest | Yes | Yes | ||||
| performance-schema-consumer-thread-instrumentation | Yes | Yes | ||||
| Performance_schema_digest_lost | Yes | Global | No | |||
| performance_schema_digests_size | Yes | Yes | Yes | Global | No | |
| performance_schema_error_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_stages_history_long_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_stages_history_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_statements_history_long_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_statements_history_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_transactions_history_long_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_transactions_history_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_waits_history_long_size | Yes | Yes | Yes | Global | No | |
| performance_schema_events_waits_history_size | Yes | Yes | Yes | Global | No | |
| Performance_schema_file_classes_lost | Yes | Global | No | |||
| Performance_schema_file_handles_lost | Yes | Global | No | |||
| Performance_schema_file_instances_lost | Yes | Global | No | |||
| Performance_schema_hosts_lost | Yes | Global | No | |||
| performance_schema_hosts_size | Yes | Yes | Yes | Global | No | |
| Performance_schema_index_stat_lost | Yes | Global | No | |||
| performance-schema-instrument | Yes | Yes | ||||
| Performance_schema_locker_lost | Yes | Global | No | |||
| performance_schema_max_cond_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_cond_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_digest_length | Yes | Yes | Yes | Global | No | |
| performance_schema_max_digest_sample_age | Yes | Yes | Yes | Global | Yes | |
| performance_schema_max_file_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_file_handles | Yes | Yes | Yes | Global | No | |
| performance_schema_max_file_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_index_stat | Yes | Yes | Yes | Global | No | |
| performance_schema_max_memory_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_metadata_locks | Yes | Yes | Yes | Global | No | |
| performance_schema_max_mutex_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_mutex_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_prepared_statements_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_program_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_rwlock_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_rwlock_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_socket_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_socket_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_sql_text_length | Yes | Yes | Yes | Global | No | |
| performance_schema_max_stage_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_statement_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_statement_stack | Yes | Yes | Yes | Global | No | |
| performance_schema_max_table_handles | Yes | Yes | Yes | Global | No | |
| performance_schema_max_table_instances | Yes | Yes | Yes | Global | No | |
| performance_schema_max_table_lock_stat | Yes | Yes | Yes | Global | No | |
| performance_schema_max_thread_classes | Yes | Yes | Yes | Global | No | |
| performance_schema_max_thread_instances | Yes | Yes | Yes | Global | No | |
| Performance_schema_memory_classes_lost | Yes | Global | No | |||
| Performance_schema_metadata_lock_lost | Yes | Global | No | |||
| Performance_schema_mutex_classes_lost | Yes | Global | No | |||
| Performance_schema_mutex_instances_lost | Yes | Global | No | |||
| Performance_schema_nested_statement_lost | Yes | Global | No | |||
| Performance_schema_prepared_statements_lost | Yes | Global | No | |||
| Performance_schema_program_lost | Yes | Global | No | |||
| Performance_schema_rwlock_classes_lost | Yes | Global | No | |||
| Performance_schema_rwlock_instances_lost | Yes | Global | No | |||
| Performance_schema_session_connect_attrs_longest_seen | Yes | Global | No | |||
| Performance_schema_session_connect_attrs_lost | Yes | Global | No | |||
| performance_schema_session_connect_attrs_size | Yes | Yes | Yes | Global | No | |
| performance_schema_setup_actors_size | Yes | Yes | Yes | Global | No | |
| performance_schema_setup_objects_size | Yes | Yes | Yes | Global | No | |
| Performance_schema_socket_classes_lost | Yes | Global | No | |||
| Performance_schema_socket_instances_lost | Yes | Global | No | |||
| Performance_schema_stage_classes_lost | Yes | Global | No | |||
| Performance_schema_statement_classes_lost | Yes | Global | No | |||
| Performance_schema_table_handles_lost | Yes | Global | No | |||
| Performance_schema_table_instances_lost | Yes | Global | No | |||
| Performance_schema_table_lock_stat_lost | Yes | Global | No | |||
| Performance_schema_thread_classes_lost | Yes | Global | No | |||
| Performance_schema_thread_instances_lost | Yes | Global | No | |||
| Performance_schema_users_lost | Yes | Global | No | |||
| performance_schema_users_size | Yes | Yes | Yes | Global | No | |
| persist_only_admin_x509_subject | Yes | Yes | Yes | Global | No | |
| persisted_globals_load | Yes | Yes | Yes | Global | No | |
| pid_file | Yes | Yes | Yes | Global | No | |
| plugin_dir | Yes | Yes | Yes | Global | No | |
| plugin_load | Yes | Yes | Yes | Global | No | |
| plugin_load_add | Yes | Yes | Yes | Global | No | |
| plugin-xxx | Yes | Yes | ||||
| port | Yes | Yes | Yes | Global | No | |
| port-open-timeout | Yes | Yes | ||||
| preload_buffer_size | Yes | Yes | Yes | Both | Yes | |
| Prepared_stmt_count | Yes | Global | No | |||
| print-defaults | Yes | |||||
| print_identified_with_as_hex | Yes | Yes | Yes | Both | Yes | |
| profiling | Yes | Both | Yes | |||
| profiling_history_size | Yes | Yes | Yes | Both | Yes | |
| protocol_compression_algorithms | Yes | Yes | Yes | Global | Yes | |
| protocol_version | Yes | Global | No | |||
| proxy_user | Yes | Session | No | |||
| pseudo_slave_mode | Yes | Session | Yes | |||
| pseudo_thread_id | Yes | Session | Yes | |||
| Queries | Yes | Both | No | |||
| query_alloc_block_size | Yes | Yes | Yes | Both | Yes | |
| query_prealloc_size | Yes | Yes | Yes | Both | Yes | |
| Questions | Yes | Both | No | |||
| rand_seed1 | Yes | Session | Yes | |||
| rand_seed2 | Yes | Session | Yes | |||
| range_alloc_block_size | Yes | Yes | Yes | Both | Yes | |
| range_optimizer_max_mem_size | Yes | Yes | Yes | Both | Yes | |
| rbr_exec_mode | Yes | Both | Yes | |||
| read_buffer_size | Yes | Yes | Yes | Both | Yes | |
| read_only | Yes | Yes | Yes | Global | Yes | |
| read_rnd_buffer_size | Yes | Yes | Yes | Both | Yes | |
| regexp_stack_limit | Yes | Yes | Yes | Global | Yes | |
| regexp_time_limit | Yes | Yes | Yes | Global | Yes | |
| relay_log | Yes | Yes | Yes | Global | No | |
| relay_log_basename | Yes | Global | No | |||
| relay_log_index | Yes | Yes | Yes | Global | No | |
| relay_log_info_file | Yes | Yes | Yes | Global | No | |
| relay_log_info_repository | Yes | Yes | Yes | Global | Yes | |
| relay_log_purge | Yes | Yes | Yes | Global | Yes | |
| relay_log_recovery | Yes | Yes | Yes | Global | No | |
| relay_log_space_limit | Yes | Yes | Yes | Global | No | |
| remove | Yes | |||||
| replicate-do-db | Yes | Yes | ||||
| replicate-do-table | Yes | Yes | ||||
| replicate-ignore-db | Yes | Yes | ||||
| replicate-ignore-table | Yes | Yes | ||||
| replicate-rewrite-db | Yes | Yes | ||||
| replicate-same-server-id | Yes | Yes | ||||
| replicate-wild-do-table | Yes | Yes | ||||
| replicate-wild-ignore-table | Yes | Yes | ||||
| report_host | Yes | Yes | Yes | Global | No | |
| report_password | Yes | Yes | Yes | Global | No | |
| report_port | Yes | Yes | Yes | Global | No | |
| report_user | Yes | Yes | Yes | Global | No | |
| require_row_format | Yes | Session | Yes | |||
| require_secure_transport | Yes | Yes | Yes | Global | Yes | |
| resultset_metadat | Yes | Session | Yes | |||
| rewriter_enabled | Yes | Global | Yes | |||
| Rewriter_number_loaded_rules | Yes | Global | No | |||
| Rewriter_number_reloads | Yes | Global | No | |||
| Rewriter_number_rewritten_queries | Yes | Global | No | |||
| Rewriter_reload_error | Yes | Global | No | |||
| rewriter_verbose | Yes | Global | Yes | |||
| rpl_read_size | Yes | Yes | Yes | Global | Yes | |
| Rpl_semi_sync_master_clients | Yes | Global | No | |||
| rpl_semi_sync_master_enabled | Yes | Yes | Yes | Global | Yes | |
| Rpl_semi_sync_master_net_avg_wait_time | Yes | Global | No | |||
| Rpl_semi_sync_master_net_wait_time | Yes | Global | No | |||
| Rpl_semi_sync_master_net_waits | Yes | Global | No | |||
| Rpl_semi_sync_master_no_times | Yes | Global | No | |||
| Rpl_semi_sync_master_no_tx | Yes | Global | No | |||
| Rpl_semi_sync_master_status | Yes | Global | No | |||
| Rpl_semi_sync_master_timefunc_failures | Yes | Global | No | |||
| rpl_semi_sync_master_timeout | Yes | Yes | Yes | Global | Yes | |
| rpl_semi_sync_master_trace_level | Yes | Yes | Yes | Global | Yes | |
| Rpl_semi_sync_master_tx_avg_wait_time | Yes | Global | No | |||
| Rpl_semi_sync_master_tx_wait_time | Yes | Global | No | |||
| Rpl_semi_sync_master_tx_waits | Yes | Global | No | |||
| rpl_semi_sync_master_wait_for_slave_count | Yes | Yes | Yes | Global | Yes | |
| rpl_semi_sync_master_wait_no_slave | Yes | Yes | Yes | Global | Yes | |
| rpl_semi_sync_master_wait_point | Yes | Yes | Yes | Global | Yes | |
| Rpl_semi_sync_master_wait_pos_backtraverse | Yes | Global | No | |||
| Rpl_semi_sync_master_wait_sessions | Yes | Global | No | |||
| Rpl_semi_sync_master_yes_tx | Yes | Global | No | |||
| rpl_semi_sync_slave_enabled | Yes | Yes | Yes | Global | Yes | |
| Rpl_semi_sync_slave_status | Yes | Global | No | |||
| rpl_semi_sync_slave_trace_level | Yes | Yes | Yes | Global | Yes | |
| rpl_stop_slave_timeout | Yes | Yes | Yes | Global | Yes | |
| Rsa_public_key | Yes | Global | No | |||
| safe-user-create | Yes | Yes | ||||
| schema_definition_cache | Yes | Yes | Yes | Global | Yes | |
| secondary_engine_cost_threshold | Yes | Session | Yes | |||
| Secondary_engine_execution_count | Yes | Both | No | |||
| secure_file_priv | Yes | Yes | Yes | Global | No | |
| Select_full_join | Yes | Both | No | |||
| Select_full_range_join | Yes | Both | No | |||
| Select_range | Yes | Both | No | |||
| Select_range_check | Yes | Both | No | |||
| Select_scan | Yes | Both | No | |||
| server_id | Yes | Yes | Yes | Global | Yes | |
| server_id_bits | Yes | Yes | Yes | Global | No | |
| server_uuid | Yes | Global | No | |||
| session_track_gtids | Yes | Yes | Yes | Both | Yes | |
| session_track_schem | Yes | Yes | Yes | Both | Yes | |
| session_track_state_change | Yes | Yes | Yes | Both | Yes | |
| session_track_system_variables | Yes | Yes | Yes | Both | Yes | |
| session_track_transaction_info | Yes | Yes | Yes | Both | Yes | |
| sha256_password_auto_generate_rsa_keys | Yes | Yes | Yes | Global | No | |
| sha256_password_private_key_path | Yes | Yes | Yes | Global | No | |
| sha256_password_proxy_users | Yes | Yes | Yes | Global | Yes | |
| sha256_password_public_key_path | Yes | Yes | Yes | Global | No | |
| shared_memory | Yes | Yes | Yes | Global | No | |
| shared_memory_base_name | Yes | Yes | Yes | Global | No | |
| show_create_table_skip_secondary_engine | Yes | Yes | Yes | Session | Yes | |
| show_create_table_verbosity | Yes | Yes | Yes | Both | Yes | |
| show_old_temporals | Yes | Yes | Yes | Both | Yes | |
| show-slave-auth-info | Yes | Yes | ||||
| skip-character-set-client-handshake | Yes | Yes | ||||
| skip_external_locking | Yes | Yes | Yes | Global | No | |
| skip-grant-tables | Yes | Yes | ||||
| skip-host-cache | Yes | Yes | ||||
| skip_name_resolve | Yes | Yes | Yes | Global | No | |
| skip-ndbcluster | Yes | Yes | ||||
| skip_networking | Yes | Yes | Yes | Global | No | |
| skip-new | Yes | Yes | ||||
| skip_show_database | Yes | Yes | Yes | Global | No | |
| skip-slave-start | Yes | Yes | ||||
| skip-ssl | Yes | Yes | ||||
| skip-stack-trace | Yes | Yes | ||||
| slave_allow_batching | Yes | Yes | Yes | Global | Yes | |
| slave_checkpoint_group | Yes | Yes | Yes | Global | Yes | |
| slave_checkpoint_period | Yes | Yes | Yes | Global | Yes | |
| slave_compressed_protocol | Yes | Yes | Yes | Global | Yes | |
| slave_exec_mode | Yes | Yes | Yes | Global | Yes | |
| slave_load_tmpdir | Yes | Yes | Yes | Global | No | |
| slave_max_allowed_packet | Yes | Yes | Yes | Global | Yes | |
| slave_net_timeout | Yes | Yes | Yes | Global | Yes | |
| Slave_open_temp_tables | Yes | Global | No | |||
| slave_parallel_type | Yes | Yes | Yes | Global | Yes | |
| slave_parallel_workers | Yes | Yes | Yes | Global | Yes | |
| slave_pending_jobs_size_max | Yes | Yes | Yes | Global | Yes | |
| slave_preserve_commit_order | Yes | Yes | Yes | Global | Yes | |
| Slave_rows_last_search_algorithm_used | Yes | Global | No | |||
| slave_rows_search_algorithms | Yes | Yes | Yes | Global | Yes | |
| slave_skip_errors | Yes | Yes | Yes | Global | No | |
| slave-sql-verify-checksum | Yes | Yes | ||||
| slave_sql_verify_checksum | Yes | Yes | Yes | Global | Yes | |
| slave_transaction_retries | Yes | Yes | Yes | Global | Yes | |
| slave_type_conversions | Yes | Yes | Yes | Global | No | |
| Slow_launch_threads | Yes | Both | No | |||
| slow_launch_time | Yes | Yes | Yes | Global | Yes | |
| Slow_queries | Yes | Both | No | |||
| slow_query_log | Yes | Yes | Yes | Global | Yes | |
| slow_query_log_file | Yes | Yes | Yes | Global | Yes | |
| slow-start-timeout | Yes | Yes | ||||
| socket | Yes | Yes | Yes | Global | No | |
| sort_buffer_size | Yes | Yes | Yes | Both | Yes | |
| Sort_merge_passes | Yes | Both | No | |||
| Sort_range | Yes | Both | No | |||
| Sort_rows | Yes | Both | No | |||
| Sort_scan | Yes | Both | No | |||
| sporadic-binlog-dump-fail | Yes | Yes | ||||
| sql_auto_is_null | Yes | Both | Yes | |||
| sql_big_selects | Yes | Both | Yes | |||
| sql_buffer_result | Yes | Both | Yes | |||
| sql_log_bin | Yes | Session | Yes | |||
| sql_log_off | Yes | Both | Yes | |||
| sql_mode | Yes | Yes | Yes | Both | Yes | |
| sql_notes | Yes | Both | Yes | |||
| sql_quote_show_create | Yes | Both | Yes | |||
| sql_require_primary_key | Yes | Yes | Yes | Both | Yes | |
| sql_safe_updates | Yes | Both | Yes | |||
| sql_select_limit | Yes | Both | Yes | |||
| sql_slave_skip_counter | Yes | Global | Yes | |||
| sql_warnings | Yes | Both | Yes | |||
| ssl | Yes | Yes | ||||
| Ssl_accept_renegotiates | Yes | Global | No | |||
| Ssl_accepts | Yes | Global | No | |||
| ssl_c | Yes | Yes | Yes | Global | Varies | |
| Ssl_callback_cache_hits | Yes | Global | No | |||
| ssl_capath | Yes | Yes | Yes | Global | Varies | |
| ssl_cert | Yes | Yes | Yes | Global | Varies | |
| Ssl_cipher | Yes | Both | No | |||
| ssl_cipher | Yes | Yes | Yes | Global | Varies | |
| Ssl_cipher_list | Yes | Both | No | |||
| Ssl_client_connects | Yes | Global | No | |||
| Ssl_connect_renegotiates | Yes | Global | No | |||
| ssl_crl | Yes | Yes | Yes | Global | Varies | |
| ssl_crlpath | Yes | Yes | Yes | Global | Varies | |
| Ssl_ctx_verify_depth | Yes | Global | No | |||
| Ssl_ctx_verify_mode | Yes | Global | No | |||
| Ssl_default_timeout | Yes | Both | No | |||
| Ssl_finished_accepts | Yes | Global | No | |||
| Ssl_finished_connects | Yes | Global | No | |||
| ssl_fips_mode | Yes | Yes | Yes | Global | Yes | |
| ssl_key | Yes | Yes | Yes | Global | Varies | |
| Ssl_server_not_after | Yes | Both | No | |||
| Ssl_server_not_before | Yes | Both | No | |||
| Ssl_session_cache_hits | Yes | Global | No | |||
| Ssl_session_cache_misses | Yes | Global | No | |||
| Ssl_session_cache_mode | Yes | Global | No | |||
| Ssl_session_cache_overflows | Yes | Global | No | |||
| Ssl_session_cache_size | Yes | Global | No | |||
| Ssl_session_cache_timeouts | Yes | Global | No | |||
| Ssl_sessions_reused | Yes | Both | No | |||
| Ssl_used_session_cache_entries | Yes | Global | No | |||
| Ssl_verify_depth | Yes | Both | No | |||
| Ssl_verify_mode | Yes | Both | No | |||
| Ssl_version | Yes | Both | No | |||
| standalone | Yes | Yes | ||||
| stored_program_cache | Yes | Yes | Yes | Global | Yes | |
| stored_program_definition_cache | Yes | Yes | Yes | Global | Yes | |
| super-large-pages | Yes | Yes | ||||
| super_read_only | Yes | Yes | Yes | Global | Yes | |
| symbolic-links | Yes | Yes | ||||
| sync_binlog | Yes | Yes | Yes | Global | Yes | |
| sync_master_info | Yes | Yes | Yes | Global | Yes | |
| sync_relay_log | Yes | Yes | Yes | Global | Yes | |
| sync_relay_log_info | Yes | Yes | Yes | Global | Yes | |
| sysdate-is-now | Yes | Yes | ||||
| syseventlog.facility | Yes | Yes | Yes | Global | Yes | |
| syseventlog.include_pid | Yes | Yes | Yes | Global | Yes | |
| syseventlog.tag | Yes | Yes | Yes | Global | Yes | |
| system_time_zone | Yes | Global | No | |||
| table_definition_cache | Yes | Yes | Yes | Global | Yes | |
| table_encryption_privilege_check | Yes | Yes | Yes | Global | Yes | |
| Table_locks_immediate | Yes | Global | No | |||
| Table_locks_waited | Yes | Global | No | |||
| table_open_cache | Yes | Yes | Yes | Global | Yes | |
| Table_open_cache_hits | Yes | Both | No | |||
| table_open_cache_instances | Yes | Yes | Yes | Global | No | |
| Table_open_cache_misses | Yes | Both | No | |||
| Table_open_cache_overflows | Yes | Both | No | |||
| tablespace_definition_cache | Yes | Yes | Yes | Global | Yes | |
| tc-heuristic-recover | Yes | Yes | ||||
| Tc_log_max_pages_used | Yes | Global | No | |||
| Tc_log_page_size | Yes | Global | No | |||
| Tc_log_page_waits | Yes | Global | No | |||
| temptable_max_ram | Yes | Yes | Yes | Global | Yes | |
| temptable_use_mmap | Yes | Yes | Yes | Global | Yes | |
| thread_cache_size | Yes | Yes | Yes | Global | Yes | |
| thread_handling | Yes | Yes | Yes | Global | No | |
| thread_pool_algorithm | Yes | Yes | Yes | Global | No | |
| thread_pool_high_priority_connection | Yes | Yes | Yes | Both | Yes | |
| thread_pool_max_active_query_threads | Yes | Yes | Yes | Global | Yes | |
| thread_pool_max_unused_threads | Yes | Yes | Yes | Global | Yes | |
| thread_pool_prio_kickup_timer | Yes | Yes | Yes | Both | Yes | |
| thread_pool_size | Yes | Yes | Yes | Global | No | |
| thread_pool_stall_limit | Yes | Yes | Yes | Global | Yes | |
| thread_stack | Yes | Yes | Yes | Global | No | |
| Threads_cached | Yes | Global | No | |||
| Threads_connected | Yes | Global | No | |||
| Threads_created | Yes | Global | No | |||
| Threads_running | Yes | Global | No | |||
| time_zone | Yes | Both | Yes | |||
| timestamp | Yes | Session | Yes | |||
| tls_ciphersuites | Yes | Yes | Yes | Global | Yes | |
| tls_version | Yes | Yes | Yes | Global | Varies | |
| tmp_table_size | Yes | Yes | Yes | Both | Yes | |
| tmpdir | Yes | Yes | Yes | Global | No | |
| transaction_alloc_block_size | Yes | Yes | Yes | Both | Yes | |
| transaction_allow_batching | Yes | Session | Yes | |||
| transaction_isolation | Yes | Yes | Yes | Both | Yes | |
| transaction_prealloc_size | Yes | Yes | Yes | Both | Yes | |
| transaction_read_only | Yes | Yes | Yes | Both | Yes | |
| transaction_write_set_extraction | Yes | Yes | Yes | Both | Yes | |
| unique_checks | Yes | Both | Yes | |||
| updatable_views_with_limit | Yes | Yes | Yes | Both | Yes | |
| upgrade | Yes | Yes | ||||
| Uptime | Yes | Global | No | |||
| Uptime_since_flush_status | Yes | Global | No | |||
| use_secondary_engine | Yes | Session | Yes | |||
| user | Yes | Yes | ||||
| validate-config | Yes | Yes | ||||
| validate-password | Yes | Yes | ||||
| validate_password_check_user_name | Yes | Yes | Yes | Global | Yes | |
| validate_password_dictionary_file | Yes | Yes | Yes | Global | Yes | |
| validate_password_dictionary_file_last_parsed | Yes | Global | No | |||
| validate_password_dictionary_file_words_count | Yes | Global | No | |||
| validate_password_length | Yes | Yes | Yes | Global | Yes | |
| validate_password_mixed_case_count | Yes | Yes | Yes | Global | Yes | |
| validate_password_number_count | Yes | Yes | Yes | Global | Yes | |
| validate_password_policy | Yes | Yes | Yes | Global | Yes | |
| validate_password_special_char_count | Yes | Yes | Yes | Global | Yes | |
| validate_password.check_user_name | Yes | Yes | Yes | Global | Yes | |
| validate_password.dictionary_file | Yes | Yes | Yes | Global | Yes | |
| validate_password.dictionary_file_last_parsed | Yes | Global | No | |||
| validate_password.dictionary_file_words_count | Yes | Global | No | |||
| validate_password.length | Yes | Yes | Yes | Global | Yes | |
| validate_password.mixed_case_count | Yes | Yes | Yes | Global | Yes | |
| validate_password.number_count | Yes | Yes | Yes | Global | Yes | |
| validate_password.policy | Yes | Yes | Yes | Global | Yes | |
| validate_password.special_char_count | Yes | Yes | Yes | Global | Yes | |
| validate_user_plugins | Yes | Yes | Yes | Global | No | |
| verbose | Yes | Yes | ||||
| version | Yes | Global | No | |||
| version_comment | Yes | Global | No | |||
| version_compile_machine | Yes | Global | No | |||
| version_compile_os | Yes | Global | No | |||
| version_compile_zlib | Yes | Global | No | |||
| version_tokens_session | Yes | Yes | Yes | Both | Yes | |
| version_tokens_session_number | Yes | Yes | Yes | Both | No | |
| wait_timeout | Yes | Yes | Yes | Both | Yes | |
| warning_count | Yes | Session | No | |||
| windowing_use_high_precision | Yes | Yes | Yes | Both | Yes |
服务器系统变量
MySQL服务器维护许多配置其操作的系统变量。每个系统变量都有一个默认值。可以在服务器启动时使用命令行或选项文件中的选项设置系统变量。可以使用以下SET语句在运行时动态更改其中的大多数内容,该语句使您无需停止并重新启动服务器即可修改服务器的操作。您也可以在表达式中使用系统变量值。
设置全局系统变量运行时值通常需要SYSTEM_VARIABLES_ADMIN或SUPER特权。设置会话系统运行时变量值通常不需要特殊特权,并且任何用户都可以完成,尽管有例外。有关更多信息,请参见“系统变量特权”
有几种方法可以参见系统变量的名称和值:
要参见服务器根据其内建的默认值和读取的任何选项文件将使用的值,请使用以下命令:
mysqld --verbose --help
要仅根据服务器的编译缺省值参见服务器将使用的值,而忽略任何选项文件中的设置,请使用以下命令:
mysqld --no-defaults --verbose --help
- 要参见正在运行的服务器使用的当前值,请使用该
SHOW VARIABLES语句或Performance Schema系统变量表。请参见“性能架构系统变量表”。
本节提供每个系统变量的描述。有关系统变量摘要表,请参见“服务器系统变量参考”。有关操纵系统变量的更多信息,请参见“使用MySQL服务器系统变量”。
有关其他系统变量信息,请参见以下部分:
- “使用系统变量”讨论了设置和显示系统变量值的语法。
- “动态系统变量”列出了可以在运行时设置的变量。
- 有关调整系统变量的信息,请参见“配置服务器”。
- “ InnoDB启动选项和系统变量”列出了
InnoDB系统变量。 - “ NDB群集系统变量”列出了特定于NDB群集的系统变量。
- 有关特定于复制的服务器系统变量的信息,请参见“复制和二进制日志记录选项和变量”。
注意以下某些变量描述涉及“启用”或“禁用”变量。可以
SET通过将其设置为ON或来启用这些变量1,或者通过将其设置为OFF或来禁用这些变量0。布尔变量可以在启动时被设置为的值ON,TRUE,OFF,和FALSE(不区分大小写),以及1和0。请参见“程序选项修饰符”。
一些系统变量控制缓冲区或高速缓存的大小。对于给定的缓冲区,服务器可能需要分配内部数据结构。这些结构通常是从分配给缓冲区的总内存中分配的,所需的空间量可能取决于平台。这意味着,当您将值分配给控制缓冲区大小的系统变量时,实际可用空间量可能与分配的值不同。在某些情况下,金额可能小于分配的值。服务器也可能向上调整一个值。例如,如果为变量的最小值为1024分配了0值,则服务器会将其设置为1024。
除非另有说明,否则缓冲区大小,长度和堆栈大小的值以字节为单位。
一些系统变量采用文件名值。除非另有说明,否则,如果值是相对路径名,则默认文件位置是数据目录。要明确指定位置,请使用绝对路径名。假设数据目录为/var/mysql/dat 。如果将文件值变量指定为相对路径名,则它将位于下/var/mysql/dat 。如果该值是绝对路径名,则其位置由路径名指定。
ctivate_all_roles_on_login属性 值 命令行格式 --activate-all-roles-on-login[={OFF|ON}]系统变量 ctivate_all_roles_on_login范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF用户登录服务器时是否启用所有授予的角色的自动激活:
- 如果
ctivate_all_roles_on_login启用,则服务器将在登录时激活授予每个帐户的所有角色。这优先于通过指定的默认角色SET DEFAULT ROLE。 - 如果
ctivate_all_roles_on_login已禁用,则服务器将SET DEFAULT ROLE在登录时激活用(如果有)指定的默认角色。
授予的角色包括显式授予用户的角色和在
mandatory_roles系统变量值中命名的角色。ctivate_all_roles_on_login仅在登录时和在定义程序上下文中执行的存储程序和视图执行开始时适用。要更改会话中的活动角色,请使用SET ROLE。要更改存储程序的活动角色,程序主体应执行SET ROLE。- 如果
dmin_address属性 值 命令行格式 --admin-address=addr介绍了 8.0.14 系统变量 dmin_address范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 在管理网络接口上侦听TCP / IP连接的IP地址(请参见“ MySQL如何处理客户端连接”)。没有默认
dmin_address值。如果在启动时未指定此变量,则服务器不维护任何管理界面。该服务器还有一个bind_address系统变量,用于配置常规(非管理)客户端TCP / IP连接。请参见“ MySQL如何处理客户端连接”。如果
dmin_address指定,则其值必须满足以下要求:- 该值必须是单个IPv4地址,IPv6地址或主机名。
- 该值不能指定一个通配符地址格式(
*,0.0.0.0,或::)。
可以将IP地址指定为IPv4或IPv6地址。如果该值为主机名,则服务器将名称解析为IP地址并绑定到该地址。如果主机名解析为多个IP地址,则服务器使用第一个IPv4地址(如果存在),否则使用第一个IPv6地址。
服务器按以下方式处理不同类型的地址:
- 如果该地址是IPv4映射的地址,则服务器接受该地址的IPv4或IPv6格式的TCP / IP连接。例如,如果服务器已绑定
::ffff:127.0.0.1,则客户端可以使用--host=127.0.0.1或连接--host=::ffff:127.0.0.1。 - 如果该地址是“常规” IPv4或IPv6地址(例如
127.0.0.1或::1),则服务器仅接受该IPv4或IPv6地址的TCP / IP连接。
如果绑定到该地址失败,则服务器将产生错误,并且不会启动。
该
dmin_address系统变量类似于bind_address将服务器绑定到普通客户端连接地址的系统变量,但存在以下差异:bind_address允许多个地址。dmin_address允许一个地址。bind_address允许使用通配符地址。dmin_address才不是。
dmin_port属性 值 命令行格式 --admin-port=port_num介绍了 8.0.14 系统变量 dmin_port范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 33062最低值 0最大值 65535用于管理网络接口上的连接的TCP / IP端口号(请参见“ MySQL如何处理客户端连接”)。将此变量设置为0将导致使用默认值。
dmin_port如果dmin_address未指定,则设置无效,因为在这种情况下,服务器不维护管理网络接口。uthentication_windows_log_level属性 值 命令行格式 --authentication-windows-log-level=#系统变量 uthentication_windows_log_level范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 2最低值 0最大值 4仅当
uthentication_windows启用Windows身份验证插件并启用调试代码时,此变量才可用。请参见“ Windows可插入身份验证”。此变量设置Windows身份验证插件的日志记录级别。下表显示了允许的值。
值 描述 0 没有记录 1个 仅记录错误消息 2 日志级别1消息和警告消息 3 日志级别2的消息和信息说明 4 记录3级消息和调试消息 uthentication_windows_use_principal_name属性 值 命令行格式 --authentication-windows-use-principal-name[={OFF|ON}]系统变量 uthentication_windows_use_principal_name范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON仅当
uthentication_windows启用Windows身份验证插件时,此变量才可用。请参见“ Windows可插入身份验证”。使用该
InitSecurityContext()功能进行身份验证的客户端应提供一个字符串,用于标识与其连接的服务(targetName)。MySQL使用运行服务器的帐户的主体名称(UPN)。UPN具有表格,无需在任何要使用的地方进行注册。服务器在身份验证握手开始时发送此UPN。user_id@computer_name此变量控制服务器在初始质询中是否发送UPN。默认情况下,该变量处于启用状态。出于安全原因,可以将其禁用,以避免将服务器的帐户名作为明文发送给客户端。如果禁用了该变量,则服务器将始终
0x00在第一个质询中发送一个字节,客户端未指定targetName,因此将使用NTLM身份验证。如果服务器无法获取其UPN(主要发生在不支持Kerberos身份验证的环境中),则服务器不会发送UPN,而是使用NTLM身份验证。
utocommit属性 值 命令行格式 --autocommit[={OFF|ON}]系统变量 utocommit范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON自动提交模式。如果设置为1,对表的所有更改将立即生效。如果设置为0,则必须使用
COMMIT接受交易或ROLLBACK取消交易。如果utocommit为0,并将其更改为1,则MySQL会自动执行COMMIT所有未清事务。开始交易的另一种方法是使用START TRANSACTIONorBEGIN语句。请参见“ START TRANSACTION,COMMIT和ROLLBACK语句”。默认情况下,客户端连接以
utocommit设置为1 开始。要使客户端以默认值0utocommit开始,请通过使用--autocommit=0选项启动服务器来设置全局值。要使用选项文件设置变量,请包括以下几行:[mysqld] utocommit=0
utomatic_sp_privileges属性 值 命令行格式 --automatic-sp-privileges[={OFF|ON}]系统变量 utomatic_sp_privileges范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON当此变量的值为1(默认值)时,如果用户不能执行和更改或删除该例程,则服务器会自动向该例程的创建者授予
EXECUTE和ALTER ROUTINE特权。(ALTER ROUTINE删除该例程需要特权。)删除例程后,服务器也会自动从创建者那里删除那些特权。如果utomatic_sp_privileges为0,则服务器不会自动添加或删除这些特权。例程的创建者是用于为其执行
CREATE语句的帐户。这可能DEFINER与例程定义中名为的帐户不同。如果启动mysqld的使用
--skip-new,utomatic_sp_privileges设置为OFF。另请参见“存储的例程和MySQL特权”。
uto_generate_certs属性 值 命令行格式 --auto-generate-certs[={OFF|ON}]系统变量 uto_generate_certs范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON此变量控制服务器是否自动生成数据目录中的SSL密钥和证书文件(如果尚不存在)。
启动时,如果
uto_generate_certs启用了系统变量,未--ssl指定除SSL选项之外的其他任何选项,并且数据中缺少服务器端SSL文件,则服务器会在数据目录中自动生成服务器端和客户端SSL证书和密钥文件。目录。这些文件使用SSL启用安全的客户端连接。请参见“配置MySQL以使用加密连接”。有关SSL文件自动生成的更多信息,包括文件名和特征,请参见“创建SSL和RSA证书和密钥”
该
sha256_password_auto_generate_rsa_keys和caching_sha2_password_auto_generate_rsa_keys系统变量相关,但所需要的使用RSA在unencypted连接的安全密码交换RSA密钥对文件控制自动生成。void_temporal_upgrade属性 值 命令行格式 --avoid-temporal-upgrade[={OFF|ON}]不推荐使用 是 系统变量 void_temporal_upgrade范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF这个变量控制是否
ALTER TABLE隐式升级时间列发现在预5.6.4格式(TIME,DATETIME,和TIMESTAMP列不为小数精度秒支持)。升级此类列需要重新构建表,这将阻止使用任何可能会应用于要执行的操作的快速更改。默认情况下禁用此变量。启用它会导致
ALTER TABLE不重建时态列,从而能够利用可能的快速更改。不建议使用此变量,并将在将来的MySQL版本中将其删除。
back_log属性 值 命令行格式 --back-log=#系统变量 back_log范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 -1(表示自动调整大小;不分配此文字值)最低值 1最大值 65535MySQL可以拥有的未完成连接请求数。当主要的MySQL线程在很短的时间内收到很多连接请求时,就会发挥作用。然后,主线程需要花费一些时间(尽管很少)来检查连接并启动新线程。该
back_log值指示在MySQL暂时停止回答新请求之前的短时间内可以堆叠多少个请求。仅当您期望在短时间内有大量连接时,才需要增加此数量。换句话说,此值是传入TCP / IP连接的侦听队列的大小。您的操作系统对此队列的大小有自己的限制。Unix
listen()系统调用的手册页应包含更多详细信息。检查您的操作系统文档以获取此变量的最大值。back_log不能将其设置为高于操作系统限制。默认值为的值
max_connections,这使允许的积压工作可以调整为最大允许的连接数。basedir属性 值 命令行格式 --basedir=dir_name系统变量 basedir范围 Global 动态 没有 SET_VAR提示适用没有 类型 目录名 默认值 parent of mysqld installation directoryMySQL安装基础目录的路径。
big_tables属性 值 命令行格式 --big-tables[={OFF|ON}]系统变量 big_tables范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果启用,服务器会将所有临时表存储在磁盘上,而不是存储在内存中。这样可以避免大多数需要大型临时表的操作出错,同时也减慢了内存表就足够的查询。
The table tbl_name is fullSELECT新连接的默认值为
OFF(使用内存临时表)。通常,永远不需要启用此变量。当内存内部临时表由TempTable存储引擎管理(默认设置),并且TempTable超出了TempTable存储引擎可以占用的最大内存量时,存储引擎将开始将数据存储到磁盘上的临时文件中。当MEMORY存储引擎管理内存临时表时,内存表会根据需要自动转换为基于磁盘的表。有关更多信息,请参见“ MySQL中的内部临时表使用”。bind_address属性 值 命令行格式 --bind-address=addr系统变量 bind_address范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值 *MySQL服务器在一个或多个网络套接字上侦听TCP / IP连接。每个套接字都绑定到一个地址,但是一个地址可以映射到多个网络接口。要指定服务器应如何侦听TCP / IP连接,请
bind_address在服务器启动时设置系统变量。服务器还具有一个dmin_address系统变量,该变量在专用接口上启用管理连接。请参见“ MySQL如何处理客户端连接”。如果
bind_address指定,则其值必须满足以下要求:- 之前的MySQL 8.0.13,
bind_address接受一个单独的地址值,其可以指定单个非通配符IP地址或主机名,或在允许对多个网络接口侦听的通配符地址格式中的一种(*,0.0.0.0,或::)。 - 从MySQL 8.0.13开始,
bind_address接受如上所述的单个值,或接受逗号分隔值的列表。当变量命名一个包含多个值的列表时,每个值必须指定一个非通配IP地址或主机名;没有人可以指定一个通配符地址格式(*,0.0.0.0,或::)。
IP地址可以指定为IPv4或IPv6地址。对于任何作为主机名的值,服务器都会将该名称解析为IP地址并绑定到该地址。如果主机名解析为多个IP地址,则服务器使用第一个IPv4地址(如果存在),否则使用第一个IPv6地址。
服务器按以下方式处理不同类型的地址:
- 如果地址为
*,则服务器在所有服务器主机的IPv4接口上接受TCP / IP连接,如果服务器主机支持IPv6,则在所有IPv6接口上接受TCP / IP连接。使用此地址可以在所有服务器接口上同时允许IPv4和IPv6连接。此值为默认值。如果该选项指定了多个值的列表,则不允许使用该值。 - 如果地址为
0.0.0.0,则服务器在所有服务器主机IPv4接口上接受TCP / IP连接。如果该选项指定了多个值的列表,则不允许使用该值。 - 如果地址为
::,则服务器在所有服务器主机IPv4和IPv6接口上接受TCP / IP连接。如果该选项指定了多个值的列表,则不允许使用该值。 - 如果该地址是IPv4映射的地址,则服务器接受该地址的IPv4或IPv6格式的TCP / IP连接。例如,如果服务器已绑定
::ffff:127.0.0.1,则客户端可以使用--host=127.0.0.1或连接--host=::ffff:127.0.0.1。 - 如果该地址是“常规” IPv4或IPv6地址(例如
127.0.0.1或::1),则服务器仅接受该IPv4或IPv6地址的TCP / IP连接。
如果绑定到任何地址失败,则服务器将产生错误并且无法启动。
例子:
bind_address=*服务器侦听
*通配符指定的所有IPv4或IPv6地址。bind_address=198.51.100.20服务器仅在
198.51.100.20IPv4地址上侦听。bind_address=198.51.100.20,2001:db8:0:f101::1服务器侦听
198.51.100.20IPv4地址和2001:db8:0:f101::1IPv6地址。bind_address=198.51.100.20,*产生错误是因为在
bind_address命名多个值的列表时不允许使用通配符地址。
当
bind_address命名单个值(通配符或非通配符)时,服务器在单个套接字上侦听,该套接字上的通配符地址可能绑定到多个网络接口。当bind_address命名多个值的列表时,服务器在每个值上侦听一个套接字,每个套接字都绑定到一个网络接口。套接字的数量与指定的值的数量成线性关系。根据操作系统连接接受效率,长值列表可能会因接受TCP / IP连接而导致性能下降。由于文件描述符是为侦听套接字分配的,因此可能有必要增加
open_files_limit系统变量。如果打算将服务器绑定到特定地址,请确保
mysql.user系统表包含一个具有管理特权的帐户,可用于连接该地址。否则,您将无法关闭服务器。例如,如果将服务器绑定到*,则可以使用所有现有帐户连接到该服务器。但是,如果将服务器绑定到::1,则服务器仅在该地址上接受连接。在这种情况下,首先请确保'root'@'::1'该mysql.user表中存在该帐户,以便您仍然可以连接到服务器以将其关闭。- 之前的MySQL 8.0.13,
block_encryption_mode属性 值 命令行格式 --block-encryption-mode=#系统变量 block_encryption_mode范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 es-128-ecb此变量控制基于块的算法(例如AES)的块加密模式。它影响
AES_ENCRYPT()和的加密AES_DECRYPT()。block_encryption_mode采用格式值,其中是以位为单位的密钥长度,是加密模式。该值不区分大小写。允许的值是128,192和256允许的值是,,,,,和。es-keylen-modekeylenmodekeylenmodeECBCBCCFB1CFB8CFB128OFB例如,以下语句使AES加密功能使用256位的密钥长度和CBC模式:
SET block_encryption_mode = 'aes-256-cbc';尝试将其设置
block_encryption_mode为包含不支持的密钥长度的值或SSL库不支持的模式时发生错误。bulk_insert_buffer_size属性 值 命令行格式 --bulk-insert-buffer-size=#系统变量 bulk_insert_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 8388608最低值 0最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295MyISAM使用一种特殊的树状缓存,使批量插入更快INSERT ... SELECT,INSERT ... VALUES(...),(...),...以及LOAD DATA将数据添加到非空表时。此变量限制高速缓存树的大小(每个线程以字节为单位)。将其设置为0将禁用此优化。默认值为8MB。从MySQL 8.0.14开始,设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
caching_sha2_password_auto_generate_rsa_keys属性 值 命令行格式 --caching-sha2-password-auto-generate-rsa-keys[={OFF|ON}]系统变量 caching_sha2_password_auto_generate_rsa_keys范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON服务器使用此变量来确定是否自动生成数据目录中的RSA私钥/公钥对文件(如果尚不存在)。
在启动时,服务器会自动生成数据目录RSA公钥/私钥对的文件,如果所有这些条件为真:
sha256_password_auto_generate_rsa_keys或caching_sha2_password_auto_generate_rsa_keys系统变量启用;未指定RSA选项;数据目录中缺少RSA文件。这些密钥对文件可通过RSAsha256_password或caching_sha2_password插件认证的帐户,通过未加密的连接使用RSA进行安全密码交换;请参见“ SHA-256可插拔身份验证”和“缓存SHA-2可插拔身份验证”。有关RSA文件自动生成的更多信息,包括文件名和特征,请参见“创建SSL和RSA证书和密钥”
该
uto_generate_certs系统变量相关,但SSL证书,并需要使用SSL安全连接密钥文件的控制自动生成。caching_sha2_password_private_key_path属性 值 命令行格式 --caching-sha2-password-private-key-path=file_name系统变量 caching_sha2_password_private_key_path范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 默认值 private_key.pem此变量指定
caching_sha2_password身份验证插件的RSA私钥文件的路径名。如果文件被命名为相对路径,则会相对于服务器数据目录进行解释。该文件必须为PEM格式。重要
由于此文件存储私钥,因此应限制其访问模式,以便只有MySQL服务器才能读取它。
有关的信息
caching_sha2_password,请参见“缓存SHA-2可插拔身份验证”。caching_sha2_password_public_key_path属性 值 命令行格式 --caching-sha2-password-public-key-path=file_name系统变量 caching_sha2_password_public_key_path范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 默认值 public_key.pem此变量指定
caching_sha2_password身份验证插件的RSA公钥文件的路径名。如果文件被命名为相对路径,则会相对于服务器数据目录进行解释。该文件必须为PEM格式。有关的信息
caching_sha2_password(包括有关客户端如何请求RSA公钥的信息),请参见“缓存SHA-2可插拔身份验证”。character_set_client属性 值 系统变量 character_set_client范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4来自客户端的语句的字符集。当客户端连接到服务器时,使用客户端请求的字符集设置此变量的会话值。(许多客户端支持
--default-character-set启用该字符集的显式指定的选项。另请参见“连接字符集和校验规则”。)在客户端请求的情况下,变量的全局值用于设置会话值值未知或不可用,或者服务器配置为忽略客户端请求:- 客户端请求服务器不知道的字符集。例如,
sjis当连接到未配置sjis支持的服务器时,启用日语的客户端会请求。 - 客户端来自低于MySQL 4.1的MySQL版本,因此不请求字符集。
- mysqld是使用该
--skip-character-set-client-handshake选项启动的,导致该选项忽略客户端字符集配置。这重现了MySQL 4.0的行为,如果您希望在不升级所有客户端的情况下升级服务器,则将很有用。
某些字符集不能用作客户端字符集。尝试将它们用作
character_set_client值会产生错误。请参阅不允许的客户字符集。- 客户端请求服务器不知道的字符集。例如,
character_set_connection属性 值 系统变量 character_set_connection范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4该字符集用于不带字符集介绍符的指定文字,以及用于数字到字符串的转换。有关介绍人的信息,请参见“字符串字符集和校验规则”。
character_set_database属性 值 系统变量 character_set_database范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4脚注 此选项是动态的,但只有服务器应设置此信息。您不应手动设置此变量的值。 默认数据库使用的字符集。每当默认数据库更改时,服务器都会设置此变量。如果没有默认数据库,则该变量的值与相同
character_set_server。从MySQL 8.0.14开始,设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
全局变量
character_set_database和collation_database系统变量已弃用,并将在MySQL的未来版本中删除。不建议为会话
character_set_database和collation_database系统变量分配值,并且分配会产生警告。会话变量在MySQL的未来版本中将变为只读,并且赋值将产生错误。仍然可以访问会话变量,以确定默认数据库的数据库字符集和排序规则。character_set_filesystem属性 值 命令行格式 --character-set-filesystem=name系统变量 character_set_filesystem范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 binary文件系统字符集。此变量用于解释引用文件名的字符串文字,例如
LOAD DATAndSELECT ... INTO OUTFILE语句和LOAD_FILE()函数。这样的文件名从转换character_set_client到character_set_filesystem发生文件打开尝试之前。默认值为binary,表示不进行任何转换。对于允许使用多字节文件名的系统,不同的值可能更合适。例如,如果系统使用UTF-8表示文件名,则设置character_set_filesystem为'utf8mb4'。从MySQL 8.0.14开始,设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
character_set_results属性 值 系统变量 character_set_results范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4用于将查询结果返回给客户端的字符集。这包括结果数据(例如列值),结果元数据(例如列名)和错误消息。
character_set_server属性 值 命令行格式 --character-set-server=name系统变量 character_set_server范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4服务器默认字符集。请参见“字符集配置”。如果设置此变量,则还应该设置
collation_server为字符集指定排序规则。character_set_system属性 值 系统变量 character_set_system范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值 utf8服务器用于存储标识符的字符集。该值始终为
utf8。character_sets_dir属性 值 命令行格式 --character-sets-dir=dir_name系统变量 character_sets_dir范围 Global 动态 没有 SET_VAR提示适用没有 类型 目录名 字符集的安装目录。请参见“字符集配置”。
check_proxy_users属性 值 命令行格式 --check-proxy-users[={OFF|ON}]系统变量 check_proxy_users范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF一些身份验证插件自己实现代理用户映射(例如,PAM和Windows身份验证插件)。默认情况下,其他身份验证插件不支持代理用户。其中,有些可以要求MySQL服务器本身根据授予的代理特权来映射代理用户:
mysql_native_password,sha256_password。如果
check_proxy_users启用了系统变量,则服务器将对发出此请求的所有身份验证插件执行代理用户映射。但是,可能还需要启用特定于插件的系统变量以利用服务器代理用户映射支持:- 对于
mysql_native_password插件,请启用mysql_native_password_proxy_users。 - 对于
sha256_password插件,请启用sha256_password_proxy_users。
有关用户代理的信息,请参见“代理用户”。
- 对于
collation_connection属性 值 系统变量 collation_connection范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 连接字符集的排序规则。
collation_connection对于文字字符串的比较很重要。对于将字符串与列值进行比较,collation_connection没有关系,因为列具有自己的排序规则,排序规则具有更高的排序规则优先级(请参见“表达式中的排序规则强制性”)。collation_database属性 值 系统变量 collation_database范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4_0900_ai_ci脚注 此选项是动态的,但只有服务器应设置此信息。您不应手动设置此变量的值。 默认数据库使用的排序规则。每当默认数据库更改时,服务器都会设置此变量。如果没有默认数据库,则该变量的值与相同
collation_server。从MySQL 8.0.18开始,设置此系统变量的会话值不再是受限制的操作。
全局变量
character_set_database和collation_database系统变量已弃用,并将在MySQL的未来版本中删除。不建议为会话
character_set_database和collation_database系统变量分配值,并且分配会产生警告。会话变量在MySQL的未来版本中将变为只读,并且赋值将产生错误。仍然可以访问会话变量,以确定默认数据库的数据库字符集和排序规则。collation_server属性 值 命令行格式 --collation-server=name系统变量 collation_server范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 utf8mb4_0900_ai_ci服务器的默认排序规则。请参见“字符集配置”。
completion_type属性 值 命令行格式 --completion-type=#系统变量 completion_type范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 NO_CHAIN有效值 NO_CHAINCHAINRELEASE012交易完成类型。该变量可以采用下表中显示的值。可以使用名称值或相应的整数值来分配变量。
值 描述 NO_CHAIN(或0)COMMIT并且ROLLBACK不受影响。这是默认值。CHAIN(或1)COMMIT和ROLLBACK分别等于COMMIT AND CHAIN和ROLLBACK AND CHAIN。(新事务将以与刚刚终止的事务相同的隔离级别立即开始。)RELEASE(或2个)COMMIT和ROLLBACK分别等于COMMIT RELEASE和ROLLBACK RELEASE。(服务器在终止事务后断开连接。)completion_type会影响首先交易START TRANSACTION或BEGIN和结束与COMMIT或ROLLBACK。它不适用于因执行“导致隐式提交的语句”中列出的语句而导致的隐式提交。它也不会为应用XA COMMIT,XA ROLLBACK或当utocommit=1。concurrent_insert属性 值 命令行格式 --concurrent-insert[=value]系统变量 concurrent_insert范围 Global 动态 是 SET_VAR提示适用没有 类型 列举 默认值 AUTO有效值 NEVERAUTOALWAYS012如果
AUTO(默认),MySQL允许INSERT和SELECT语句针对MyISAM数据文件中间没有空闲块的表同时运行。该变量可以采用下表中显示的值。可以使用名称值或相应的整数值来分配变量。
值 描述 NEVER(或0)禁用并发插入 AUTO(或1)(默认)为 MyISAM没有孔的表启用并发插入ALWAYS(或2个)为所有 MyISAM表启用并发插入,即使有孔的表也是如此。对于有孔的表,如果另一个线程正在使用该表,则在表的末尾插入新行。否则,MySQL将获得普通的写锁,并将该行插入到该孔中。如果启动mysqld的使用
--skip-new,concurrent_insert设置为NEVER。另请参见“并发插入”。
connect_timeout属性 值 命令行格式 --connect-timeout=#系统变量 connect_timeout范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 10最低值 2最大值 31536000mysqld服务器在以响应之前等待连接数据包的秒数
Bad handshake。默认值为10秒。connect_timeout如果客户经常遇到表格错误,则增加该值可能会有所帮助。Lost connection to MySQL server at 'XXX', system error:errnocore_file属性 值 系统变量 core_file范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果服务器崩溃,是否写入核心文件。该变量由
--core-file选项设置。create_admin_listener_thread属性 值 命令行格式 --create-admin-listener-thread[={OFF|ON}]介绍了 8.0.14 系统变量 create_admin_listener_thread范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 OFF是否在管理网络接口上使用专用的侦听线程进行客户端连接(请参见“ MySQL如何处理客户端连接”)。默认设置是使用用于普通连接的侦听器线程来实现管理接口。
根据平台类型和工作负载等因素,您可能会发现此变量的一种设置比另一种设置产生更好的性能。
create_admin_listener_thread如果dmin_address未指定,则设置无效,因为在这种情况下,服务器不维护管理网络接口。cte_max_recursion_depth属性 值 命令行格式 --cte-max-recursion-depth=#系统变量 cte_max_recursion_depth范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1000最低值 0最大值 4294967295公用表表达式(CTE)的最大递归深度。服务器终止任何递归级别高于此变量值的CTE。有关更多信息,请参见限制公用表表达式递归。
datadir属性 值 命令行格式 --datadir=dir_name系统变量 datadir范围 Global 动态 没有 SET_VAR提示适用没有 类型 目录名 MySQL服务器数据目录的路径。相对路径相对于当前目录进行解析。如果服务器将自动启动(即,在无法假定当前目录为上下文的上下文中),则最好将
datadir值指定为绝对路径。debug属性 值 命令行格式 --debug[=debug_options]系统变量 debug范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 预设值(Windows) d:t:i:O,\mysqld.trace预设值(Unix) d:t:i:o,/tmp/mysqld.trace此变量指示当前的调试设置。它仅适用于带有调试支持的服务器。初始值来自
--debug服务器启动时给出的选项实例的值。全局值和会话值可以在运行时设置。设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
分配一个以当前值开头
+或-导致该值增加或减去当前值的值:mysql>
SET debug = 'T'; mysql>SELECT @@debug; +--------- + | @@debug | +--------- + | T | +--------- + mysql>SET debug = ' +P'; mysql>SELECT @@debug; +--------- + | @@debug | +--------- + | P:T | +--------- + mysql>SET debug = '-P'; mysql>SELECT @@debug; +--------- + | @@debug | +--------- + | T | +--------- +有关更多信息,请参见“ DBUG软件包”。
debug_sync属性 值 系统变量 debug_sync范围 Session 动态 是 SET_VAR提示适用没有 类型 string 此变量是“调试同步”工具的用户界面。使用Debug Sync要求使用CMake选项配置MySQL (请参见“ MySQL源代码配置选项”)。如果未编译调试同步,则此系统变量不可用。
-DENABLE_DEBUG_SYNC=1全局变量值是只读的,它指示是否启用该功能。默认情况下,调试Sync被禁用和值
debug_syncISOFF。如果服务器开始,这里是一个超时值大于0,调试同步启用和价值是其次是信号的名字。而且,成为各个同步点的默认超时。--debug-sync-timeout=NNdebug_syncON - current signalN会话值可以由任何用户读取,并且将具有与全局变量相同的值。会话值可以设置为控制同步点。
设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
有关“调试同步”工具以及如何使用同步点的说明,请参见《 MySQL内部知识:测试同步》。
default_authentication_plugin属性 值 命令行格式 --default-authentication-plugin=plugin_name系统变量 default_authentication_plugin范围 Global 动态 没有 SET_VAR提示适用没有 类型 列举 默认值 caching_sha2_password有效值 mysql_native_passwordsha256_passwordcaching_sha2_password默认身份验证插件。这些值是允许的:
mysql_native_password:使用MySQL本机密码;请参见“本地可插入身份验证”。sha256_password:使用SHA-256密码;请参见“ SHA-256可插拔身份验证”。caching_sha2_password:使用SHA-256密码;请参见“缓存SHA-2可插拔身份验证”。
注意
在MySQL 8.0中,
caching_sha2_password是默认的身份验证插件,而不是mysql_native_password。有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性的信息,请参阅caching_sha2_password作为“首选身份验证插件”。该
default_authentication_plugin值影响服务器操作的以下方面:- 它确定服务器将哪个身份验证插件分配给创建的新帐户,
CREATE USER以及GRANT未明确指定身份验证插件的语句。 对于使用以下语句创建的帐户,服务器将其与默认身份验证插件关联,并为该帐户分配给定密码,并按该插件的要求进行哈希处理:
CREATE USER ...IDENTIFIED BY 'cleartext password';
default_collation_for_utf8mb4属性 值 系统变量 default_collation_for_utf8mb4范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 有效值 utf8mb4_0900_ai_ciutf8mb4_general_ci供复制内部使用。该系统变量设置为
utf8mb4字符集的默认排序规则。变量的值从主服务器复制到从属服务器,以便从属服务器可以正确地处理源于主服务器的数据,并使用不同的默认排序规则utf8mb4。此变量主要用于支持从MySQL 5.7或更早版本的主服务器到MySQL 8.0从属服务器的复制,或使用MySQL 5.7主节点和一个或多个MySQL 8.0辅助节点的组复制。utf8mb4在MySQL 5.7中utf8mb4_general_ci,默认排序规则是,但是utf8mb4_0900_ai_ci在MySQL 8.0中。该变量在MySQL 8.0之前的版本中不存在,因此,如果从站未收到该变量的值,则假定主站来自较早的版本,并将该值设置为先前的默认归类utf8mb4_general_ci。从MySQL 8.0.18开始,设置此系统变量的会话值不再是受限制的操作。
utf8mb4在以下语句中使用默认排序规则:SHOW COLLATION和SHOW CHARACTER SET。CREATE TABLE并ALTER TABLE具有一个CHARACTER SET utf8mb4无COLLATION子句的子句,用于表字符集或列字符集。CREATE DATABASE并ALTER DATABASE具有CHARACTER SET utf8mb4不带COLLATION子句的子句。- 包含不带子句形式的字符串文字的任何语句。
_utf8mb4'some text'COLLATE
default_password_lifetime属性 值 命令行格式 --default-password-lifetime=#系统变量 default_password_lifetime范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 65535此变量定义全局自动密码过期策略。默认
default_password_lifetime值为0,这将禁用自动密码过期。如果的值为default_password_lifetime正整数N,则表示允许的密码生存期;否则为0。密码必须每天更改N。使用
CREATE USER和ALTER USER语句的密码到期选项,可以根据需要为单个帐户覆盖全局密码到期策略。请参见“帐户密码管理”。default_storage_engine属性 值 命令行格式 --default-storage-engine=name系统变量 default_storage_engine范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 InnoDB表的默认存储引擎。请参见备用存储引擎。此变量仅将存储引擎设置为永久表。要设置
TEMPORARY表的存储引擎,请设置default_tmp_storage_engine系统变量。要参见哪些存储引擎可用和启用,请使用
SHOW ENGINES语句或查询INFORMATION_SCHEMAENGINES表。如果在服务器启动时禁用了默认存储引擎,则必须将永久和
TEMPORARY表的默认引擎设置为其他引擎,否则服务器将无法启动。default_table_encryption属性 值 命令行格式 --default-table-encryption[={OFF|ON}]介绍了 8.0.16 系统变量 default_table_encryption范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF定义在创建架构和常规表空间时不指定
ENCRYPTION子句的默认加密设置。该
default_table_encryption变量仅适用于用户创建的模式和常规表空间。它不控制mysql系统表空间的加密。设置的运行时值
default_table_encryption需要SYSTEM_VARIABLES_ADMIN和TABLE_ENCRYPTION_ADMIN特权,或SUPER特权。default_table_encryption支持SET PERSIST和SET PERSIST_ONLY语法。请参见“持久性系统变量”。有关更多信息,请参见为架构和常规表空间定义加密默认值。
default_tmp_storage_engine属性 值 命令行格式 --default-tmp-storage-engine=name系统变量 default_tmp_storage_engine范围 Global, Session 动态 是 SET_VAR提示适用是 类型 列举 默认值 InnoDBTEMPORARY表的默认存储引擎(使用创建CREATE TEMPORARY TABLE)。要为永久表设置存储引擎,请设置default_storage_engine系统变量。另请参阅关于该变量有关可能值的讨论。如果在服务器启动时禁用了默认存储引擎,则必须将永久和
TEMPORARY表的默认引擎设置为其他引擎,否则服务器将无法启动。default_week_format属性 值 命令行格式 --default-week-format=#系统变量 default_week_format范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 7该
WEEK()功能要使用的默认模式值。请参见“日期和时间函数”。delay_key_write属性 值 命令行格式 --delay-key-write[={OFF|ON|ALL}]系统变量 delay_key_write范围 Global 动态 是 SET_VAR提示适用没有 类型 列举 默认值 ON有效值 ONOFFALL此变量指定如何使用延迟键写入。它仅适用于
MyISAM表。延迟的键写入导致键缓冲区在两次写入之间不刷新。另请参见“ MyISAM启动选项”。此变量可以具有以下值之一,以影响对
DELAY_KEY_WRITE可在CREATE TABLE语句中使用的表选项的处理。选项 描述 OFFDELAY_KEY_WRITE被忽略。ONMySQL支持语句中 DELAY_KEY_WRITE指定的任何选项CREATE TABLE。这是默认值。ALL将所有新打开的表视为已将其 DELAY_KEY_WRITE启用后创建。注意
如果将此变量设置为
ALL,则在使用MyISAM表时,不应使用其他程序(例如,另一个MySQL服务器或myisamchk)中的表。这样做会导致索引损坏。如果
DELAY_KEY_WRITE为表启用了此功能,则不会在每次索引更新时为该表刷新键缓冲区,而仅在关闭表时才刷新键缓冲区。这样可以大大加快键的写入速度,但是,如果使用此功能,则应MyISAM通过使用myisam_recover_options系统变量集(例如myisam_recover_options='BACKUP,FORCE')启动服务器,以添加对所有表的自动检查。请参见“服务器系统变量”和“ MyISAM启动选项”。如果启动mysqld的使用
--skip-new,delay_key_write设置为OFF。警告
如果使用启用外部锁定
--external-locking,则无法防止使用延迟键写入的表的索引损坏。delayed_insert_limit属性 值 命令行格式 --delayed-insert-limit=#不推荐使用 是 系统变量 delayed_insert_limit范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 100最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295不建议使用此系统变量(因为
DELAYED不支持插入),并且在将来的版本中将其删除。delayed_insert_timeout属性 值 命令行格式 --delayed-insert-timeout=#不推荐使用 是 系统变量 delayed_insert_timeout范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 300不建议使用此系统变量(因为
DELAYED不支持插入),并且在将来的版本中将其删除。delayed_queue_size属性 值 命令行格式 --delayed-queue-size=#不推荐使用 是 系统变量 delayed_queue_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1000最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295不建议使用此系统变量(因为
DELAYED不支持插入),并且在将来的版本中将其删除。disabled_storage_engines属性 值 命令行格式 --disabled-storage-engines=engine[,engine]...系统变量 disabled_storage_engines范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值 empty string此变量指示哪些存储引擎不能用于创建表或表空间。例如,为防止创建新表
MyISAM或FEDERATED表,请在服务器选项文件中使用以下几行启动服务器:[mysqld] disabled_storage_engines="MyISAM,FEDERATED"
默认情况下
disabled_storage_engines为空(没有禁用引擎),但是可以将其设置为一个或多个引擎的逗号分隔列表(不区分大小写)。任何在值命名的发动机不能用于创建表或表空间CREATE TABLE或者CREATE TABLESPACE,并且不能与使用ALTER TABLE ... ENGINE或ALTER TABLESPACE ... ENGINE更改现有的表或表空间的存储引擎。尝试这样做会导致ER_DISABLED_STORAGE_ENGINE错误。disabled_storage_engines不限制为现有的表的其它DDL语句,比如CREATE INDEX,TRUNCATE TABLE,ANALYZE TABLE,DROP TABLE,或DROP TABLESPACE。这允许平稳过渡,以便可以使用诸如之类的方法将使用禁用引擎的现有表或表空间迁移到允许的引擎。ALTER TABLE ... ENGINE permitted_engine允许将
default_storage_engine或default_tmp_storage_engine系统变量设置为已禁用的存储引擎。这可能导致应用程序行为异常或失败,尽管这在开发环境中可能是一种有用的技术,用于识别使用禁用引擎的应用程序,以便可以对其进行修改。disabled_storage_engines被禁用,如果服务器开始的任何选项没有影响:--initialize,--initialize-insecure,--skip-grant-tables。注意
设置
disabled_storage_engines可能导致mysql_upgrade出现问题。有关详细信息,请参见“mysql_upgrade-检查和升级MySQL表”。disconnect_on_expired_password属性 值 命令行格式 --disconnect-on-expired-password[={OFF|ON}]系统变量 disconnect_on_expired_password范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON此变量控制服务器如何处理具有过期密码的客户端:
- 如果客户端指示它可以处理过期的密码,则的值
disconnect_on_expired_password无关紧要。服务器允许客户端进行连接,但将其置于沙盒模式。 如果客户端未表明它可以处理过期的密码,则服务器将根据以下值来处理客户端
disconnect_on_expired_password:- 如果
disconnect_on_expired_password启用了:,则服务器将断开客户端连接。 - 如果
disconnect_on_expired_password禁用了:,则服务器允许客户端连接,但将其置于沙盒模式。
- 如果
有关与过期密码处理有关的客户端和服务器设置的交互的更多信息,请参见“过期密码的服务器处理”。
- 如果客户端指示它可以处理过期的密码,则的值
div_precision_increment属性 值 命令行格式 --div-precision-increment=#系统变量 div_precision_increment范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 4最低值 0最大值 30此变量表示位数,通过该位数可以增加对操作员执行的除法运算结果的范围
/。默认值为4。最小值和最大值分别为0和30。以下示例说明了增加默认值的效果。mysql> SELECT 1/7; +-------- + | 1/7 | +-------- + | 0.1429 | +-------- + mysql> SET div_precision_increment = 12; mysql> SELECT 1/7; +---------------- + | 1/7 | +---------------- + | 0.142857142857 | +---------------- +
dragnet.log_error_filter_rules属性 值 命令行格式 --dragnet.log-error-filter-rules=value系统变量 dragnet.log_error_filter_rules范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 IF prio>=INFORMATION THEN drop. IF EXISTS source_line THEN unset source_line.筛选器规则,用于控制
log_filter_dragnet错误日志筛选器组件的操作。如果log_filter_dragnet未安装,则不dragnet.log_error_filter_rules可用。如果log_filter_dragnet已安装但未启用,则更改dragnet.log_error_filter_rules无效。从MySQL 8.0.12开始,可以查询
dragnet.Statusstatus变量以确定对的最新赋值的结果dragnet.log_error_filter_rules。在MySQL 8.0.12之前,
dragnet.log_error_filter_rules在运行时成功分配会产生一条注释,确认新值:mysql>
SET GLOBAL dragnet.log_error_filter_rules = 'IF prio <> 0 THEN unset prio.'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql>SHOW WARNINGS \G *************************** 1. row *************************** Level : Note Code : 4569 Message : filter configuration accepted : SET @@GLOBAL.dragnet.log_error_filter_rules= 'IF prio!=ERROR THEN unset prio.';显示的值表示在成功解析规则集并将其编译为内部格式之后
SHOW WARNINGS的“反编译”规范表示。从语义上讲,此规范形式与分配给的值相同dragnet.log_error_filter_rules,但是所分配的值和规范值之间可能存在一些差异,如前面的示例所示:- 该
<>运营商变更为!=。 - 数字优先级0更改为相应的优先级符号
ERROR。 - 可选空格被删除。
有关更多信息,请参见“MySQL服务器错误日志”和“错误日志组件”。
- 该
end_markers_in_json属性 值 命令行格式 --end-markers-in-json[={OFF|ON}]系统变量 end_markers_in_json范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF优化程序JSON输出是否应添加结束标记。参见 MySQL内部:end_markers_in_json系统变量。
eq_range_index_dive_limit属性 值 命令行格式 --eq-range-index-dive-limit=#系统变量 eq_range_index_dive_limit范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 200最低值 0最大值 4294967295当优化程序在估计合格行的数量时,优化器应从使用索引潜水切换到索引统计信息时,此变量指示相等比较条件下的相等范围数。它适用于评估具有以下等效形式之一的表达式,其中优化器使用非唯一索引来查找
col_name值:col_name
IN (val1, ..., valN) col_name = val1 OR ... OR col_name = valN在两种情况下,表达式都包含
N相等范围。优化器可以使用索引下降或索引统计信息进行行估计。如果eq_range_index_dive_limit大于0,则在存在eq_range_index_dive_limit相等范围或更多相等范围的情况下,优化器将使用现有索引统计信息,而不是索引下降。因此,要允许在最大N相等范围内使用索引下降,请将其设置eq_range_index_dive_limit为N+1。要禁用索引统计信息,并且始终使用索引下降,而无论如何将其N设置eq_range_index_dive_limit为0。有关更多信息,请参见多值比较的相等范围优化。
要更新表索引统计信息以获得最佳估计值,请使用
ANALYZE TABLE。error_count由最后一条生成消息的语句导致的错误数。该变量是只读的。请参见“ SHOW ERRORS语句”。
event_scheduler属性 值 命令行格式 --event-scheduler[=value]系统变量 event_scheduler范围 Global 动态 是 SET_VAR提示适用没有 类型 列举 默认值 ON有效值 ONOFFDISABLED此变量启用或禁用以及启动或停止事件调度程序。可能的状态值
ON,OFF和DISABLED,默认为OFF。启用事件计划程序OFF与禁用事件计划程序不同,后者需要将状态设置为DISABLED。在“事件调度程序配置”中将更详细地讨论此变量及其对事件调度程序操作的影响。explicit_defaults_for_timestamp属性 值 命令行格式 --explicit-defaults-for-timestamp[={OFF|ON}]不推荐使用 是 系统变量 explicit_defaults_for_timestamp范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON此系统变量确定服务器是否对列中的默认值和
NULL-value处理启用某些非标准行为TIMESTAMP。默认情况下explicit_defaults_for_timestamp处于启用状态,它将禁用非标准行为。禁用会explicit_defaults_for_timestamp导致警告。从MySQL 8.0.18开始,设置此系统变量的会话值不再是受限制的操作。
如果
explicit_defaults_for_timestamp禁用,则服务器将启用非标准行为并按TIMESTAMP如下方式处理列:TIMESTAMP未使用NULL属性明确声明的列将使用属性自动声明NOT NULL。为此类列分配值NULL是允许的,并将该列设置为当前时间戳。TIMESTAMP如果未使用NULL属性或显式DEFAULT或ON UPDATE属性显式声明表中的第一列,则使用DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP属性自动声明表中的第一列。TIMESTAMP第一个列之后的列(如果未使用NULL属性或显式DEFAULT属性显式声明)将自动声明为DEFAULT '0000-00-00 00:00:00'(“零”时间戳)。对于未为此类列指定显式值的插入行,将为其分配列,'0000-00-00 00:00:00'并且不会发生警告。根据是否
NO_ZERO_DATE启用严格SQL模式或 SQL模式,默认值'0000-00-00 00:00:00'可能无效。请注意,TRADITIONALSQL模式包括严格模式和NO_ZERO_DATE。请参见“服务器SQL模式”。
刚刚描述的非标准行为已被弃用,并将在将来的MySQL版本中删除。
如果
explicit_defaults_for_timestamp启用,则服务器将禁用非标准行为并按以下方式处理TIMESTAMP列:- 无法为
TIMESTAMP列分配值NULL来将其设置为当前时间戳。要分配当前时间戳,请将该列设置为,CURRENT_TIMESTAMP或将其设置为同义词NOW()。 TIMESTAMP未使用NOT NULL属性明确声明的列将自动使用NULL属性和允许NULL值声明。为此类列分配一个值,NULL将其设置为NULL,而不是当前时间戳。TIMESTAMP使用NOT NULL属性声明的列不允许使用NULL值。对于NULL为此类列指定的插入,结果要么是单行插入错误,要么是启用了严格SQL模式,要么'0000-00-00 00:00:00'是为禁用了严格SQL模式的多行插入而插入的。在任何情况下都不会为该列分配将其NULL设置为当前时间戳的值。TIMESTAMP使用该NOT NULL属性显式声明但不使用显式DEFAULT属性的列将被视为没有默认值。对于没有为该列指定显式值的插入行,结果取决于SQL模式。如果启用了严格的SQL模式,则会发生错误。如果未启用严格的SQL模式,则使用隐式默认值声明该列,'0000-00-00 00:00:00'并出现警告。这类似于MySQL处理其他时间类型(例如)的方式DATETIME。- 不会
TIMESTAMP使用DEFAULT CURRENT_TIMESTAMP或ON UPDATE CURRENT_TIMESTAMP属性自动声明任何列。这些属性必须明确指定。 - 所述第一
TIMESTAMP表中的列不从不同的处理TIMESTAMP之后的第一个列。
如果
explicit_defaults_for_timestamp在服务器启动时被禁用,则此警告将显示在错误日志中:[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
如警告所示,要禁用不建议使用的非标准行为,请
explicit_defaults_for_timestamp在服务器启动时启用系统变量。注意
explicit_defaults_for_timestamp本身已被弃用,因为它的唯一目的是允许控制TIMESTAMP将在以后的MySQL版本中删除的已弃用行为。当这些行为explicit_defaults_for_timestamp消失时,将没有任何目的,也将被删除。有关更多信息,请参见“ TIMESTAMP和DATETIME的自动初始化和更新”。
external_user属性 值 系统变量 external_user范围 Session 动态 没有 SET_VAR提示适用没有 类型 string 认证过程中使用的外部用户名,由用于认证客户端的插件设置。使用本地(内置)MySQL身份验证,或者如果插件未设置值,则此变量为
NULL。请参见“代理用户”。flush属性 值 命令行格式 --flush[={OFF|ON}]系统变量 flush范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果为
ON,则服务器在每个SQL语句之后将所有更改刷新(同步)到磁盘。通常,MySQL仅在每个SQL语句之后才将所有更改写入磁盘,并让操作系统处理与磁盘的同步。请参见第B.4.3.3节“如果MySQL继续崩溃,该怎么办”。ON如果使用该选项启动mysqld,则此变量设置为--flush。注意
如果
flush启用,则值flush_time无关紧要,并且更改flush_time对刷新行为没有影响。flush_time属性 值 命令行格式 --flush-time=#系统变量 flush_time范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0如果将此值设置为非零值,则
flush_time每秒钟关闭所有表以释放资源并将未刷新的数据同步到磁盘。仅在资源最少的系统上最好使用此选项。注意
如果
flush启用,则值flush_time无关紧要,并且更改flush_time对刷新行为没有影响。foreign_key_checks属性 值 系统变量 foreign_key_checks范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 ON如果设置为1(默认值),则检查外键约束。如果设置为0,将忽略外键约束,但有一些例外。重新创建被删除的表时,如果表定义不符合引用该表的外键约束,则将返回错误。同样,
ALTER TABLE如果外键定义格式不正确,则操作会返回错误。有关更多信息,请参见“外键约束”。设置此变量对
NDB表的作用与对表的作用相同InnoDB。通常,您可以在正常操作期间将此设置保持启用状态,以加强参照完整性。禁用外键检查对于InnoDB以不同于其父/子关系所需顺序的顺序重新加载表很有用。请参见“外键约束”。设置
foreign_key_checks为0还会影响数据定义语句:DROP SCHEMA即使架构包含包含具有该架构之外的DROP TABLE表所引用的外键的表,也将丢弃该架构;并删除具有其他表所引用的外键的表。注意
设置
foreign_key_checks为1不会触发对现有表数据的扫描。因此,foreign_key_checks = 0将不验证添加到表中的行的一致性。即使使用,也不允许删除外键约束所需的索引
foreign_key_checks=0。在删除索引之前,必须删除外键约束。ft_boolean_syntax属性 值 命令行格式 --ft-boolean-syntax=name系统变量 ft_boolean_syntax范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 +-><()~*:""&|使用进行布尔布尔全文搜索支持的运算符列表
IN BOOLEAN MODE。请参见“布尔全文搜索”。默认变量值为
' +-><()~*:""&|'。更改值的规则如下:- 运算符功能由字符串中的位置确定。
- 替换值必须是14个字符。
- 每个字符必须是ASCII非字母数字字符。
- 第一个或第二个字符必须为空格。
- 除位置11和12处的引用引号运算符外,不允许重复。这两个字符不需要相同,但它们可能是唯一的两个。
- 位置10,13,和14(在缺省情况下被设定为
:,&和|)被保留用于未来的扩展。
ft_max_word_len属性 值 命令行格式 --ft-max-word-len=#系统变量 ft_max_word_len范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 最低值 10MyISAMFULLTEXT索引中要包含的单词的最大长度。注意
FULLTEXTMyISAM更改此变量后,必须在表上重建索引。使用。REPAIR TABLE tbl_name QUICKft_min_word_len属性 值 命令行格式 --ft-min-word-len=#系统变量 ft_min_word_len范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 4最低值 1要包含在
MyISAMFULLTEXT索引中的单词的最小长度。注意
FULLTEXTMyISAM更改此变量后,必须在表上重建索引。使用。REPAIR TABLE tbl_name QUICKft_query_expansion_limit属性 值 命令行格式 --ft-query-expansion-limit=#系统变量 ft_query_expansion_limit范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 20最低值 0最大值 1000用于使用进行全文搜索的顶部匹配项的数量
WITH QUERY EXPANSION。ft_stopword_file属性 值 命令行格式 --ft-stopword-file=file_name系统变量 ft_stopword_file范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 从中读取用于在
MyISAM表上进行全文搜索的停用词列表的文件。除非指定了绝对路径名以指定其他目录,否则服务器将在数据目录中查找文件。文件中的所有单词都被使用;评论不被接受。默认情况下,使用内置的停用词列表(如storage/myisam/ft_static.c文件中所定义)。将此变量设置为空字符串('')将禁用停用词过滤。另请参见“全文停用词”。注意
FULLTEXTMyISAM更改此变量或停用词文件的内容后,必须在表上重建索引。使用。REPAIR TABLE tbl_name QUICKgeneral_log属性 值 命令行格式 --general-log[={OFF|ON}]系统变量 general_log范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF是否启用一般查询日志。该值可以是0(或
OFF)以禁用日志,也可以是1(或ON)以启用日志。日志输出的目的地由log_output系统变量控制;如果该值为NONE,即使启用了日志,也不会写入任何日志条目。general_log_file属性 值 命令行格式 --general-log-file=file_name系统变量 general_log_file范围 Global 动态 是 SET_VAR提示适用没有 类型 文件名 默认值 host_name.log常规查询日志文件的名称。默认值为
host_name.log,但可以使用该--general_log_file选项更改初始值。generated_random_password_length属性 值 命令行格式 --generated-random-password-length=#介绍了 8.0.18 系统变量 generated_random_password_length范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 20最低值 5最大值 255最大字符数为生成的随机密码允许的
CREATE USER,ALTER USER和SET PASSWORD语句。有关更多信息,请参见随机密码生成。group_concat_max_len属性 值 命令行格式 --group-concat-max-len=#系统变量 group_concat_max_len范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 1024最低值 4最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295该
GROUP_CONCAT()函数允许的最大结果长度(以字节为单位)。默认值为1024。have_compressYES如果zlib压缩库可用于服务器(NO如果没有)。如果不是,则不能使用COMPRESS()和UNCOMPRESS()功能。have_dynamic_loadingYES如果mysqld支持动态加载插件,NO则不支持。如果值为NO,则不能使用诸如--plugin-load在服务器启动INSTALL PLUGIN时加载插件或在运行时加载插件的语句之类的选项。have_geometryYES如果服务器支持空间数据类型,NO则不支持。have_openssl此变量是的别名
have_ssl。have_profilingYES如果存在语句分析功能,NO则不存在。如果存在,则profiling系统变量控制是启用还是禁用此功能。请参见“ SHOW PROFILES语句”。不建议使用此变量,并将在将来的MySQL版本中将其删除。
have_query_cache查询缓存已在MySQL 8.0.3中删除。
have_query_cache不推荐使用,其值始终为NO,并将在以后的MySQL版本中删除。have_rtree_keysYES如果RTREE索引可用,NO则不可用。(这些用于MyISAM表中的空间索引。)have_ssl属性 值 系统变量 have_ssl范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 有效值 YES(提供SSL支持)DISABLED(SSL支持已编译到服务器中,但是未使用必要的选项启动服务器来启用它)YES如果mysqld支持SSL连接,DISABLED则服务器是使用SSL支持编译的,但未使用适当的选项启动。有关更多信息,请参见“从源代码安装MySQL”。--ssl-xxxhave_statement_timeout属性 值 系统变量 have_statement_timeout范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 语句执行超时功能是否可用(请参阅“语句执行时间优化器提示”)。该值可以是
NO此功能使用的后台线程无法初始化的情况。have_symlinkYES如果启用了符号链接支持,NO则未启用。在Unix上,这是必需的,以支持DATA DIRECTORY和INDEX DIRECTORY表选项。如果使用该--skip-symbolic-links选项启动服务器,则值为DISABLED。在Windows上,此变量没有意义。
注意
符号链接支持以及
--symbolic-links控制它的选项已被弃用,并将在以后的MySQL版本中删除。此外,默认情况下禁用此选项。相关的have_symlink系统变量也已被弃用,并将在MySQL的未来版本中删除。histogram_generation_max_mem_size属性 值 命令行格式 --histogram-generation-max-mem-size=#系统变量 histogram_generation_max_mem_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 20000000最低值 1000000最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295可用于生成直方图统计信息的最大内存量。请参见“优化器统计”和“ ANALYZE TABLE语句”。
设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
host_cache_size属性 值 命令行格式 --host-cache-size=#系统变量 host_cache_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 -1(表示自动调整大小;不分配此文字值)最低值 0最大值 65536此变量控制主机缓存的大小,以及
host_cache公开缓存内容的“性能模式”表的大小。将大小设置为0将禁用主机缓存。在运行时更改缓存大小会导致隐式FLUSH HOSTS操作,该操作将清除主机缓存,截断host_cache表并取消阻止所有被阻止的主机。默认值自动调整为128,最大值
max_connections为500时加1,max_connections值超过500时每增加20时加1,上限为2000。使用该
--skip-host-cache选项类似于将host_cache_size系统变量设置为0,但host_cache_size更灵活,因为它还可以在运行时(不仅在服务器启动时)用于调整大小,启用和禁用主机缓存。使用启动服务器--skip-host-cache并不能防止更改的值host_cache_size,但是这种更改无效,即使host_cache_size在运行时将其设置为大于0,也不会重新启用缓存。有关主机缓存如何工作的更多信息,请参见“ DNS查找优化和主机缓存”。
hostname属性 值 系统变量 hostname范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 服务器在启动时将此变量设置为服务器主机名。根据RFC 1034,从MySQL 8.0.17开始,最大长度为255个字符,在此之前为60个字符。
identity此变量是变量的同义词
last_insert_id。存在它是为了与其他数据库系统兼容。您可以使用读取其值SELECT @@identity,并使用进行设置SET identity。init_connect属性 值 命令行格式 --init-connect=name系统变量 init_connect范围 Global 动态 是 SET_VAR提示适用没有 类型 string 服务器为每个连接的客户端执行的字符串。该字符串由一个或多个SQL语句组成,以分号字符分隔。
对于具有
CONNECTION_ADMIN或SUPER特权的用户,init_connect不会执行的内容。这样做是为了使的错误值init_connect不会阻止所有客户端连接。例如,该值可能包含具有语法错误的语句,从而导致客户端连接失败。init_connect对具有CONNECTION_ADMIN或SUPER特权的用户不执行将使他们能够打开连接并固定init_connect值。init_connect密码过期的所有客户端用户都将跳过执行。这样做是因为这样的用户无法执行任意语句,因此init_connect执行将失败,从而使客户端无法连接。跳过init_connect执行使用户可以连接和更改密码。服务器将丢弃由值产生的语句产生的任何结果集
init_connect。information_schema_stats_expiry属性 值 命令行格式 --information-schema-stats-expiry=#系统变量 information_schema_stats_expiry范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 86400最低值 0最大值 31536000一些
INFORMATION_SCHEMA表包含提供表统计信息的列:STATISTICS.CARDINALITY TABLES.AUTO_INCREMENT TABLES.AVG_ROW_LENGTH TABLES.CHECKSUM TABLES.CHECK_TIME TABLES.CREATE_TIME TABLES.DATA_FREE TABLES.DATA_LENGTH TABLES.INDEX_LENGTH TABLES.MAX_DATA_LENGTH TABLES.TABLE_ROWS TABLES.UPDATE_TIME
这些列表示动态表元数据。即,信息随着表内容的改变而改变。
默认情况下,查询列时,MySQL从
mysql.index_stats和mysql.table_stats字典表中检索这些列的缓存值,这比直接从存储引擎中检索统计信息更为有效。如果缓存的统计信息不可用或已过期,MySQL将从存储引擎中检索最新的统计信息并将其缓存在mysql.index_stats和mysql.table_stats字典表中。后续查询将检索缓存的统计信息,直到缓存的统计信息到期为止。该
information_schema_stats_expiry会话变量定义缓存统计到期之前的一段时间。默认值为86400秒(24小时),但是时间段可以延长到一年。要随时更新给定表的缓存值,请使用
ANALYZE TABLE。要始终直接从存储引擎检索最新统计信息并绕过缓存的值,请设置
information_schema_stats_expiry为0。在以下情况下,查询统计信息列不会在
mysql.index_stats和mysql.table_stats字典表中存储或更新统计信息:- 缓存的统计信息尚未过期时。
- 当
information_schema_stats_expiry设置为0。 - 当服务器在启动
read_only,super_read_only,transaction_read_only,或innodb_read_only模式。 - 当查询还获取性能架构数据时。
information_schema_stats_expiry是一个会话变量,每个客户端会话都可以定义自己的到期值。从存储引擎检索并由一个会话缓存的统计信息可用于其他会话。有关相关信息,请参见“优化INFORMATION_SCHEMA查询”。
init_file属性 值 命令行格式 --init-file=file_name系统变量 init_file范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 如果指定,此变量将命名一个文件,该文件包含要在启动过程中读取和执行的SQL语句。在MySQL 8.0.18之前,每个语句必须在一行上,并且不应包含注释。从MySQL 8.0.18开始,文件中语句的可接受格式已扩展为支持以下结构:
delimiter ;,将语句定界符设置为;字符。delimiter $$,将语句定界符设置为$$字符序列。- 同一行上的多个语句,由当前定界符分隔。
- 多行语句。
- 从
#字符到行尾的注释。 - 从
--序列到行尾的注释。 - 从一个
/*序列到以下*/序列(包括多行)的C样式注释。 - 用单引号(
')或双引号(")字符括起来的多行字符串文字。
如果服务器使用
--initialize或--initialize-insecure选项启动,则它将在引导模式下运行,并且某些功能不可用,该功能限制了文件中允许的语句。这些语句包括与帐户管理(例如CREATE USER或GRANT),复制和全局事务标识符有关的语句。请参见“使用全局事务标识符进行复制”。innodb_xxxInnoDB系统变量在“ InnoDB启动选项和系统变量”中列出。这些变量控制表的存储,内存使用和I / O模式的许多方面InnoDB,并且由于它InnoDB是默认存储引擎,因此尤其重要。insert_id插入值时,以下
INSERT或ALTER TABLE语句要使用的AUTO_INCREMENT值。这主要与二进制日志一起使用。interactive_timeout属性 值 命令行格式 --interactive-timeout=#系统变量 interactive_timeout范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 28800最低值 1服务器在关闭交互式连接之前等待活动的秒数。交互式客户端定义为使用
CLIENT_INTERACTIVE选项的客户端mysql_real_connect()。另请参阅wait_timeout。internal_tmp_disk_storage_engine属性 值 命令行格式 --internal-tmp-disk-storage-engine=#已移除 8.0.16 系统变量 internal_tmp_disk_storage_engine范围 Global 动态 是 SET_VAR提示适用没有 类型 列举 默认值 INNODB有效值 MYISAMINNODB重要
在MySQL 8.0.16和更高版本中,磁盘上的内部临时表始终使用
InnoDB存储引擎。从MySQL 8.0.16开始,此变量已被删除,因此不再受支持。在MySQL 8.0.16之前,此变量确定用于磁盘内部临时表的存储引擎(请参见磁盘内部临时表的存储引擎)。允许的值为
MYISAM和INNODB(默认值)。internal_tmp_mem_storage_engine属性 值 命令行格式 --internal-tmp-mem-storage-engine=#系统变量 internal_tmp_mem_storage_engine范围 Global, Session 动态 是 SET_VAR提示适用是 类型 列举 默认值 TempTable有效值 TempTableMEMORY内存中内部临时表的存储引擎(请参见“ MySQL中的内部临时表使用”)。允许的值为
TempTable(默认值)和MEMORY。所述优化器使用由限定的存储引擎
internal_tmp_mem_storage_engine在存储器内部临时表。join_buffer_size属性 值 命令行格式 --join-buffer-size=#系统变量 join_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 262144最低值 128最大值(其他64位平台) 18446744073709547520最大值(其他32位平台) 4294967295最大值(Windows) 4294967295用于普通索引扫描,范围索引扫描和不使用索引的联接的缓冲区的最小大小,从而执行全表扫描。通常,获得快速联接的最佳方法是添加索引。
join_buffer_size当无法添加索引时,增加的值以获得更快的完全连接。为两个表之间的每个完全连接分配一个连接缓冲区。对于不使用索引的多个表之间的复杂联接,可能需要多个联接缓冲区。除非使用“块嵌套循环”或“批处理密钥访问”算法,否则将缓冲区设置为大于容纳每个匹配行所需的缓冲区不会有任何好处,并且所有联接至少分配最小大小,因此在将此变量设置为全球价值巨大。最好保持全局设置较小,并且仅在进行大型联接的会话中将会话设置更改为较大的值,或者使用
SET_VAR优化程序提示在每个查询的基础上更改设置(请参见“优化器提示”)。如果全局大小大于使用它的大多数查询所需的大小,则内存分配时间可能会导致性能大幅下降。当使用“块嵌套循环”时,较大的连接缓冲区可能是有益的,直到第一个表中所有行的所有必需列都存储在连接缓冲区中为止。这取决于查询;最佳大小可能小于保存第一个表中的所有行。
使用批处理密钥访问时,的值
join_buffer_size定义在对存储引擎的每个请求中该批密钥的大小。缓冲区越大,对连接操作右侧表的顺序访问就越多,这可以显着提高性能。默认值为256KB。的最大允许设置为
join_buffer_size4GB-1。对于64位平台,允许使用更大的值(64位Windows除外,在Windows中,较大的值会被警告截断为4GB-1)。有关联接缓冲的更多信息,请参见“嵌套循环联接算法”。有关批处理密钥访问的信息,请参见“块嵌套循环和批处理密钥访问联接”。
keep_files_on_create属性 值 命令行格式 --keep-files-on-create[={OFF|ON}]系统变量 keep_files_on_create范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果
MyISAM创建的表没有DATA DIRECTORY选项,.MYD则在数据库目录中创建文件。默认情况下,如果在这种情况下MyISAM找到现有.MYD文件,它将覆盖它。这同样适用于.MYI对没有创建的表文件INDEX DIRECTORY选项。若要抑制此行为,请将keep_files_on_create变量设置为ON(1),在这种情况下MyISAM不会覆盖现有文件,而是返回错误。默认值为OFF(0)。如果
MyISAM使用DATA DIRECTORY或INDEX DIRECTORY选项创建表,并且找到现有文件.MYD或.MYI文件,则MyISAM始终返回错误。它不会覆盖指定目录中的文件。key_buffer_size属性 值 命令行格式 --key-buffer-size=#系统变量 key_buffer_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8388608最低值 8最大值(64位平台) OS_PER_PROCESS_LIMIT最大值(32位平台) 4294967295MyISAM表的索引块被缓冲并由所有线程共享。key_buffer_size是用于索引块的缓冲区的大小。密钥缓冲区也称为密钥缓存。key_buffer_size在32位平台上,最大允许设置为 4GB-1。对于64位平台,允许使用更大的值。有效的最大大小可能会更小,具体取决于您的可用物理RAM以及操作系统或硬件平台施加的每个进程RAM限制。此变量的值指示请求的内存量。在内部,服务器会分配尽可能多的内存(最多达到此数量),但实际分配的内存可能会更少。您可以增加该值,以便对所有读取和多次写入获得更好的索引处理。在主要功能是使用以下命令运行MySQL的系统上
MyISAM存储引擎中,此变量可接受的值为计算机总内存的25%。但是,您应该注意,如果将该值设置得太大(例如,超过计算机总内存的50%),则系统可能会开始分页并变得非常慢。这是因为MySQL依赖操作系统来执行文件系统缓存以进行数据读取,因此您必须为文件系统缓存留出一些空间。除了之外,您还应该考虑可能使用的任何其他存储引擎的内存要求MyISAM。为了在同时写入多行时提高速度,请使用
LOCK TABLES。请参见“优化SQL语句”。您可以通过发出检查键值缓冲区的性能
SHOW STATUS声明和检查Key_read_requests,Key_reads,Key_write_requests,和Key_writes状态变量。(请参见“ SHOW语句”。)该Key_reads/Key_read_requests比率通常应小于0.01。Key_writes/Key_write_requests如果您主要使用更新和删除操作,则该比率通常接近1;但是如果您倾向于同时影响多个行的更新操作或使用DELAY_KEY_WRITEtable选项,则该比率可能会小得多。可以
key_buffer_size结合Key_blocks_unused状态变量和缓冲区块大小来确定使用中的关键缓冲区的比例,这可以从key_cache_block_size系统变量中获得:1 - ((Key_blocks_unused * key_cache_block_size) / key_buffer_size)
该值是一个近似值,因为密钥缓冲区中的某些空间是在内部为管理结构分配的。影响这些结构的开销量的因素包括块大小和指针大小。随着块大小的增加,丢失的关键缓冲区所占百分比趋于减少。较大的块导致较少的读取操作(因为每次读取获得更多的键),但是相反,未检查的键的读取增加(如果不是块中的所有键都与查询相关)。
可以创建多个
MyISAM密钥缓存。4GB的大小限制单独适用于每个缓存,而不是一个组。请参见“ MyISAM密钥缓存”。key_cache_age_threshold属性 值 命令行格式 --key-cache-age-threshold=#系统变量 key_cache_age_threshold范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 300最低值 100最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295此值控制从键高速缓存的热子列表到热子列表的缓冲区降级。较低的值会导致降级更快地发生。最小值是100。默认值是300。请参见“ MyISAM密钥缓存”。
key_cache_block_size属性 值 命令行格式 --key-cache-block-size=#系统变量 key_cache_block_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1024最低值 512最大值 16384密钥缓存中块的字节大小。默认值为1024。请参见“ MyISAM密钥缓存”。
key_cache_division_limit属性 值 命令行格式 --key-cache-division-limit=#系统变量 key_cache_division_limit范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 100最低值 1最大值 100关键高速缓存缓冲区列表的热和热子列表之间的划分点。该值是用于热子列表的缓冲区列表的百分比。允许的值范围是1到100。默认值是100。请参见“ MyISAM密钥缓存”。
large_files_support属性 值 系统变量 large_files_support范围 Global 动态 没有 SET_VAR提示适用没有 mysqld是否使用大文件支持选项进行编译。
large_pages属性 值 命令行格式 --large-pages[={OFF|ON}]系统变量 large_pages范围 Global 动态 没有 SET_VAR提示适用没有 特定于平台 Linux 类型 布尔型 默认值 OFF是否启用大页面支持(通过该
--large-pages选项)。请参见“启用大页面支持”。large_page_size属性 值 系统变量 large_page_size范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 0如果启用了大页面支持,则会显示内存页面的大小。大内存页面仅在Linux上受支持;在其他平台上,此变量的值始终为0。请参见“启用大页面支持”。
last_insert_id要从返回的值
LAST_INSERT_ID()。当您LAST_INSERT_ID()在更新表的语句中使用时,它存储在二进制日志中。设置此变量不会更新mysql_insert_id()C API函数返回的值。lc_messages属性 值 命令行格式 --lc-messages=name系统变量 lc_messages范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 en_US用于错误消息的语言环境。默认值为
en_US。服务器将参数转换为语言名称,并将其与的值组合lc_messages_dir以产生错误消息文件的位置。请参见“设置错误消息语言”。lc_messages_dir属性 值 命令行格式 --lc-messages-dir=dir_name系统变量 lc_messages_dir范围 Global 动态 没有 SET_VAR提示适用没有 类型 目录名 错误消息所在的目录。服务器使用该值和的值
lc_messages来生成错误消息文件的位置。请参见“设置错误消息语言”。lc_time_names属性 值 命令行格式 --lc-time-names=value系统变量 lc_time_names范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 此变量指定控制显示日期和月份名称及缩写的语言的语言环境。此变量影响从输出
DATE_FORMAT(),DAYNAME()和MONTHNAME()功能。语言环境名称是POSIX样式的值,例如'ja_JP'或'pt_BR'。默认值'en_US'与系统的区域设置无关。有关更多信息,请参见“ MySQL服务器区域设置支持”。license属性 值 系统变量 license范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值 GPL服务器拥有的许可证类型。
local_infile属性 值 命令行格式 --local-infile[={OFF|ON}]系统变量 local_infile范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF此变量控制语句的服务器端
LOCAL功能LOAD DATA。根据local_infile设置,服务器会拒绝或允许已LOCAL在客户端启用的客户端加载本地数据。要明确原因服务器拒绝或允许
LOAD DATA LOCAL语句(不管有客户程序和库在构建时或运行时配置),启动mysqld的与local_infile分别禁用或启用。local_infile也可以在运行时设置。有关更多信息,请参见“ LOAD DATA LOCAL的安全性问题”。lock_wait_timeout属性 值 命令行格式 --lock-wait-timeout=#系统变量 lock_wait_timeout范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 31536000最低值 1最大值 31536000此变量指定尝试获取元数据锁定的超时(以秒为单位)。允许的值范围是1到31536000(1年)。默认值为31536000。
此超时适用于所有使用元数据锁的语句。这些措施包括对表,视图,存储过程和存储函数DML和DDL操作,以及
LOCK TABLES,FLUSH TABLES WITH READ LOCK和HANDLER语句。此超时不适用于对
mysql数据库中系统表的隐式访问,例如由GRANT或REVOKE语句修改的授权表或表记录语句。超时的确适用于直接访问的系统表,例如使用SELECT或UPDATE。超时值分别适用于每次元数据锁定尝试。一个给定的语句可能需要多个锁,因此该语句可能会
lock_wait_timeout在报告超时错误之前比该值阻塞更长的时间。发生锁定超时时,ER_LOCK_WAIT_TIMEOUT将报告。lock_wait_timeout还定义了LOCK INSTANCE FOR BACKUP语句放弃放弃之前等待锁的时间。locked_in_memory属性 值 系统变量 locked_in_memory范围 Global 动态 没有 SET_VAR提示适用没有 无论mysqld的被锁在内存
--memlock。log_error属性 值 命令行格式 --log-error[=file_name]系统变量 log_error范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 默认错误日志目标。如果目标是控制台,则值为
stderr。否则,目标是文件,log_error值是文件名。请参见“MySQL服务器错误日志”。log_error_services属性 值 命令行格式 --log-error-services=value系统变量 log_error_services范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 log_filter_internal; log_sink_internal启用错误日志记录的组件。该变量可以包含具有0、1或许多元素的列表。在后一种情况下,元素可以用分号或(从MySQL 8.0.12开始)逗号分隔,并可选地后跟空格。给定的设置不能同时使用分号和逗号分隔符。组件顺序很重要,因为服务器按照列出的顺序执行组件。该
log_error_services值中命名的任何可加载(非内置)组件都必须首先安装INSTALL COMPONENT。有关更多信息,请参见“MySQL服务器错误日志”。log_error_suppression_list属性 值 命令行格式 --log-error-suppression-list=value介绍了 8.0.13 系统变量 log_error_suppression_list范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 empty string该
log_error_suppression_list系统变量适用于用于错误日志,并指定其当它们的优先级发生的事件打压的事件WARNING或INFORMATION。例如,如果某种特定类型的警告由于频繁发生但不被关注而在错误日志中被认为是不希望的“噪音”,则可以将其抑制。此变量影响log_filter_internal错误日志过滤器组件执行的过滤,该组件默认情况下处于启用状态(请参见“MySQL服务器错误日志”)。如果log_filter_internal禁用,log_error_suppression_list则无效。该
log_error_suppression_list值可以是无抑制的空字符串,也可以是一个或多个逗号分隔值的列表,这些值指示要抑制的错误代码。错误代码可以以符号或数字形式指定。可以指定带或不带MY-前缀的数字代码。数字部分中的前导零并不重要。允许的代码格式示例:ER_SERVER_SHUTDOWN_COMPLETE MY-000031 000031 MY-31 31
从可读性和可移植性的角度来看,符号值优于数字值。有关允许的错误符号和数字的信息,请参见第B.3节“错误消息参考”。
log_error_suppression_list结合的效果log_error_verbosity。log_error_verbosity属性 值 命令行格式 --log-error-verbosity=#系统变量 log_error_verbosity范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 2最低值 1最大值 3该
log_error_verbosity系统变量指定用于处理用于错误日志事件的详细程度。此变量影响log_filter_internal错误日志过滤器组件执行的过滤,该组件默认情况下处于启用状态(请参见“MySQL服务器错误日志”)。如果log_filter_internal禁用,log_error_verbosity则无效。用于错误日志事件具有的优先级
ERROR,WARNING或INFORMATION。log_error_verbosity根据允许将消息写入日志的优先级控制详细程度,如下表所示。允许的邮件优先级 log_error_verbosity值 ERROR1个 ERROR,WARNING2 ERROR,WARNING,INFORMATION3 还有一个优先级
SYSTEM。无论log_error_verbosity值如何,有关非错误情况的系统消息都会打印到错误日志中。这些消息包括启动和关闭消息,以及对设置的一些重大更改。log_error_verbosity结合的效果log_error_suppression_list。log_output属性 值 命令行格式 --log-output=name系统变量 log_output范围 Global 动态 是 SET_VAR提示适用没有 类型 组 默认值 FILE有效值 TABLEFILENONE常规查询日志和慢速查询日志输出的一个或多个目标。该值是一个列表中的一个或多种选自以下逗号分隔的话
TABLE,FILE和NONE。TABLE选择记录到系统架构中的general_log和slow_log表mysql。FILE选择记录日志文件。NONE禁用日志记录。如果NONE值中存在,则它优先于存在的其他任何单词。TABLE并且FILE可以同时选择两个日志输出目标。该变量选择日志输出目标,但不启用日志输出。为此,请启用
general_log和slow_query_log系统变量。对于FILE日志记录,general_log_file和slow_query_log_file变量确定日志文件的位置。有关更多信息,请参见“选择常规查询日志和慢查询日志输出目的地”。log_queries_not_using_indexes属性 值 命令行格式 --log-queries-not-using-indexes[={OFF|ON}]系统变量 log_queries_not_using_indexes范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果在启用慢查询日志的情况下启用此变量,则会记录预期将检索所有行的查询。请参见“MySQL服务器慢查询日志”。此选项不一定意味着不使用索引。例如,使用完全索引扫描的查询使用索引,但由于索引不会限制行数,因此将记录日志。
log_raw属性 值 命令行格式 --log-raw[={OFF|ON}]系统变量(>= 8.0.19) log_raw范围(>= 8.0.19) Global 动态(>= 8.0.19) 是 SET_VAR提示适用(>= 8.0.19)没有 类型 布尔型 默认值 OFF所述
log_raw系统变量初始设置为的值--log-raw的选择。有关更多信息,请参见该选项的描述。也可以在运行时设置系统变量以更改密码屏蔽行为。log_slow_admin_statements属性 值 命令行格式 --log-slow-admin-statements[={OFF|ON}]系统变量 log_slow_admin_statements范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF在写入慢速查询日志的语句中包括慢速管理语句。行政陈述包括
ALTER TABLE,ANALYZE TABLE,CHECK TABLE,CREATE INDEX,DROP INDEX,OPTIMIZE TABLE,和REPAIR TABLE。log_slow_extr属性 值 命令行格式 --log-slow-extra[={OFF|ON}]介绍了 8.0.14 系统变量 log_slow_extr范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果启用了慢查询日志,并且输出目标包括
FILE,则服务器会将其他字段写入日志文件行,以提供有关慢语句的信息。请参见“MySQL服务器慢查询日志”。TABLE输出不受影响。log_syslog属性 值 命令行格式 --log-syslog[={OFF|ON}]不推荐使用 是(已在8.0.13中删除) 系统变量 log_syslog范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON(启用将错误日志记录到系统日志时)在MySQL 8.0之前,此变量控制是否对系统日志(Windows以及
syslogUnix和类似Unix的系统上的事件日志)执行错误日志记录。在MySQL 8.0中,
log_sink_syseventlog日志组件将错误日志记录到系统日志中(请),因此可以通过将该组件添加到log_error_services系统变量中来启用这种类型的日志记录。log_syslog已移除。(在MySQL 8.0.13之前,log_syslog存在,但已过时,并且无效。)log_syslog_facility属性 值 命令行格式 --log-syslog-facility=value已移除 8.0.13 系统变量 log_syslog_facility范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 daemon该变量已在MySQL 8.0.13中删除,并由代替
syseventlog.facility。log_syslog_include_pid属性 值 命令行格式 --log-syslog-include-pid[={OFF|ON}]已移除 8.0.13 系统变量 log_syslog_include_pid范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON该变量已在MySQL 8.0.13中删除,并由代替
syseventlog.include_pid。log_syslog_tag属性 值 命令行格式 --log-syslog-tag=tag已移除 8.0.13 系统变量 log_syslog_tag范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 empty string该变量已在MySQL 8.0.13中删除,并由代替
syseventlog.tag。log_timestamps属性 值 命令行格式 --log-timestamps=#系统变量 log_timestamps范围 Global 动态 是 SET_VAR提示适用没有 类型 列举 默认值 UTC有效值 UTCSYSTEM此变量控制写入错误日志的消息以及通常写入文件的查询日志和慢速查询日志消息中时间戳的时区。它不影响一般的查询日志和写入表(慢查询日志消息的时区
mysql.general_log,mysql.slow_log)。CONVERT_TZ()通过设置会话time_zone系统变量,可以将从这些表中检索的行从本地系统时区转换为任何所需时区。允许的
log_timestamps值为UTC(默认值)和SYSTEM(本地系统时区)。时间戳使用ISO 8601 / RFC 3339格式编写:加上表示祖鲁时间(UTC)的尾值或(与UTC的偏移量)。
YYYY-MM-DDThh:mm:ss.uuuuuuZ±hh:mmlog_throttle_queries_not_using_indexes属性 值 命令行格式 --log-throttle-queries-not-using-indexes=#系统变量 log_throttle_queries_not_using_indexes范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0如果
log_queries_not_using_indexes启用,该log_throttle_queries_not_using_indexes变量将限制每分钟可写入慢速查询日志的此类查询的数量。值0(默认值)表示“无限制”。有关更多信息,请参见“MySQL服务器慢查询日志”。long_query_time属性 值 命令行格式 --long-query-time=#系统变量 long_query_time范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 数字 默认值 10最低值 0如果查询所花的时间超过许多秒,则服务器将增加
Slow_queries状态变量。如果启用了慢查询日志,则查询将记录到慢查询日志文件中。此值是实时测量的,而不是CPU时间,因此在轻负载系统上低于阈值的查询可能会在重负载系统上高于阈值。最小值和默认值分别long_query_time为0和10。可以将值指定为微秒的分辨率。请参见“MySQL服务器慢查询日志”。low_priority_updates属性 值 命令行格式 --low-priority-updates[={OFF|ON}]系统变量 low_priority_updates范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果设置为
1所有INSERT,UPDATE,DELETE和LOCK TABLE WRITE语句等到没有候审SELECT或LOCK TABLE READ受影响的表。通过{INSERT | REPLACE | DELETE | UPDATE}LOW_PRIORITY ...降低仅一个查询的优先级,可以获得相同的效果。此变量影响使用仅表级锁定仅存储引擎(如MyISAM,MEMORY,和MERGE)。请参见“表锁定问题”。lower_case_file_system属性 值 系统变量 lower_case_file_system范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 此变量描述数据目录所在文件系统上文件名的大小写敏感性。
OFF表示文件名区分大小写,ON表示它们不区分大小写。该变量是只读的,因为它反映了文件系统属性,并且对其进行设置对文件系统没有影响。lower_case_table_names属性 值 命令行格式 --lower-case-table-names[=#]系统变量 lower_case_table_names范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 2如果设置为0,表名将按指定存储,并且比较区分大小写。如果设置为1,则表名以小写形式存储在磁盘上,并且比较不区分大小写。如果设置为2,则表名按给定存储,但以小写形式进行比较。此选项也适用于数据库名称和表别名。有关更多详细信息,请参见“标识符区分大小写”。
在Windows上,默认值为1。在macOS上,默认值为2。在Linux上,不支持值2;在Windows上,默认值为2。服务器将值强制改为0。
如果在数据目录位于不区分大小写的文件系统上的系统(例如Windows或macOS)上运行MySQL,则不应将其设置
lower_case_table_names为0。这是不受支持的组合,当使用错误的字母大小写运行操作时,可能导致挂起状态。使用,使用不同的字母大小写访问表名称可能会导致索引损坏。INSERT INTO ... SELECT ... FROM tbl_nametbl_nameMyISAM如果尝试使用
--lower_case_table_names=0不区分大小写的文件系统启动服务器,则会打印一条错误消息,并且服务器退出。如果使用
InnoDB表,则应在所有平台上将此变量设置为1,以强制将名称转换为小写。此变量的设置会影响区分大小写的复制筛选选项的行为。有关更多信息,请参见“服务器如何评估复制过滤规则”。
禁止
lower_case_table_names使用与初始化服务器时使用的设置不同的设置来启动服务器。该限制是必要的,因为各种数据字典表字段使用的归类由初始化服务器时定义的设置确定,并且使用不同的设置重新启动服务器会导致标识符的排序和比较方式不一致。因此,有必要
lower_case_table_names在初始化服务器之前将其配置为所需的设置。在大多数情况下,这需要lower_case_table_names在首次启动MySQL服务器之前在MySQL选项文件中进行配置。但是,对于在Debian和Ubuntu上的APT安装,服务器已为您初始化,并且没有机会事先在选项文件中配置设置。因此,debconf-set-selection在使用APT启用MySQL之前,必须先使用该实用程序lower_case_table_names。为此,请在使用APT安装MySQL之前运行以下命令:shell> sudo debconf-
set -selections <<< "mysql-server mysql-server /lowercase-table -names select Enabled注意
MySQL 8.0.17中添加了启用
lower_case_table_names使用的debconf-set-selections功能。启用lower_case_table_names将值设置为1。mandatory_roles属性 值 命令行格式 --mandatory-roles=value系统变量 mandatory_roles范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 empty string服务器应将这些角色视为必需角色。实际上,尽管设置
mandatory_roles实际上并不会更改任何用户帐户,而且这些角色将自动授予每个用户,并且授予的角色在mysql.role_edges系统表中不可见。变量值是用逗号分隔的角色名称列表。例:
SET PERSIST mandatory_roles = '`role1`@`%`,`role2`,role3,role4@localhost';除了设置全局系统变量运行时值通常所需的或特权外,设置的运行时值还
mandatory_roles需要ROLE_ADMIN特权。SYSTEM_VARIABLES_ADMINSUPER角色名称由格式的用户部分和主机部分组成。如果省略主机部分,则默认为。有关更多信息,
user_name@host_name%该
mandatory_roles值是一个字符串,因此用户名和主机名(如果带引号)必须以允许在带引号的字符串内加引号的方式编写。在值命名的角色
mandatory_roles不能被撤销REVOKE或下降DROP ROLE或DROP USER。为了防止默认情况下
SYSTEM_USER将会话设为系统会话,不能在mandatory_roles系统变量的值中列出具有特权的角色:- 如果
mandatory_roles在启动时被分配了具有SYSTEM_USER特权的角色,服务器将向错误日志中写入一条消息并退出。 - 如果
mandatory_roles在运行时为该角色分配了具有SYSTEM_USER特权的角色,则会发生错误,并且该mandatory_roles值保持不变。
强制角色(如显式授予的角色)在激活之前不会生效(请参阅激活角色)。在登录时,如果
ctivate_all_roles_on_login启用了系统变量,则会对所有授予的角色进行角色激活;否则,或者对于其他设置为默认角色的角色。在运行时,SET ROLE激活角色。分配给角色时不存在
mandatory_roles但稍后创建的角色可能需要特殊处理才能被视为强制性的。有关详细信息,请参见定义强制性角色。SHOW GRANTS根据“ SHOW GRANTS语句”中所述的规则显示强制性角色。- 如果
max_allowed_packet属性 值 命令行格式 --max-allowed-packet=#系统变量 max_allowed_packet范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 67108864最低值 1024最大值 1073741824一个数据包或任何生成的/中间的字符串或
mysql_stmt_send_long_data()C API函数发送的任何参数的最大大小。默认值为64MB。分组消息缓冲区被初始化为
net_buffer_length字节,但是max_allowed_packet在需要时可以增长到字节。默认情况下,此值很小,以捕获较大(可能不正确)的数据包。如果使用大
BLOB列或长字符串,则必须增加此值。它应该和BLOB要使用的最大大小一样大。协议限制为max_allowed_packet1GB。该值应为1024的倍数;非整数将四舍五入到最接近的倍数。通过更改
max_allowed_packet变量的值来更改消息缓冲区的大小时,如果客户端程序允许,还应该在客户端更改缓冲区的大小。max_allowed_packet客户端库中内置的默认值为1GB,但是单个客户端程序可能会覆盖它。例如,mysql和mysqldump的默认值分别为16MB和24MB。它们还使您可以通过max_allowed_packet在命令行或选项文件中进行设置来更改客户端值。该变量的会话值是只读的。客户端最多可以接收与会话值一样多的字节。但是,服务器不会向客户端发送比当前全局
max_allowed_packet值更多的字节。(如果在客户端连接后更改了全局值,则全局值可能小于会话值。)max_connect_errors属性 值 命令行格式 --max-connect-errors=#系统变量 max_connect_errors范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 100最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295在
max_connect_errors没有成功连接的情况下中断了来自主机的连续连接请求后,服务器将阻止该主机进行进一步的连接。如果从上一个max_connect_errors连接中断之后,在少于尝试的时间内成功建立了来自主机的连接,则该主机的错误计数将清零。但是,一旦主机被阻止,刷新主机缓存是取消阻止它的唯一方法。要刷新主机缓存,请执行一条FLUSH HOSTS语句,一条TRUNCATE TABLE截断“性能模式”host_cache表的语句或mysqladmin flush-hosts命令。有关主机缓存如何工作的更多信息,请参见“ DNS查找优化和主机缓存”。
max_connections属性 值 命令行格式 --max-connections=#系统变量 max_connections范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 151最低值 1最大值 100000允许的最大同时客户端连接数。有关更多信息,请参见“ MySQL如何处理客户端连接”。
max_delayed_threads属性 值 命令行格式 --max-delayed-threads=#不推荐使用 是 系统变量 max_delayed_threads范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 20最低值 0最大值 16384不建议使用此系统变量(因为
DELAYED不支持插入),并且在将来的版本中将其删除。max_digest_length属性 值 命令行格式 --max-digest-length=#系统变量 max_digest_length范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 1024最低值 0最大值 1048576每个会话保留的最大内存字节数,用于计算规范化的语句摘要。一旦在摘要计算过程中使用了一定数量的空间,就会发生截断:不再收集来自已解析语句的其他标记,也不会将其计入其摘要值。只有在解析的令牌的多个字节产生相同的规范化语句摘要之后才不同的语句,如果比较或汇总摘要统计信息,这些语句将被视为相同。
减小该
max_digest_length值会减少内存使用量,但如果仅在末尾有所不同,则会使更多语句的摘要值变得难以区分。增大值可以区分较长的语句,但会增加内存使用量,尤其是对于涉及大量同时会话的工作负载(服务器max_digest_length为每个会话分配字节)。解析器将此系统变量用作对其计算的规范化语句摘要的最大长度的限制。如果性能模式跟踪语句摘要,则使用来复制摘要值
performance_schema_max_digest_length。系统变量,作为对其存储的摘要的最大长度的限制。因此,如果performance_schema_max_digest_length小于,则max_digest_length存储在性能模式中的摘要值将相对于原始摘要值被截断。有关语句摘要的更多信息,请参见“性能模式语句摘要和采样”。
max_error_count属性 值 命令行格式 --max-error-count=#系统变量 max_error_count范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 1024最低值 0最大值 65535SHOW ERRORS和SHOW WARNINGS语句要存储以显示的错误,警告和信息消息的最大数量。这与诊断区域中条件区域的数量相同,因此可以通过检查的条件数量GET DIAGNOSTICS。max_execution_time属性 值 命令行格式 --max-execution-time=#系统变量 max_execution_time范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 0SELECT语句的执行超时(以毫秒为单位)。如果值为0,则不启用超时。max_execution_time适用如下:- 全局
max_execution_time值提供新连接的会话值的默认值。会话值适用SELECT于在会话内执行的不包含优化器提示或值为0的执行。MAX_EXECUTION_TIME(N)N max_execution_time适用于只读SELECT语句。非只读的语句是那些调用存储函数修改数据的副作用的语句。max_execution_timeSELECT存储程序中的语句将被忽略。
- 全局
max_heap_table_size属性 值 命令行格式 --max-heap-table-size=#系统变量 max_heap_table_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 16777216最低值 16384最大值(64位平台) 1844674407370954752最大值(32位平台) 4294967295此变量设置
MEMORY允许用户创建的表增长到的最大大小。变量的值用于计算MEMORY表MAX_ROWS值。MEMORY除非使用诸如CREATE TABLE或用ALTER TABLE或改变的语句重新创建该表,否则设置此变量对任何现有表均无效TRUNCATE TABLE。服务器重新启动还会将现有MEMORY表的最大大小设置为全局max_heap_table_size值。此变量还与一起使用
tmp_table_size以限制内部内存表的大小。请参见“ MySQL中的内部临时表使用”。max_heap_table_size不复制。有关更多信息,请参见“复制功能”和“复制和变量”。max_insert_delayed_threads属性 值 不推荐使用 是 系统变量 max_insert_delayed_threads范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 此变量是的同义词
max_delayed_threads。不建议使用此系统变量(因为
DELAYED不支持插入),并且在将来的版本中将其删除。max_join_size属性 值 命令行格式 --max-join-size=#系统变量 max_join_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 18446744073709551615最低值 1最大值 18446744073709551615不允许语句可能需要检查的
max_join_size行不止于行(对于单表语句)或行组合(对于多表语句),或者可能要做的事不止于max_join_size磁盘查找。通过设置该值,您可以捕获未正确使用键的语句,这可能需要很长时间。如果您的用户倾向于执行缺少WHERE子句,花费很长时间或返回数百万行的联接,请进行设置。有关更多信息,请参见使用安全更新模式(--safe-updates)。将此变量设置为除以外
DEFAULT的其他值时,会将的值重置sql_big_selects为0。如果sql_big_selects再次设置该值,则max_join_size变量将被忽略。max_length_for_sort_dat属性 值 命令行格式 --max-length-for-sort-data=#不推荐使用 8.0.20 系统变量 max_length_for_sort_dat范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 4096最低值 4最大值 8388608自MySQL 8.0.20起不推荐使用此变量,原因是优化程序的更改使其过时且无效。以前,它充当确定
filesort使用哪种算法的索引值大小的分界。请参见“通过优化排序”。max_points_in_geometry属性 值 命令行格式 --max-points-in-geometry=#系统变量 max_points_in_geometry范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 65536最低值 3最大值 1048576函数
points_per_circle参数的最大值ST_Buffer_Strategy()。max_prepared_stmt_count属性 值 命令行格式 --max-prepared-stmt-count=#系统变量 max_prepared_stmt_count范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 16382最低值 0最大值(>= 8.0.18) 4194304最大值(<= 8.0.17) 1048576此变量限制了服务器中准备好的语句的总数。它可以用于可能由于准备大量语句而使服务器内存不足而导致拒绝服务攻击的环境中。如果将值设置为低于准备好的语句的当前数目,则现有语句不会受到影响并且可以使用,但是直到当前数目降至限制以下之前,才能准备新的语句。将该值设置为0将禁用准备好的语句。
max_seeks_for_key属性 值 命令行格式 --max-seeks-for-key=#系统变量 max_seeks_for_key范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值(64位平台) 18446744073709551615默认值(32位平台) 4294967295最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295在基于键查找行时,限制假定的最大搜索次数。MySQL优化器假定,通过扫描索引在表中搜索匹配的行时,与索引的实际基数无关,所需的键搜索次数不超过此数目(请参见“ SHOW INDEX语句”)。通过将此值设置为较低的值(例如100),可以强制MySQL首选索引而不是表扫描。
max_sort_length属性 值 命令行格式 --max-sort-length=#系统变量 max_sort_length范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 1024最低值 4最大值 8388608排序数据值时使用的字节数。服务器仅使用
max_sort_length每个值的前一个字节,而忽略其余的字节。因此,仅第一后不同值max_sort_length字节的比较结果为相等GROUP BY,ORDER BY和DISTINCT操作。增加的值
max_sort_length可能还需要增加的值sort_buffer_size。有关详细信息,请参见“通过优化排序”max_sp_recursion_depth属性 值 命令行格式 --max-sp-recursion-depth[=#]系统变量 max_sp_recursion_depth范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最大值 255可以递归调用任何给定存储过程的次数。此选项的默认值为0,这将完全禁用存储过程中的递归。最大值为255。
存储过程递归增加了对线程堆栈空间的需求。如果增加的值
max_sp_recursion_depth,则可能有必要通过增加thread_stack服务器启动时的值来增加线程堆栈的大小。max_user_connections属性 值 命令行格式 --max-user-connections=#系统变量 max_user_connections范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 4294967295任何给定的MySQL用户帐户允许的最大同时连接数。值0(默认值)表示“无限制。”
此变量具有可以在服务器启动或运行时设置的全局值。它还具有一个只读会话值,该值指示适用于与当前会话关联的帐户的有效同时连接限制。会话值初始化如下:
- 如果用户帐户的
MAX_USER_CONNECTIONS资源限制为非零,则会话max_user_connections值将设置为该限制。 - 否则,会话
max_user_connections值将设置为全局值。
帐户资源限制使用
CREATE USER或ALTER USER语句指定。请参见“设置帐户资源限制”。- 如果用户帐户的
max_write_lock_count属性 值 命令行格式 --max-write-lock-count=#系统变量 max_write_lock_count范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值(64位平台) 18446744073709551615默认值(32位平台) 4294967295最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295经过这么多的写锁定后,允许在其间处理一些未决的读锁定请求。写锁定请求比读锁定请求具有更高的优先级。但是,如果
max_write_lock_count将其设置为某个较低的值(例如10),则如果已将读取锁定请求传递给了10个写入锁定请求,则读取锁定请求可能比挂起的写入锁定请求优先。通常,不会发生此现象,因为max_write_lock_count默认情况下它的值非常大。mecab_rc_file属性 值 命令行格式 --mecab-rc-file=file_name系统变量 mecab_rc_file范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 mecab_rc_file设置MeCab全文解析器时使用该选项。该
mecab_rc_file选项定义mecabrc配置文件的路径,该路径是MeCab的配置文件。该选项是只读的,只能在启动时设置。该mecabrc配置文件需要初始化仲裁处。有关MeCab全文分析器的信息,请参见“ MeCab全文分析器插件”。
有关可以在MeCab
mecabrc配置文件中指定的选项的信息,请参阅 Google Developers网站上的 MeCab文档。metadata_locks_cache_size属性 值 命令行格式 --metadata-locks-cache-size=#不推荐使用 是(已在8.0.13中删除) 系统变量 metadata_locks_cache_size范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 1024最低值 1最大值 1048576该系统变量已在MySQL 8.0.13中删除。
metadata_locks_hash_instances属性 值 命令行格式 --metadata-locks-hash-instances=#不推荐使用 是(已在8.0.13中删除) 系统变量 metadata_locks_hash_instances范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 8最低值 1最大值 1024该系统变量已在MySQL 8.0.13中删除。
min_examined_row_limit属性 值 命令行格式 --min-examined-row-limit=#系统变量 min_examined_row_limit范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295检查少于此行数的查询不会记录到慢查询日志中。
myisam_data_pointer_size属性 值 命令行格式 --myisam-data-pointer-size=#系统变量 myisam_data_pointer_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 6最低值 2最大值 7未指定选项时
CREATE TABLE,MyISAM表将使用的默认指针大小(以字节为单位)MAX_ROWS。该变量不能小于2或大于7。默认值为6。请参见第B.4.2.11节“表已满”。myisam_max_sort_file_size属性 值 命令行格式 --myisam-max-sort-file-size=#系统变量 myisam_max_sort_file_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值(64位平台) 9223372036854775807默认值(32位平台) 2147483648在重新创建
MyISAM索引时(,或期间)REPAIR TABLE,允许MySQL使用的临时文件的最大大小。如果文件大小大于此值,那么将使用键高速缓存来创建索引,这会更慢。该值以字节为单位。ALTER TABLELOAD DATA如果
MyISAM索引文件超过此大小并且磁盘空间可用,则增加该值可能会提高性能。该空间在包含原始索引文件所在目录的文件系统中必须可用。myisam_mmap_size属性 值 命令行格式 --myisam-mmap-size=#系统变量 myisam_mmap_size范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值(64位平台) 18446744073709551615默认值(32位平台) 4294967295最低值 7最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295用于内存映射压缩
MyISAM文件的最大内存量。如果使用许多压缩MyISAM表,则可以减小该值以减少发生内存交换问题的可能性。myisam_recover_options属性 值 命令行格式 --myisam-recover-options[=list]系统变量 myisam_recover_options范围 Global 动态 没有 SET_VAR提示适用没有 类型 列举 默认值 OFF有效值 OFFDEFAULTBACKUPFORCEQUICK设置
MyISAM存储引擎恢复模式。该变量的值是的值的任意组合OFF,DEFAULT,BACKUP,FORCE,或QUICK。如果指定多个值,请用逗号分隔。在服务器启动时指定无值的变量与指定相同DEFAULT,并且指定显式值""禁用恢复(与值相同OFF)。如果启用了恢复,则每次mysqld打开一个MyISAM表,它检查表是否标记为已崩溃或未正确关闭。(只有在禁用外部锁定的情况下运行,最后一个选项才起作用。)在这种情况下,mysqld在表上运行检查。如果表已损坏,mysqld将尝试对其进行修复。以下选项会影响修复的工作方式。
选项 描述 OFF无法恢复。 DEFAULT恢复时无需备份,强制或快速检查。 BACKUP如果恢复期间更改了数据文件,则将 tbl_name.MYD文件备份另存为tbl_name-datetime.BAK。FORCE即使 .MYD文件丢失多行,也要运行恢复。QUICK如果没有任何删除块,请不要检查表中的行。 服务器自动修复表之前,它将有关修复的注释写到错误日志中。如果您希望能够在无需用户干预的情况下从大多数问题中恢复,则应该使用选项
BACKUP,FORCE。即使某些行将被删除,这也会强制修复表,但是它将旧的数据文件保留为备份,以便您以后可以检查发生了什么。请参见“ MyISAM启动选项”。
myisam_repair_threads属性 值 命令行格式 --myisam-repair-threads=#系统变量 myisam_repair_threads范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295如果此值大于1,
MyISAM则在此Repair by sorting过程中将并行创建表索引(每个索引在其自己的线程中)。预设值为1。注意
多线程修复仍然是beta质量的代码。
myisam_sort_buffer_size属性 值 命令行格式 --myisam-sort-buffer-size=#系统变量 myisam_sort_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8388608最低值 4096最大值(其他64位平台) 18446744073709551615最大值(其他32位平台) 4294967295最大值(Windows,64位平台) 18446744073709551615最大值(Windows,32位平台) 4294967295MyISAM在期间对索引进行排序REPAIR TABLE或使用CREATE INDEX或创建索引时分配的缓冲区大小ALTER TABLE。myisam_stats_method属性 值 命令行格式 --myisam-stats-method=name系统变量 myisam_stats_method范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 nulls_unequal有效值 nulls_equalnulls_unequalnulls_ignored服务器
NULL在收集有关MyISAM表的索引值分布的统计信息时如何处理值。这个变量有三个可能的值nulls_equal,nulls_unequal和nulls_ignored。对于nulls_equal,所有NULL索引值均被视为相等,并形成一个大小等于NULL值数量的单个值组。对于nulls_unequal,NULL值被认为是不相等的,并且每个NULL值形成大小为1的不同值组。对于nulls_ignored,NULL值将被忽略。如“ InnoDB和MyISAM索引统计信息收集”中所述,用于生成表统计信息的方法会影响优化器如何选择索引以执行查询。
myisam_use_mmap属性 值 命令行格式 --myisam-use-mmap[={OFF|ON}]系统变量 myisam_use_mmap范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF使用内存映射来读取和写入
MyISAM表。mysql_native_password_proxy_users属性 值 命令行格式 --mysql-native-password-proxy-users[={OFF|ON}]系统变量 mysql_native_password_proxy_users范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF此变量控制
mysql_native_password内置身份验证插件是否支持代理用户。除非check_proxy_users启用系统变量,否则它无效。有关用户代理的信息,请参见“代理用户”。named_pipe属性 值 命令行格式 --named-pipe[={OFF|ON}]系统变量 named_pipe范围 Global 动态 没有 SET_VAR提示适用没有 特定于平台 windows 类型 布尔型 默认值 OFF(仅Windows。)指示服务器是否支持通过命名管道的连接。
named_pipe_full_access_group属性 值 命令行格式 --named-pipe-full-access-group=value介绍了 8.0.14 系统变量 named_pipe_full_access_group范围 Global 动态 没有 SET_VAR提示适用没有 特定于平台 windows 类型 string 默认值 *everyone*有效值 *everyone*empty string(仅Windows。)当
named_pipe启用系统变量以支持命名管道连接时,将由MySQL服务器在命名管道上授予客户端的访问控制设置为成功进行通信所需的最小限制。较新的MySQL客户端软件无需任何其他配置即可打开命名管道连接,但是,较旧的客户端软件可能仍需要完全访问权限才能打开命名管道连接。此变量设置Windows本地组的名称,该本地组由MySQL服务器授予其成员足够的访问权限,以使用较旧的命名管道客户端。最初,该值
'*everyone*'默认设置为默认值,该值允许Windows上Everyone组的用户继续使用旧客户端,直到升级旧客户端为止。相反,将值设置为空字符串意味着没有Windows用户将被授予对命名管道的完全访问权限。默认值'*everyone*'提供了一种独立于语言的方式来引用Windows上的Everyone组。理想情况下,
mysql_old_client_users当绝对有必要访问较旧的客户端软件时,应在Windows中创建一个新的Windows本地组名称(例如),然后使用该名称替换该变量的默认值。在这种情况下,将组的成员资格限制为尽可能少的用户,在升级其客户端软件时将用户从组中删除。尝试使用较旧的命名管道客户端打开与MySQL的连接的组的非成员将被拒绝访问,直到Windows管理员将用户添加到组中,然后用户注销并登录(由windows)。net_buffer_length属性 值 命令行格式 --net-buffer-length=#系统变量 net_buffer_length范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 16384最低值 1024最大值 1048576每个客户端线程都与连接缓冲区和结果缓冲区关联。两者均以给定的大小开头,
net_buffer_length但max_allowed_packet根据需要动态扩展到字节。结果缓冲区缩小到net_buffer_length每个SQL语句之后。通常不应该更改此变量,但是如果您的内存很少,则可以将其设置为客户端发送的语句的预期长度。如果语句超过此长度,连接缓冲区将自动扩大。
net_buffer_length可以设置的最大值为1MB。该变量的会话值是只读的。
net_read_timeout属性 值 命令行格式 --net-read-timeout=#系统变量 net_read_timeout范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 30最低值 1在中止读取之前等待连接中的更多数据的秒数。服务器从客户端读取时,
net_read_timeout超时值控制何时中止。服务器正在向客户端写入时,net_write_timeout超时值控制何时中止。另请参阅slave_net_timeout。net_retry_count属性 值 命令行格式 --net-retry-count=#系统变量 net_retry_count范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 10最低值 1最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295如果对通信端口的读取或写入中断,请在放弃之前重试多次。在FreeBSD上,这个值应该设置得很高,因为内部中断会发送到所有线程。
net_write_timeout属性 值 命令行格式 --net-write-timeout=#系统变量 net_write_timeout范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 60最低值 1在中止写入之前等待块写入连接的秒数。另请参阅
net_read_timeout。new属性 值 命令行格式 --new[={OFF|ON}]系统变量 new范围 Global, Session 动态 是 SET_VAR提示适用没有 被禁用 skip-new类型 布尔型 默认值 OFF在MySQL 4.0中,此变量用于打开一些4.1行为,并保留该变量是为了向后兼容。它的价值永远是
OFF。在NDB群集中,将此变量设置为
ON可以使用表以外的分区类型KEY或LINEAR KEY与NDB表一起使用分区类型。此功能仅是实验性功能,生产中不支持。有关其他信息,请参阅用户定义的分区和NDB存储引擎(NDB群集)。ngram_token_size属性 值 命令行格式 --ngram-token-size=#系统变量 ngram_token_size范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 2最低值 1最大值 10为n-gram全文分析器定义n-gram令牌大小。该
ngram_token_size选项是只读的,只能在启动时进行修改。默认值为2(二字组)。最大值为10。有关如何配置此变量的更多信息,请参见“ ngram全文分析器”。
offline_mode属性 值 命令行格式 --offline-mode[={OFF|ON}]系统变量 offline_mode范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF服务器是否处于“离线模式”,具有以下特征:
- 没有
CONNECTION_ADMIN或SUPER特权的已连接客户端用户将在下一个请求时断开连接,并出现相应的错误。断开连接包括终止正在运行的语句和释放锁。这样的客户端也无法启动新的连接,并收到适当的错误。 - 具有
CONNECTION_ADMIN或SUPER特权的已连接客户端用户不会断开连接,并且可以启动新连接来管理服务器。 - 复制从属线程被允许将数据继续应用于服务器。
只有拥有
SYSTEM_VARIABLES_ADMIN或SUPER特权的用户才能控制离线模式。要将服务器置于脱机模式,请将offline_mode系统变量的值从OFF更改为ON。要恢复正常操作,请offline_mode从更改ON为OFF。在脱机模式下,被拒绝访问的客户端收到ER_SERVER_OFFLINE_MODE错误。- 没有
old属性 值 命令行格式 --old[={OFF|ON}]系统变量 old范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 OFFold是一个兼容性变量。默认情况下,它是禁用的,但是可以在启动时启用,以将服务器还原为旧版本中的行为。当
old启用时,它改变索引提示到之前的MySQL 5.1.17使用的默认范围。也就是说,不带FOR子句的索引提示仅适用于如何将索引用于行检索,不适用于ORDER BYorGROUP BY子句的解析。(请参见“索引提示”。)请注意在复制设置中启用它。使用基于语句的二进制日志记录,对主服务器和从服务器使用不同的模式可能会导致复制错误。old_alter_table属性 值 命令行格式 --old-alter-table[={OFF|ON}]系统变量 old_alter_table范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF启用此变量后,服务器将不使用优化的方法来处理
ALTER TABLE操作。它恢复为使用临时表,复制数据,然后将临时表重命名为原始表,如MySQL 5.0及更早版本所使用。有关操作的更多信息ALTER TABLE,请参见“ ALTER TABLE语句”。ALTER TABLE ... DROP PARTITIONwithold_alter_table=ON重建分区表,并尝试将数据从删除的分区移动到具有兼容PARTITION ... VALUES定义的另一个分区。无法删除的数据将被删除。在早期版本中,ALTER TABLE ... DROP PARTITIONwithold_alter_table=ON删除存储在分区中的数据并删除该分区。open_files_limit属性 值 命令行格式 --open-files-limit=#系统变量 open_files_limit范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 5000, with possible adjustment最低值 0最大值 platform dependentmysqld从操作系统可使用的文件描述符的数量。mysqld
setrlimit()通过直接设置此变量或使用mysqld_safe--open-files-limit选项使用启动时请求的值来保留描述符。如果mysqld产生错误,请尝试增加该值。在内部,此变量的最大值是最大无符号整数值,但实际的最大值取决于平台。Too many open filesopen_files_limitopen_files_limitat runtime 的值指示操作系统实际允许mysqld使用的文件描述符的数量,该数量可能与启动时请求的值不同。如果启动期间请求的文件描述符数量无法分配,mysqld会在错误日志中写入警告。有效
open_files_limit值是基于在系统启动时指定的值(如果有的话)和的值max_connections和table_open_cache使用这些公式:10 + max_connections +(table_open_cache * 2)max_connections * 5- 操作系统限制(如果该限制为正,但无穷大)
- 如果操作系统限制为Infinity:
open_files_limit启动时指定该值,否则为5000
服务器尝试使用这些值的最大值(最大为无符号整数值)来获取文件描述符的数量。如果无法获得那么多的描述符,则服务器将尝试获取系统允许的数量。
在MySQL无法更改打开文件数的系统上,有效值为0。
在Unix上,该值不能设置为大于ulimit -n。
optimizer_prune_level属性 值 命令行格式 --optimizer-prune-level=#系统变量 optimizer_prune_level范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 1最低值 0最大值 1控制在查询优化期间应用的试探法,以从优化器搜索空间中修剪不太有希望的局部计划。值为0将禁用启发式搜索,以便优化器执行详尽搜索。值为1会使优化器根据中间计划检索到的行数来修剪计划。
optimizer_search_depth属性 值 命令行格式 --optimizer-search-depth=#系统变量 optimizer_search_depth范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 62最低值 0最大值 62查询优化器执行的最大搜索深度。大于查询中的关系数的值会产生更好的查询计划,但是花更长的时间才能生成查询的执行计划。小于查询中的关系数的值可以更快地返回执行计划,但是结果计划可能远非最佳。如果设置为0,系统将自动选择一个合理的值。
optimizer_switch属性 值 命令行格式 --optimizer-switch=value系统变量 optimizer_switch范围 Global, Session 动态 是 SET_VAR提示适用是 类型 组 有效值(>= 8.0.18) batched_key_access={on|off}block_nested_loop={on|off}condition_fanout_filter={on|off}derived_merge={on|off}duplicateweedout={on|off}engine_condition_pushdown={on|off}firstmatch={on|off}hash_join={on|off}index_condition_pushdown={on|off}index_merge={on|off}index_merge_intersection={on|off}index_merge_sort_union={on|off}index_merge_union={on|off}loosescan={on|off}materialization={on|off}mrr={on|off}mrr_cost_based={on|off}semijoin={on|off}skip_scan={on|off}subquery_materialization_cost_based={on|off}use_index_extensions={on|off}use_invisible_indexes={on|off}有效值(>= 8.0.13) batched_key_access={on|off}block_nested_loop={on|off}condition_fanout_filter={on|off}derived_merge={on|off}duplicateweedout={on|off}engine_condition_pushdown={on|off}firstmatch={on|off}index_condition_pushdown={on|off}index_merge={on|off}index_merge_intersection={on|off}index_merge_sort_union={on|off}index_merge_union={on|off}loosescan={on|off}materialization={on|off}mrr={on|off}mrr_cost_based={on|off}semijoin={on|off}skip_scan={on|off}subquery_materialization_cost_based={on|off}use_index_extensions={on|off}use_invisible_indexes={on|off}有效值(<= 8.0.12) batched_key_access={on|off}block_nested_loop={on|off}condition_fanout_filter={on|off}derived_merge={on|off}duplicateweedout={on|off}engine_condition_pushdown={on|off}firstmatch={on|off}index_condition_pushdown={on|off}index_merge={on|off}index_merge_intersection={on|off}index_merge_sort_union={on|off}index_merge_union={on|off}loosescan={on|off}materialization={on|off}mrr={on|off}mrr_cost_based={on|off}semijoin={on|off}subquery_materialization_cost_based={on|off}use_index_extensions={on|off}use_invisible_indexes={on|off}使用
optimizer_switch系统变量可以控制优化程序的行为。此变量的值是一组标志,每个标志的值都为on或off指示相应的优化器行为是启用还是禁用。此变量具有全局值和会话值,可以在运行时更改。可以在服务器启动时设置全局默认值。要参见当前的优化器标志集,请选择变量值:
mysql>
SELECT @@optimizer_switch\G *************************** 1. row *************************** @@optimizer_switch : index_merge=on,index_merge_union=on, index_merge_sort_union=on,index_merge_intersection=on, engine_condition_pushdown=on,index_condition_pushdown=on, mrr=on,mrr_cost_based=on,block_nested_loop=on, batched_key_access=off,materialization=on,semijoin=on, loosescan=on,firstmatch=on,duplicateweedout=on, subquery_materialization_cost_based=on, use_index_extensions=on,condition_fanout_filter=on, derived_merge=on,use_invisible_indexes=off,skip_scan=on, hash_join=on有关此变量的语法及其控制的优化器行为的更多信息,请参见“可切换的优化”。
optimizer_trace属性 值 命令行格式 --optimizer-trace=value系统变量 optimizer_trace范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 此变量控制优化器跟踪。有关详细信息,请参见 MySQL内部:跟踪优化器。
optimizer_trace_features属性 值 命令行格式 --optimizer-trace-features=value系统变量 optimizer_trace_features范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 此变量启用或禁用选定的优化程序跟踪功能。有关详细信息,请参见 MySQL内部:跟踪优化器。
optimizer_trace_limit属性 值 命令行格式 --optimizer-trace-limit=#系统变量 optimizer_trace_limit范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1要显示的优化程序跟踪的最大数量。有关详细信息,请参见 MySQL内部:跟踪优化器。
optimizer_trace_max_mem_size属性 值 命令行格式 --optimizer-trace-max-mem-size=#系统变量 optimizer_trace_max_mem_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 1048576存储的优化程序跟踪的最大累积大小。有关详细信息,请参见 MySQL内部:跟踪优化器。
optimizer_trace_offset属性 值 命令行格式 --optimizer-trace-offset=#系统变量 optimizer_trace_offset范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 -1要显示的优化程序轨迹的偏移量。有关详细信息,请参见 MySQL内部:跟踪优化器。
performance_schema_xxx“性能架构系统变量”中列出了性能架构系统变量。这些变量可用于配置性能架构操作。
parser_max_mem_size属性 值 命令行格式 --parser-max-mem-size=#系统变量 parser_max_mem_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值(64位平台) 18446744073709551615默认值(32位平台) 4294967295最低值 10000000最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295解析器可用的最大内存量。默认值对可用内存没有限制。可以减小该值,以防止由于解析长的或复杂的SQL语句而导致内存不足的情况。
partial_revokes属性 值 命令行格式 --partial-revokes[={OFF|ON}]介绍了 8.0.16 系统变量 partial_revokes范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF(如果不存在部分撤销)ON(如果存在部分撤销)启用此变量使得可以部分撤销特权。具体来说,对于在全局级别具有特权的用户,
partial_revokes可以撤消特定架构的特权,而保留其他架构的特权。例如,UPDATE可以限制具有全局特权的用户在mysql系统架构上行使此特权。(或者,换句话说,使用户能够UPDATE在除模式之外的所有模式上行使特权mysql。)从这种意义上说,UPDATE部分撤销了用户的全局特权。启用后,
partial_revokes如果任何帐户具有特权限制,就无法禁用。如果存在任何此类帐户,则禁用partial_revokes失败:- 对于尝试
partial_revokes在启动时禁用的尝试,服务器会记录一条错误消息并启用partial_revokes。 - 对于尝试
partial_revokes在运行时禁用的操作,将发生错误并且该partial_revokes值保持不变。
要
partial_revokes在这种情况下禁用,请首先通过重新授予特权或删除该帐户来修改拥有部分撤销特权的每个帐户。有关更多信息,包括删除部分撤销的说明,请参见“使用部分撤销的权限限制”。
- 对于尝试
password_history属性 值 命令行格式 --password-history=#系统变量 password_history范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 4294967295此变量定义用于根据所需的最小密码更改次数来控制先前密码的重用的全局策略。对于先前使用的帐户密码,此变量指示在可以重复使用密码之前必须进行的后续帐户密码更改的次数。如果值为0(默认值),则没有基于密码更改次数的重用限制。
对该变量所做的更改将立即应用于使用该
PASSWORD HISTORY DEFAULT选项定义的所有帐户。使用和语句的
PASSWORD HISTORY选项,可以根据需要为单个帐户覆盖全局变更数密码重用策略。请参见“帐户密码管理”。CREATE USERALTER USERpassword_require_current属性 值 命令行格式 --password-require-current[={OFF|ON}]介绍了 8.0.13 系统变量 password_require_current范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF此变量定义用于控制更改帐户密码的尝试是否必须指定要替换的当前密码的全局策略。
对该变量所做的更改将立即应用于使用该
PASSWORD REQUIRE CURRENT DEFAULT选项定义的所有帐户。使用和语句的
PASSWORD REQUIRE选项,可以根据需要为单个帐户覆盖需要全局验证的策略。请参见“帐户密码管理”。CREATE USERALTER USERpassword_reuse_interval属性 值 命令行格式 --password-reuse-interval=#系统变量 password_reuse_interval范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 4294967295该变量定义了全局策略,用于根据经过的时间来控制先前密码的重用。对于以前使用的帐户密码,此变量指示在可以重用密码之前必须经过的天数。如果值为0(默认值),则没有基于时间流逝的重用限制。
对该变量所做的更改将立即应用于使用该
PASSWORD REUSE INTERVAL DEFAULT选项定义的所有帐户。可以使用和语句的
PASSWORD REUSE INTERVAL选项,根据需要为单个帐户覆盖全局经过时间的密码重用策略。请参见“帐户密码管理”。CREATE USERALTER USERpersisted_globals_load属性 值 命令行格式 --persisted-globals-load[={OFF|ON}]系统变量 persisted_globals_load范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON是否从
mysqld-auto.cnf数据目录中的文件加载持久配置设置。服务器通常在启动后处理所有其他选项文件(请参见“使用选项文件”)。禁用将persisted_globals_load导致服务器启动顺序跳过mysqld-auto.cnf。要修改的内容
mysqld-auto.cnf,使用SET PERSIST,SET PERSIST_ONLY和RESET PERSIST语句。请参见“持久性系统变量”。persist_only_admin_x509_subject属性 值 命令行格式 --persist-only-admin-x509-subject=string介绍了 8.0.14 系统变量 persist_only_admin_x509_subject范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值 empty stringSET PERSIST并且SET PERSIST_ONLY使系统变量被持久化到mysqld-auto.cnf数据目录选项文件(见第13.7.6.1,“SET语法变量分配”)。持久的系统变量可启用运行时配置更改,从而影响随后的服务器重启,这对于不需要直接访问MySQL服务器主机选项文件的远程管理非常方便。但是,某些系统变量是不可持久的,或者只能在某些限制性条件下才能保留。该
persist_only_admin_x509_subject系统变量指定的SSL证书X.509主题值,用户必须有能够坚持系统变量的持续限制。默认值为空字符串,该字符串将禁用“主题”检查,以便任何用户都无法持久存储限制的系统变量。如果
persist_only_admin_x509_subject为非空,则使用加密连接连接到服务器并提供具有指定主题值的SSL证书的用户,可以SET PERSIST_ONLY用来持久存储受限制的系统变量。有关持久限制的系统变量的信息以及有关配置MySQL以使其启用的说明persist_only_admin_x509_subject,请参见“非持久和持久限制的系统变量”。pid_file属性 值 命令行格式 --pid-file=file_name系统变量 pid_file范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 服务器在其中写入其进程ID的文件的路径名。除非给出绝对路径名以指定其他目录,否则服务器将在数据目录中创建文件。如果指定此变量,则必须指定一个值。如果未指定此变量,则MySQL使用默认值
host_name.pid,其中host_name是主机名。其他程序(例如mysqld_safe)使用进程ID文件来确定服务器的进程ID。在Windows上,此变量还会影响默认错误日志文件名。请参见“MySQL服务器错误日志”。
plugin_dir属性 值 命令行格式 --plugin-dir=dir_name系统变量 plugin_dir范围 Global 动态 没有 SET_VAR提示适用没有 类型 目录名 默认值 BASEDIR/lib/plugin插件目录的路径名。
如果插件目录可被服务器写入,则用户可能会使用将可执行代码写入目录中的文件
SELECT ... INTO DUMPFILE。可以通过使plugin_dir服务器只读或将secure_file_priv目录设置为SELECT可以安全进行写操作的目录来防止这种情况。port属性 值 命令行格式 --port=port_num系统变量 port范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 3306最低值 0最大值 65535服务器在其上侦听TCP / IP连接的端口号。可以使用
--port选项设置此变量。preload_buffer_size属性 值 命令行格式 --preload-buffer-size=#系统变量 preload_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 32768最低值 1024最大值 1073741824预加载索引时分配的缓冲区大小。
print_identified_with_as_hex属性 值 命令行格式 --print-identified-with-as-hex[={OFF|ON}]介绍了 8.0.17 系统变量 print_identified_with_as_hex范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF在“
IDENTIFIED WITH输出自”子句中显示的密码哈希值SHOW CREATE USER可能包含无法打印的字符,这些字符会对终端显示器和其他环境产生不利影响。启用print_identified_with_as_hex原因SHOW CREATE USER可将这些哈希值显示为十六进制字符串,而不是常规字符串文字。即使启用了此变量,不包含不可打印字符的哈希值仍会显示为常规字符串文字。profiling如果设置为0或
OFF(默认值),则禁用语句分析。如果设置为1或ON,则启用语句分析,并且SHOW PROFILEndSHOW PROFILES语句提供对分析信息的访问。请参见“ SHOW PROFILES语句”。不建议使用此变量,并将在将来的MySQL版本中将其删除。
profiling_history_sizeprofiling启用了要维护概要分析信息的语句数。默认值为15。最大值为100。将值设置为0会有效禁用性能分析。请参见“ SHOW PROFILES语句”。不建议使用此变量,并将在将来的MySQL版本中将其删除。
protocol_compression_algorithms属性 值 命令行格式 --protocol-compression-algorithms=value介绍了 8.0.18 系统变量 protocol_compression_algorithms范围 Global 动态 是 SET_VAR提示适用没有 类型 组 默认值 zlib,zstd,uncompressed有效值 zlibzstduncompressed服务器允许传入连接的压缩算法。这些包括客户端程序和参与主/从复制或组复制的服务器的连接。压缩不适用于
FEDERATED表的连接。protocol_compression_algorithms不控制X协议的连接压缩。有关此操作方式的信息,请参见“使用X插件进行连接压缩”。变量值是一个或多个以逗号分隔的压缩算法名称的列表,可以按下列顺序选择(不区分大小写),以任何顺序:
zlib:允许使用zlib压缩算法的连接。zstd:允许使用zstd压缩算法(zstd 1.3)的连接。uncompressed:允许未压缩的连接。如果该算法名称未包括在protocol_compression_algorithms值中,则服务器不允许未压缩的连接。它仅允许使用值中指定的任何其他算法的压缩连接,并且不存在未压缩连接的后备情况。
缺省值
zlib,zstd,uncompressed表示服务器允许所有压缩算法。protocol_version属性 值 系统变量 protocol_version范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer MySQL服务器使用的客户端/服务器协议的版本。
proxy_user属性 值 系统变量 proxy_user范围 Session 动态 没有 SET_VAR提示适用没有 类型 string 如果当前客户端是另一个用户的代理,则此变量是代理用户帐户名。否则,此变量为
NULL。请参见“代理用户”。pseudo_slave_mode属性 值 系统变量 pseudo_slave_mode范围 Session 动态 是 SET_VAR提示适用没有 类型 Integer 此系统变量供内部服务器使用。
pseudo_slave_mode与当前正在处理旧服务器或新服务器的事务相比,可帮助正确处理源自旧服务器或新服务器的事务。mysqlbinlogpseudo_slave_mode在执行任何SQL语句之前将的值设置为true。设置此系统变量的会话值是受限制的操作。会话用户必须具有
REPLICATION_APPLIER特权(请参见“复制特权检查”)或具有足以设置受限会话变量的特权(请参见“系统变量特权”)。但是,请注意,该变量并非供用户设置。它是由复制基础结构自动设置的。pseudo_slave_mode对准备好的XA事务的处理具有以下影响,这些XA事务可以附加到处理会话(默认情况下,发出的会话XA START)或从中分离:- 如果为true,并且处理会话已执行内部使用
BINLOG语句,则XA事务将在事务的第一部分XA PREPARE完成时自动从会话中分离,因此任何具有以下内容的会话都可以提交或回滚 XA事务:XA_RECOVER_ADMIN特权。 - 如果为false,则XA事务将一直附加到处理会话,只要该会话仍处于活动状态,在此期间,其他任何会话都无法提交该事务。仅当会话断开连接或服务器重新启动时,才分离准备好的事务。
pseudo_slave_mode对original_commit_timestamp复制延迟时间戳和original_server_version系统变量具有以下影响:- 如果为true,则未明确设置
original_commit_timestamp或original_server_version假定源自其他未知服务器的事务,因此将值0(表示未知)分配给时间戳记和系统变量。 - 如果为false,则未显式设置的事务
original_commit_timestamp或original_server_version假定不起源于当前服务器的事务,因此将当前时间戳和当前服务器的版本分配给时间戳和系统变量。
在MySQL 8.0.14和更高版本中,
pseudo_slave_mode对设置一个或多个不受支持(已删除或未知)SQL模式的语句的处理具有以下影响:- 如果为true,则服务器将忽略不支持的模式并发出警告。
- 如果为false,则服务器使用拒绝该语句
ER_UNSUPPORTED_SQL_MODE。
- 如果为true,并且处理会话已执行内部使用
pseudo_thread_id属性 值 系统变量 pseudo_thread_id范围 Session 动态 是 SET_VAR提示适用没有 类型 Integer 此变量供内部服务器使用。
从MySQL 8.0.14开始,设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
query_alloc_block_size属性 值 命令行格式 --query-alloc-block-size=#系统变量 query_alloc_block_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8192最低值 1024最大值 4294967295块大小 1024为语句解析和执行期间创建的对象分配的内存块的分配大小。如果内存碎片有问题,则可能有助于增加此参数。
query_prealloc_size属性 值 命令行格式 --query-prealloc-size=#系统变量 query_prealloc_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8192最低值 8192最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295块大小 1024用于语句解析和执行的持久缓冲区的大小。不会在语句之间释放此缓冲区。如果运行复杂的查询,则较大的
query_prealloc_size值可能有助于提高性能,因为它可以减少服务器在查询执行操作期间执行内存分配的需求。rand_seed1属性 值 系统变量 rand_seed1范围 Session 动态 是 SET_VAR提示适用没有 类型 Integer 该
rand_seed1和rand_seed2作为唯一的会话变量存在变数,并且可以设置,但不能读取。变量(而不是它们的值)显示在的输出中SHOW VARIABLES。这些变量的目的是支持
RAND()功能的复制。对于调用的语句,RAND()主控器将两个值传递给从属器,在此它们用于为随机数生成器提供种子。从机使用这些值来设置会话变量rand_seed1,rand_seed2以便RAND()从机上生成与主机上相同的值。rand_seed2请参阅的说明
rand_seed1。range_alloc_block_size属性 值 命令行格式 --range-alloc-block-size=#系统变量 range_alloc_block_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 4096最低值 4096最大值(64位平台) 18446744073709547520最大值 4294967295块大小 1024进行范围优化时分配的块的大小。
range_optimizer_max_mem_size属性 值 命令行格式 --range-optimizer-max-mem-size=#系统变量 range_optimizer_max_mem_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8388608最低值 0最大值 18446744073709551615范围优化器的内存消耗限制。值0表示“无限制”。”如果优化程序考虑一个执行计划使用的范围内访问方法,但优化程序估计需要这种方法的内存量将超过极限,它放弃该计划,并考虑其他计划。有关更多信息,请参见限制内存使用以进行范围优化。
rbr_exec_mode属性 值 系统变量 rbr_exec_mode范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 STRICT有效值 IDEMPOTENTSTRICT供mysqlbinlog内部使用。此变量在
IDEMPOTENT模式和STRICT模式之间切换服务器。IDEMPOTENT模式导致抑制mysqlbinlogBINLOG生成的语句中重复关键字和未找到关键字的错误。当在服务器上重播基于行的二进制日志时,该模式会导致与现有数据发生冲突,此模式很有用。当您通过将以下内容写入输出来指定选项时,mysqlbinlog设置此模式:--idempotentSET SESSION RBR_EXEC_MODE=IDEMPOTENT;从MySQL 8.0.18开始,设置此系统变量的会话值不再是受限制的操作。
read_buffer_size属性 值 命令行格式 --read-buffer-size=#系统变量 read_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 131072最低值 8200最大值 2147479552对
MyISAM表进行顺序扫描的每个线程都会为其扫描的每个表分配此大小(以字节为单位)的缓冲区。如果进行多次顺序扫描,则可能需要增加此值,默认值为131072。此变量的值应为4KB的倍数。如果将其设置为不是4KB倍数的值,则其值将四舍五入到最接近的4KB倍数。在以下上下文中,所有存储引擎还使用此选项:
- 在为排序行时,用于将索引缓存在临时文件(而非临时表)中
ORDER BY。 - 对于批量插入分区。
- 用于缓存嵌套查询的结果。
read_buffer_size还以另一种特定于存储引擎的方式使用:确定MEMORY表的内存块大小。有关在不同操作期间使用内存的更多信息,请参见“ MySQL如何使用内存”。
- 在为排序行时,用于将索引缓存在临时文件(而非临时表)中
read_only属性 值 命令行格式 --read-only[={OFF|ON}]系统变量 read_only范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF当
read_only启用了系统变量,该服务器允许除外谁拥有用户没有客户端更新CONNECTION_ADMIN或SUPER特权。默认情况下禁用此变量。服务器还支持
super_read_only系统变量(默认情况下禁用),具有以下作用:- 如果
super_read_only启用此选项,则服务器禁止客户端更新,即使来自具有SUPER特权的用户也是如此。 - 设置
super_read_only于ON隐含的力量read_only来ON。 - 设置
read_only于OFF隐含的力量super_read_only来OFF。
即使
read_only启用,服务器也允许以下操作:- 如果服务器是复制从属服务器,则由从属线程执行的更新。在复制设置中,
read_only在从属服务器上启用以确保从属仅接受来自主服务器的更新而不接受来自客户端的更新会很有用。 - 写入系统表
mysql.gtid_executed,该表存储了当前二进制日志文件中不存在的已执行事务的GTID。 ANALYZE TABLE或OPTIMIZE TABLE语句的使用。只读模式的目的是防止更改表结构或内容。分析和优化不符合此类更改的条件。例如,这意味着可以使用mysqlcheck --all-databases --analyze对只读复制从属服务器执行一致性检查。TEMPORARY表上的操作。- 插入日志表(
mysql.general_log和mysql.slow_log);请参见“选择常规查询日志和慢速查询日志输出目的地”。 - 更新Performance Schema表,例如
UPDATE或TRUNCATE TABLE操作。
read_only在主服务器上所做的更改不会复制到从属服务器上。可以在从属服务器上设置该值,而与主服务器上的设置无关。以下条件适用于尝试启用
read_only(包括由启用导致的隐式尝试super_read_only):- 如果您有任何显式锁(通过获取
LOCK TABLES)或有挂起的事务,则尝试失败并发生错误。 - 当其他客户端具有任何正在进行的语句,active
LOCK TABLES WRITE或正在进行的提交时,尝试将阻塞,直到释放锁并结束语句和事务为止。在尝试启用的read_only过程中,其他客户端请求表锁定或开始事务的请求也会阻塞,直到read_only被设置为止。 - 如果存在持有元数据锁的活动事务,尝试将阻塞,直到这些事务结束。
read_only您可以在持有全局读取锁(通过获取FLUSH TABLES WITH READ LOCK)时启用,因为它不涉及表锁。
- 如果
read_rnd_buffer_size属性 值 命令行格式 --read-rnd-buffer-size=#系统变量 read_rnd_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 262144最低值 1最大值 2147483647此变量用于从
MyISAM表读取,并且对于任何存储引擎,用于多范围读取优化。当
MyISAM在键排序操作之后按排序顺序从表中读取行时,将通过此缓冲区读取行以避免磁盘查找。请参见“通过优化排序”。将变量设置为较大的值可以大大提高ORDER BY性能。但是,这是为每个客户端分配的缓冲区,因此不应将全局变量设置为较大的值。相反,仅在需要运行大型查询的那些客户端中更改会话变量。有关在不同操作期间使用内存的更多信息,请参见“ MySQL如何使用内存”。有关多范围读取优化的信息,请参见“多范围读取优化”。
regexp_stack_limit属性 值 命令行格式 --regexp-stack-limit=#系统变量 regexp_stack_limit范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8000000最低值 0最大值 2147483647用于内部堆栈的最大可用内存(以字节为单位),这些堆栈用于由
REGEXP_LIKE()函数和类似函数执行的正则表达式匹配操作(请参见“MySQL正则表达式函数”)。regexp_time_limit属性 值 命令行格式 --regexp-time-limit=#系统变量 regexp_time_limit范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 32最低值 0最大值 2147483647由
REGEXP_LIKE()以及类似功能执行的正则表达式匹配操作的时间限制(请参见“MySQL正则表达式函数”)。此限制表示为由匹配引擎执行的最大允许步数,因此仅间接影响执行时间。通常,它是毫秒级的。require_row_format属性 值 介绍了 8.0.19 系统变量 require_row_format范围 Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF该变量供复制和mysqlbinlog内部服务器使用。它将在会话中执行的DML事件限制为仅以基于行的二进制日志记录格式编码的事件,并且无法创建临时表。不遵守限制的查询将失败。
将此系统变量的会话值设置为
ON不需要特权。将此系统变量的会话值设置OFF为限制操作,并且会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。require_secure_transport属性 值 命令行格式 --require-secure-transport[={OFF|ON}]系统变量 require_secure_transport范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF是否要求客户端与服务器的连接使用某种形式的安全传输。启用此变量后,服务器仅允许使用SSL的TCP / IP连接或使用套接字文件(在Unix上)或共享内存(在Windows上)的连接。服务器拒绝不安全的连接尝试,该尝试失败并显示
ER_SECURE_TRANSPORT_REQUIRED错误。此功能补充了优先考虑的每个帐户的SSL要求。例如,如果使用定义了一个帐户
REQUIRE SSL,则启用require_secure_transport后将无法使用该帐户通过Unix套接字文件进行连接。服务器可能没有可用的安全传输。例如,如果Windows服务器启动时未指定任何SSL证书或密钥文件且
shared_memory禁用了系统变量,则不支持安全传输。在这种情况下,尝试require_secure_transport在启动时启用将导致服务器将一条消息写入错误日志并退出。尝试在运行时启用变量失败,并显示ER_NO_SECURE_TRANSPORTS_CONFIGURED错误。另请参阅将加密连接配置为强制性。
resultset_metadat属性 值 系统变量 resultset_metadat范围 Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 FULL有效值 FULLNONE对于元数据传输是可选的连接,客户端设置
resultset_metadat系统变量以控制服务器是否返回结果集元数据。允许的值为FULL(返回所有元数据;这是默认值)和NONE(不返回任何元数据)。对于不是元数据可选的连接,设置
resultset_metadat为NONE会产生错误。有关管理结果集元数据传输的详细信息,请参见“ C API可选结果集元数据”。
secondary_engine_cost_threshold属性 值 介绍了 8.0.16 系统变量 secondary_engine_cost_threshold范围 Session 动态 是 SET_VAR提示适用是 类型 数字 默认值 100000.000000最低值 0最大值 DBL_MAX(maximum double value)供将来使用。
schema_definition_cache属性 值 命令行格式 --schema-definition-cache=#系统变量 schema_definition_cache范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 256最低值 256最大值 524288为使用和未使用的架构定义对象的数量定义一个限制,该限制可以保留在字典对象缓存中。
仅当使用的数量小于所定义的容量时,才会将未使用的架构定义对象保留在字典对象缓存中
schema_definition_cache。设置
0意味着架构定义对象仅在使用时才保留在字典对象缓存中。有关更多信息,请参见“字典对象缓存”。
secure_file_priv属性 值 命令行格式 --secure-file-priv=dir_name系统变量 secure_file_priv范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值 platform specific有效值 empty stringdirnameNULL此变量用于限制数据导入和导出操作的效果,例如由
LOAD DATAndSELECT ... INTO OUTFILE语句和LOAD_FILE()函数执行的操作。只有具有FILE特权的用户才能进行这些操作。secure_file_priv可以设置如下:- 如果为空,则该变量无效。这不是一个安全的设置。
- 如果设置为目录名,则服务器将限制导入和导出操作,使其仅适用于该目录中的文件。该目录必须存在;服务器将不会创建它。
- 如果设置为
NULL,服务器将禁用导入和导出操作。
缺省值是特定于平台的,并且取决于CMake选项的值,如下表所示。如果要从源代码构建,则要明确指定默认值,请使用CMake选项。
INSTALL_LAYOUTsecure_file_privINSTALL_SECURE_FILE_PRIVDIRINSTALL_LAYOUT值预设 secure_file_priv值STANDALONE空的 DEB,RPM,SVR4/var/lib/mysql-files除此以外 mysql-files在CMAKE_INSTALL_PREFIX价值之下服务器
secure_file_priv在启动时检查值,如果该值不安全,则将警告写入错误日志。如果非NULL值是空的,或者该值是数据目录或它的子目录,或者是所有用户都可以访问的目录,则它被认为是不安全的。如果secure_file_priv将设置为不存在的路径,则服务器将错误消息写入错误日志并退出。session_track_gtids属性 值 命令行格式 --session-track-gtids=value系统变量 session_track_gtids范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 OFF有效值 OFFOWN_GTIDALL_GTIDS控制服务器是否在当前会话中跟踪GTID,并将其返回给客户端。根据变量值,在执行每个事务结束时,跟踪程序将捕获服务器GTID,并将其返回给客户端。这些
session_track_gtids值是允许的:OFF:跟踪器未收集任何GTID。这是默认值。OWN_GTID:跟踪器收集成功提交的读/写事务生成的GTID。ALL_GTIDS:跟踪器gtid_executed在当前事务提交时收集系统变量中的所有GTID ,而不管事务是读/写还是只读。
session_track_gtids不能在事务上下文中设置。有关会话状态跟踪的更多信息,请参见“客户端会话状态更改的服务器跟踪”。
session_track_schem属性 值 命令行格式 --session-track-schema[={OFF|ON}]系统变量 session_track_schem范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON控制服务器是否跟踪在当前会话中设置默认架构(数据库)的时间,并通知客户端使架构名称可用。
如果启用了架构名称跟踪器,则即使新的架构名称与旧的架构名称相同,每次设置默认架构时都会发生名称通知。
有关会话状态跟踪的更多信息,请参见“客户端会话状态更改的服务器跟踪”。
session_track_state_change属性 值 命令行格式 --session-track-state-change[={OFF|ON}]系统变量 session_track_state_change范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF控制服务器是否跟踪当前会话的状态更改,并在状态更改发生时通知客户端。可以报告客户端会话状态的以下属性的更改:
- 默认架构(数据库)。
- 系统变量的特定于会话的值。
- 用户定义的变量。
- 临时表。
- 准备好的语句。
如果启用了会话状态跟踪器,则即使涉及新的属性值与旧的属性值相同,也会针对涉及跟踪的会话属性的每个更改发生通知。例如,将用户定义的变量设置为其当前值将导致通知。
该
session_track_state_change变量仅控制何时发生更改的通知,而不控制更改的通知。例如,当设置了默认模式或分配了跟踪的会话系统变量时,就会发生状态更改通知,但是该通知不包括模式名称或变量值。要接收模式名称或会话系统变量值的通知,请分别使用session_track_schem或session_track_system_variables系统变量。注意
为
session_track_state_change自身分配值不被视为状态更改,因此也不会这样报告。但是,如果其名称列在的值中,则对其的session_track_system_variables任何分配都会导致通知新值。有关会话状态跟踪的更多信息,请参见“客户端会话状态更改的服务器跟踪”。
session_track_system_variables属性 值 命令行格式 --session-track-system-variables=#系统变量 session_track_system_variables范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 string 默认值 time_zone, autocommit, character_set_client, character_set_results, character_set_connection控制服务器是否跟踪对会话系统变量的分配,并通知客户端每个分配的变量的名称和值。变量值是用逗号分隔的变量列表,可以跟踪其分配。默认情况下,通知的启用
time_zone,utocommit,character_set_client,character_set_results,和character_set_connection。(后三个变量是受的影响SET NAMES。)该特殊值
*使服务器跟踪对所有会话变量的分配。如果给定,则此值必须由其自身指定,而没有特定的系统变量名称。要禁用会话变量分配的通知,请设置
session_track_system_variables为空字符串。如果启用了会话系统变量跟踪,那么即使新值与旧值相同,也会对所有分配给跟踪会话变量的通知进行通知。
有关会话状态跟踪的更多信息,请参见“客户端会话状态更改的服务器跟踪”。
session_track_transaction_info属性 值 命令行格式 --session-track-transaction-info=value系统变量 session_track_transaction_info范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 OFF有效值 OFFSTATECHARACTERISTICS控制服务器是否跟踪当前会话中事务的状态和特征,并通知客户端使此信息可用。这些
session_track_transaction_info值是允许的:OFF:禁用事务状态跟踪。这是默认值。STATE:启用事务状态跟踪而没有特征跟踪。状态跟踪使客户端能够确定事务是否正在进行中,以及是否可以将其移至其他会话而不回滚。CHARACTERISTICS:启用事务状态跟踪,包括特征跟踪。通过特征跟踪,客户端可以确定如何在另一个会话中重新启动事务,以使其具有与原始会话相同的特征。以下特征与此有关:ISOLATION LEVEL READ ONLY READ WRITE WITH CONSISTENT SNAPSHOT
为了使客户安全地将事务重定位到另一个会话,它不仅必须跟踪事务状态,还必须跟踪事务特征。此外,客户端必须跟踪
transaction_isolation和transaction_read_only系统变量,才能正确确定会话默认值。(要跟踪这些变量,请在session_track_system_variables系统变量的值中列出它们。)有关会话状态跟踪的更多信息,请参见“客户端会话状态更改的服务器跟踪”。
sha256_password_auto_generate_rsa_keys属性 值 命令行格式 --sha256-password-auto-generate-rsa-keys[={OFF|ON}]系统变量 sha256_password_auto_generate_rsa_keys范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON服务器使用此变量来确定是否自动生成数据目录中的RSA私钥/公钥对文件(如果尚不存在)。
在启动时,服务器会自动生成数据目录RSA公钥/私钥对的文件,如果所有这些条件为真:
sha256_password_auto_generate_rsa_keys或caching_sha2_password_auto_generate_rsa_keys系统变量启用;未指定RSA选项;数据目录中缺少RSA文件。这些密钥对文件可通过RSAsha256_password或caching_sha2_password插件认证的帐户,通过未加密的连接使用RSA进行安全密码交换;请参见“ SHA-256可插拔身份验证”和“缓存SHA-2可插拔身份验证”。有关RSA文件自动生成的更多信息,包括文件名和特征,请参见“创建SSL和RSA证书和密钥”
该
uto_generate_certs系统变量相关,但SSL证书,并需要使用SSL安全连接密钥文件的控制自动生成。sha256_password_private_key_path属性 值 命令行格式 --sha256-password-private-key-path=file_name系统变量 sha256_password_private_key_path范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 默认值 private_key.pem此变量的值是
sha256_password身份验证插件的RSA私钥文件的路径名。如果文件被命名为相对路径,则会相对于服务器数据目录进行解释。该文件必须为PEM格式。重要
由于此文件存储私钥,因此应限制其访问模式,以便只有MySQL服务器才能读取它。
有关的信息
sha256_password,请参见“ SHA-256可插拔身份验证”。sha256_password_proxy_users属性 值 命令行格式 --sha256-password-proxy-users[={OFF|ON}]系统变量 sha256_password_proxy_users范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF此变量控制
sha256_password内置身份验证插件是否支持代理用户。除非check_proxy_users启用系统变量,否则它无效。有关用户代理的信息,请参见“代理用户”。sha256_password_public_key_path属性 值 命令行格式 --sha256-password-public-key-path=file_name系统变量 sha256_password_public_key_path范围 Global 动态 没有 SET_VAR提示适用没有 类型 文件名 默认值 public_key.pem此变量的值是
sha256_password身份验证插件的RSA公钥文件的路径名。如果文件被命名为相对路径,则会相对于服务器数据目录进行解释。该文件必须为PEM格式。由于此文件存储公用密钥,因此可以将副本自由分发给客户端用户。(在使用RSA密码加密连接到服务器时,明确指定公共密钥的客户端必须使用与服务器使用的公共密钥相同的公共密钥。)有关的信息
sha256_password,包括有关客户端如何指定RSA公钥的信息,请参见“ SHA-256可插拔身份验证”。shared_memory属性 值 命令行格式 --shared-memory[={OFF|ON}]系统变量 shared_memory范围 Global 动态 没有 SET_VAR提示适用没有 特定于平台 windows 类型 布尔型 默认值 OFF(仅Windows。)服务器是否允许共享内存连接。
shared_memory_base_name属性 值 命令行格式 --shared-memory-base-name=name系统变量 shared_memory_base_name范围 Global 动态 没有 SET_VAR提示适用没有 特定于平台 windows 类型 string 默认值 MYSQL(仅Windows。)用于共享内存连接的共享内存的名称。在单个物理计算机上运行多个MySQL实例时,这很有用。默认名称是
MYSQL。名称区分大小写。仅当在
shared_memory启用系统变量以支持共享内存连接的情况下启动服务器时,此变量才适用。show_create_table_skip_secondary_engine属性 值 命令行格式 --show-create-table-skip-secondary-engine[={OFF|ON}]介绍了 8.0.18 系统变量 show_create_table_skip_secondary_engine范围 Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF启用
show_create_table_skip_secondary_engine会使该SECONDARY ENGINE子句从SHOW CREATE TABLE输出和mysqldump实用程序CREATE TABLE转储的语句中排除。mysqldump提供了该
--show-create-skip-secondary-engine选项。指定后,它将show_create_table_skip_secondary_engine在转储操作期间启用系统变量。在不支持该变量的MySQL 8.0.18之前的版本中尝试使用该选项进行mysqldump操作会导致错误。
--show-create-skip-secondary-engineshow_create_table_skip_secondary_engineshow_create_table_verbosity属性 值 命令行格式 --show-create-table-verbosity[={OFF|ON}]系统变量 show_create_table_verbosity范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFFSHOW CREATE TABLEROW_FORMAT如果行格式是默认格式,通常不会显示表格选项。启用此变量将导致SHOW CREATE TABLE显示ROW_FORMAT,无论它是否是默认格式。show_old_temporals属性 值 命令行格式 --show-old-temporals[={OFF|ON}]不推荐使用 是 系统变量 show_old_temporals范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF是否
SHOW CREATE TABLE输出包括注释来标记时间列发现在预5.6.4格式(TIME,DATETIME,和TIMESTAMP列不为小数精度秒支持)。默认情况下禁用此变量。如果启用,SHOW CREATE TABLE输出如下所示:CREATE TABLE `mytbl` ( `ts` timestamp /* 5.5 binary format */ NOT NULLDEFAULT CURRENT_TIMESTAMP , `dt` datetime /* 5.5 binary format */DEFAULT NULL, `t` time /* 5.5 binary format */DEFAULT NULL )DEFAULT CHARSET =utf8mb4表
COLUMN_TYPE列的输出INFORMATION_SCHEMA.COLUMNS受到类似的影响。不建议使用此变量,并将在将来的MySQL版本中将其删除。
skip_external_locking属性 值 命令行格式 --skip-external-locking[={OFF|ON}]系统变量 skip_external_locking范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON这是
OFF如果mysqld的使用外部锁定(锁定系统),ON如果外部锁定被禁用。这仅影响MyISAM表访问。该变量由
--external-locking或--skip-external-locking选项设置。默认情况下,外部锁定是禁用的。外部锁定仅影响
MyISAM表访问。有关更多信息,包括可以使用和不能使用的条件,请参见“外部锁定”。skip_name_resolve属性 值 命令行格式 --skip-name-resolve[={OFF|ON}]系统变量 skip_name_resolve范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 OFF检查客户端连接时是否解析主机名。如果此变量为
OFF,则mysqld在检查客户端连接时解析主机名。如果为ON,则mysqld仅使用IP编号;否则为。在这种情况下,Host授权表中的所有列值都必须是IP地址。请参见“ DNS查找优化和主机缓存”。根据系统的网络配置和
Host帐户的值,客户端可能需要使用显式--host选项(例如--host=127.0.0.1或)进行连接--host=::1。尝试连接到主机
127.0.0.1通常会解析为该localhost帐户。但是,如果服务器在skip_name_resolve启用状态下运行,则此操作将失败。如果您打算这样做,请确保存在一个可以接受连接的帐户。例如,要能够root使用--host=127.0.0.1或进行连接--host=::1,请创建以下帐户:CREATE USER 'root'@'127.0.0.1'IDENTIFIED BY 'root-password';CREATE USER 'root'@'::1'IDENTIFIED BY 'root-password';skip_networking属性 值 命令行格式 --skip-networking[={OFF|ON}]系统变量 skip_networking范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 OFF此变量控制服务器是否允许TCP / IP连接。默认情况下,它是禁用的(允许TCP连接)。如果启用,则服务器仅允许本地(非TCP / IP)连接,与mysqld的所有交互都必须使用命名管道或共享内存(在Windows上)或Unix套接字文件(在Unix上)进行。对于仅允许本地客户端的系统,强烈建议使用此选项。请参见“ DNS查找优化和主机缓存”。
由于启动服务器
--skip-grant-tables会禁用身份验证检查,因此在这种情况下,服务器也会通过启用来禁用远程连接skip_networking。skip_show_database属性 值 命令行格式 --skip-show-database系统变量 skip_show_database范围 Global 动态 没有 SET_VAR提示适用没有 SHOW DATABASES如果他们没有SHOW DATABASES特权,这将阻止人们使用该语句。如果您担心用户能够参见属于其他用户的数据库,则可以提高安全性。它的作用取决于SHOW DATABASES特权:如果变量值为ON,则该SHOW DATABASES语句仅允许具有SHOW DATABASES特权的用户使用,并且该语句显示所有数据库名称。如果值为OFF,SHOW DATABASES则允许所有用户使用,但仅显示该用户对其具有SHOW DATABASES或其他特权的数据库的名称。警告
因为任何静态全局特权都被认为是所有数据库的特权,所以任何静态全局特权都使用户可以使用
SHOW DATABASES或通过检查的SCHEMATA表来参见所有数据库名称INFORMATION_SCHEMA,但在数据库级别受部分吊销限制的数据库除外。slow_launch_time属性 值 命令行格式 --slow-launch-time=#系统变量 slow_launch_time范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 2如果创建线程花费的时间超过了许多秒,则服务器将增加
Slow_launch_threads状态变量。slow_query_log属性 值 命令行格式 --slow-query-log[={OFF|ON}]系统变量 slow_query_log范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF是否启用慢速查询日志。该值可以是0(或
OFF)以禁用日志,也可以是 1(或ON)以启用日志。日志输出的目的地由log_output系统变量控制;如果该值为NONE,即使启用了日志,也不会写入任何日志条目。“慢”由
long_query_time变量的值确定。请参见“MySQL服务器慢查询日志”。slow_query_log_file属性 值 命令行格式 --slow-query-log-file=file_name系统变量 slow_query_log_file范围 Global 动态 是 SET_VAR提示适用没有 类型 文件名 默认值 host_name-slow.log慢查询日志文件的名称。默认值为
host_name-slow.log,但可以使用该--slow_query_log_file选项更改初始值。socket属性 值 命令行格式 --socket={file_name|pipe_name}系统变量 socket范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 默认值(其他) /tmp/mysql.sock预设值(Windows) MySQL在Unix平台上,此变量是用于本地客户端连接的套接字文件的名称。默认值为
/tmp/mysql.sock。(对于某些发行格式,目录可能有所不同,例如/var/lib/mysqlRPM。)在Windows上,此变量是用于本地客户端连接的命名管道的名称。默认值为
MySQL(不区分大小写)。sort_buffer_size属性 值 命令行格式 --sort-buffer-size=#系统变量 sort_buffer_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 262144最低值 32768最大值(其他64位平台) 18446744073709551615最大值(其他32位平台) 4294967295最大值(Windows) 4294967295每个必须执行排序的会话都会分配此大小的缓冲区。
sort_buffer_size并非特定于任何存储引擎,而是以一般方式进行优化。至少该sort_buffer_size值必须足够大以在排序缓冲区中容纳15个元组。另外,增加的值max_sort_length可能需要增加的值sort_buffer_size。有关更多信息,请参见“通过优化排序”如果您看到
Sort_merge_passes每秒很多的SHOW GLOBAL STATUS输出,则可以考虑增加该sort_buffer_size值以加快速度ORDER BY或GROUP BY使用查询优化或改进索引无法改善的操作。优化器尝试计算出需要多少空间,但可以分配更多空间(最大限制)。将其设置为大于全局所需的大小将减慢大多数此类查询的速度。最好将其增加为会话设置,并且仅适用于需要更大大小的会话。在Linux上,阈值分别为256KB和2MB,其中较大的值可能会显着减慢内存分配,因此您应考虑保持低于这些值之一。尝试找到最适合您的工作量的价值。请参见第B.4.3.5节“ MySQL在哪里存储临时文件”。
最大允许设置为
sort_buffer_size4GB-1。对于64位平台,允许使用更大的值(64位Windows除外,在Windows中,较大的值会被警告截断为4GB-1)。sql_auto_is_null属性 值 系统变量 sql_auto_is_null范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF如果启用了此变量,则在成功插入自动生成的
AUTO_INCREMENT值的语句之后,可以通过发出以下形式的语句来找到该值:SELECT *FROM tbl_nameWHERE uto_col IS NULL如果该语句返回一行,则返回的值与调用该
LAST_INSERT_ID()函数的值相同。有关详细信息,包括在多行插入之后的返回值,请参见“信息函数”。如果没有AUTO_INCREMENT成功插入任何值,则该SELECT语句不返回任何行。AUTO_INCREMENT通过使用IS NULL比较来检索值的行为被某些ODBC程序(例如Access)所采用。请参阅获取自动增量值。可以通过设置sql_auto_is_null为禁用此行为OFF。在此之前的MySQL 8.0.16,改造,以执行该语句时,才被执行,这样的值执行期间确定查询是否转化。在MySQL 8.0.16和更高版本中,转换是在语句准备期间执行的。
WHERE uto_col IS NULLWHERE uto_col= LAST_INSERT_ID()sql_auto_is_null默认值
sql_auto_is_null是OFF。sql_big_selects属性 值 系统变量 sql_big_selects范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 ON如果设置为
OFF,MySQL将中止SELECT可能花费很长时间才能执行的语句(即,优化器估计该语句所检查的行数超过的值的语句max_join_size)。当发出了不明智的WHERE声明时,这很有用。新连接的默认值为ON,它允许所有SELECT语句。如果将
max_join_size系统变量设置为以外的其他值DEFAULT,sql_big_selects则设置为OFF。sql_buffer_result属性 值 系统变量 sql_buffer_result范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF如果启用,则将语句的
sql_buffer_result结果强制SELECT放入临时表中。这有助于MySQL尽早释放表锁,并且在将结果发送到客户端花费很长时间的情况下会很有用。默认值为OFF。sql_log_off属性 值 系统变量 sql_log_off范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF有效值 OFF(启用日志记录)ON(禁用日志记录)此变量控制是否为当前会话禁用对常规查询日志的日志记录(假设常规查询日志本身已启用)。默认值为
OFF(即启用日志记录)。要为当前会话禁用或启用常规查询日志记录,请将会话sql_log_off变量设置为ON或OFF。设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
sql_mode属性 值 命令行格式 --sql-mode=name系统变量 sql_mode范围 Global, Session 动态 是 SET_VAR提示适用是 类型 组 默认值 ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_ENGINE_SUBSTITUTION有效值 ALLOW_INVALID_DATESANSI_QUOTESERROR_FOR_DIVISION_BY_ZEROHIGH_NOT_PRECEDENCEIGNORE_SPACENO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESNO_DIR_IN_CREATENO_ENGINE_SUBSTITUTIONNO_UNSIGNED_SUBTRACTIONNO_ZERO_DATENO_ZERO_IN_DATEONLY_FULL_GROUP_BYPAD_CHAR_TO_FULL_LENGTHPIPES_AS_CONCATREAL_AS_FLOATSTRICT_ALL_TABLESSTRICT_TRANS_TABLESTIME_TRUNCATE_FRACTIONAL当前服务器的SQL模式,可以动态设置。有关详细信息,请参见“服务器SQL模式”。
注意
MySQL安装程序可能会在安装过程中配置SQL模式。
如果SQL模式不同于默认模式或期望的模式,请检查服务器在启动时读取的选项文件中的设置。
sql_notes属性 值 系统变量 sql_notes范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON如果启用(默认设置),则
Note级别增量诊断warning_count并将由服务器记录下来。如果禁用,则Note诊断不会增加warning_count,服务器也不会记录它们。mysqldump包含用于禁用此变量的输出,以便重新加载转储文件不会对不影响重新加载操作完整性的事件产生警告。sql_quote_show_create属性 值 系统变量 sql_quote_show_create范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON如果启用(默认值),服务器将引用
SHOW CREATE TABLE和SHOW CREATE DATABASE语句的标识符。如果禁用,则引用被禁用。默认情况下启用此选项,以便复制适用于需要引用的标识符。请参见“ SHOW CREATE TABLE语句”和“ SHOW CREATE DATABASE语句”。sql_require_primary_key属性 值 命令行格式 --sql-require-primary-key[={OFF|ON}]介绍了 8.0.13 系统变量 sql_require_primary_key范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF创建新表或更改现有表结构的语句是否强制要求表具有主键。
设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。
启用此变量有助于避免表没有主键时可能发生的基于行的复制中的性能问题。假设一个表没有主键,而更新或删除修改了多行。在主服务器上,可以使用单个表扫描来执行此操作,但是在使用基于行的复制进行复制时,将导致在从属服务器上针对每一行进行表扫描。使用主键时,不会发生这些表扫描。
sql_require_primary_key适用于基本表和TEMPORARY表,并且其值的更改被复制到从属服务器。从MySQL 8.0.18开始,它仅适用于可以参与复制的存储引擎。启用后,
sql_require_primary_key具有以下效果:- 尝试创建没有主键的新表失败并显示错误。这包括
CREATE TABLE ... LIKE。它还包括CREATE TABLE ... SELECT,除非该CREATE TABLE部分包括主键定义。 尝试从现有表中删除主键失败并显示错误,但
ALTER TABLE允许在同一语句中删除主键并添加主键的例外。即使表还包含
UNIQUE NOT NULL索引,删除主键也将失败。- 尝试导入没有主键的表失败,并显示错误。
- 尝试创建没有主键的新表失败并显示错误。这包括
sql_safe_updates属性 值 系统变量 sql_safe_updates范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 OFF如果这个变量被启用,
UPDATE并且DELETE不中使用的关键语句WHERE条款或LIMIT条款产生错误。这样就可以捕获UPDATE并DELETE声明未正确使用键的地方,这可能会更改或删除大量行。默认值为OFF。对于mysql客户端,
sql_safe_updates可以使用--safe-updates选项启用。有关更多信息,请参见使用安全更新模式(--safe-updates)。sql_select_limit属性 值 系统变量 sql_select_limit范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 从
SELECT语句返回的最大行数。有关更多信息,请参见使用安全更新模式(--safe-updates)。新连接的默认值是服务器每个表允许的最大行数。典型的默认值为(2 32)-1或(2 64)-1。如果您更改了限制,则可以通过分配值来恢复默认值
DEFAULT。如果a
SELECT有LIMIT子句,LIMIT则优先于的值sql_select_limit。sql_warnings属性 值 系统变量 sql_warnings范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF此变量控制
INSERT如果发生警告,单行语句是否生成信息字符串。默认值为OFF。将值设置ON为产生一个信息字符串。ssl_c属性 值 命令行格式 --ssl-ca=file_name系统变量 ssl_c范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 文件名 带有受信任的SSL证书颁发机构列表的文件的路径。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
ssl_capath属性 值 命令行格式 --ssl-capath=dir_name系统变量 ssl_capath范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 目录名 包含PEM格式的受信任SSL CA证书的目录的路径。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
ssl_cert属性 值 命令行格式 --ssl-cert=file_name系统变量 ssl_cert范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 文件名 用于建立安全连接的SSL证书文件的名称。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
ssl_cipher属性 值 命令行格式 --ssl-cipher=name系统变量 ssl_cipher范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 string 直到TLSv1.2为止使用TLS协议的连接的允许加密密码的列表。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
ssl_crl属性 值 命令行格式 --ssl-crl=file_name系统变量 ssl_crl范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 文件名 包含PEM格式的证书吊销列表的文件的路径。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
ssl_crlpath属性 值 命令行格式 --ssl-crlpath=dir_name系统变量 ssl_crlpath范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 目录名 目录的路径,其中包含包含PEM格式的证书吊销列表的文件。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
ssl_fips_mode属性 值 命令行格式 --ssl-fips-mode={OFF|ON|STRICT}系统变量 ssl_fips_mode范围 Global 动态 是 SET_VAR提示适用没有 类型 列举 默认值 OFF有效值 OFF(或0)ON(或1)STRICT(或2个)控制是否在服务器端启用FIPS模式。该
ssl_fips_mode系统变量与其他选项的不同之处在于,它不用于控制服务器是否允许加密连接,而是影响允许的加密操作。请参见“ FIPS支持”。--ssl-xxx这些
ssl_fips_mode值是允许的:OFF(或0):禁用FIPS模式。ON(或1):启用FIPS模式。STRICT(或2):启用“ strict ” FIPS模式。
注意
如果OpenSSL的FIPS对象模块不可用时,对于唯一的允许值
ssl_fips_mode是OFF。在这种情况下,设置ssl_fips_mode为启动ON或STRICT在启动时会导致服务器生成错误消息并退出。ssl_key属性 值 命令行格式 --ssl-key=file_name系统变量 ssl_key范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 文件名 用于建立安全连接的SSL密钥文件的名称。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
stored_program_cache属性 值 命令行格式 --stored-program-cache=#系统变量 stored_program_cache范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 256最低值 16最大值 524288设置每个连接的缓存存储例程数的软上限。该变量的值是根据MySQL服务器为存储过程和存储函数分别维护的两个缓存中的每个存储例程的数量指定的。
每当执行存储例程时,都会在解析例程中的第一条或顶层语句之前检查此缓存的大小;如果相同类型的例程(存储过程或存储函数正在执行的存储函数)的数量超出此变量指定的限制,则将刷新相应的高速缓存,并释放先前为高速缓存的对象分配的内存。即使存储的例程之间存在依赖关系,这也可以安全地刷新缓存。
存储过程和存储函数高速缓存与字典对象高速缓存的存储程序定义高速缓存分区并行存在。存储过程和存储函数高速缓存是每个连接的,而存储程序定义高速缓存是共享的。存储过程和存储函数高速缓存中对象的存在不依赖于存储程序定义高速缓存中对象的存在,反之亦然。有关更多信息,请参见“字典对象缓存”。
stored_program_definition_cache属性 值 命令行格式 --stored-program-definition-cache=#系统变量 stored_program_definition_cache范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 256最低值 256最大值 524288定义可以在字典对象高速缓存中保留的已使用程序和未使用程序的存储定义对象数目的限制。
仅当使用的数量小于所定义的容量时,才会将未使用的存储程序定义对象保留在字典对象缓存中
stored_program_definition_cache。设置为0意味着存储的程序定义对象仅在使用时才保留在字典对象缓存中。
存储程序定义高速缓存分区与使用该
stored_program_cache选项配置的存储过程和存储函数高速缓存并行存在。该
stored_program_cache选项为每个连接设置缓存的存储过程或函数的数量的软上限,并且每次连接执行存储过程或函数时都会检查该上限。另一方面,存储的程序定义高速缓存分区是共享的高速缓存,其存储存储的程序定义对象用于其他目的。存储的程序定义高速缓存分区中对象的存在与存储过程高速缓存或存储的函数高速缓存中对象的存在无关,反之亦然。有关相关信息,请参见“字典对象缓存”。
super_read_only属性 值 命令行格式 --super-read-only[={OFF|ON}]系统变量 super_read_only范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF如果
read_only启用了系统变量,则服务器仅允许具有SUPER特权的用户进行客户端更新。如果super_read_only还启用了系统变量,则服务器甚至禁止具有的用户进行客户端更新SUPER。见的描述read_only系统变量为只读模式和有关如何描述read_only和super_read_only互动。super_read_only启用时阻止客户端更新包括不一定看起来是更新的操作,例如CREATE FUNCTION(安装UDF)INSTALL PLUGIN,和INSTALL COMPONENT。禁止这些操作,因为它们涉及对mysql系统架构中表的更改。super_read_only在主服务器上所做的更改不会复制到从属服务器上。可以在从属服务器上设置该值,而与主服务器上的设置无关。syseventlog.facility属性 值 命令行格式 --syseventlog.facility=value介绍了 8.0.13 系统变量 syseventlog.facility范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 daemon写入错误日志输出的功能
syslog(发送消息的程序类型)。除非log_sink_syseventlog安装了错误日志组件,否则此变量不可用。允许的值可能会因操作系统而异;请查阅系统
syslog文档。Windows上不存在此变量。
syseventlog.include_pid属性 值 命令行格式 --syseventlog.include-pid[={OFF|ON}]介绍了 8.0.13 系统变量 syseventlog.include_pid范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON是否在写入到的错误日志输出的每一行中包括服务器进程ID
syslog。除非log_sink_syseventlog安装了错误日志组件,否则此变量不可用。Windows上不存在此变量。
syseventlog.tag属性 值 命令行格式 --syseventlog.tag=tag介绍了 8.0.13 系统变量 syseventlog.tag范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 empty string要添加到服务器标识符中的标记,该标记将写入错误日志输出
syslog或Windows事件日志中。除非log_sink_syseventlog安装了错误日志组件,否则此变量不可用。默认情况下,未设置标签,因此服务器标识符仅
MySQL在Windows和mysqld其他平台上。如果tag指定了标记值,则将其添加到服务器标识符前并带有连字符,导致syslog标识符为(或在Windows上)。mysqld-tagMySQL-tag在Windows上,要使用尚不存在的标记,必须从具有管理员特权的帐户运行服务器,以允许为该标记创建注册表项。如果标签已经存在,则不需要提升的特权。
system_time_zone属性 值 系统变量 system_time_zone范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 服务器系统时区。服务器开始执行时,它将从计算机默认值继承时区设置,该默认设置可能会被用于运行服务器的帐户环境或启动脚本修改。该值用于设置
system_time_zone。通常,时区由TZ环境变量指定。也可以使用mysqld_safe脚本的--timezone选项指定。该
system_time_zone变量不同于time_zone。尽管它们可能具有相同的值,但是后一个变量用于为每个连接的客户端初始化时区。请参见“ MySQL服务器时区支持”。table_definition_cache属性 值 命令行格式 --table-definition-cache=#系统变量 table_definition_cache范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 -1(表示自动调整大小;不分配此文字值)最低值 400最大值 524288可以存储在定义高速缓存中的表定义的数量。如果使用大量表,则可以创建大表定义缓存以加快表打开速度。与普通表高速缓存不同,表定义高速缓存占用的空间更少,并且不使用文件描述符。最小值是400。默认值基于以下公式,上限为2000:
MIN(400 + table_open_cache / 2, 2000)
对于
InnoDB,table_definition_cache充当InnoDB数据字典缓存中打开表实例的数量的软限制。如果打开表实例的数量超过table_definition_cache设置,则LRU机制将开始标记表实例以将其逐出,并最终将其从数据字典缓存中删除。该限制有助于解决以下情况:大量内存将用于缓存很少使用的表实例,直到下次服务器重新启动。具有缓存的元数据的表实例的数量可能会超过table_definition_cache,因为具有外键关系的父表实例和子表实例不会放在LRU列表上,也不会从内存中逐出。此外,还
table_definition_cache定义了InnoDB可以一次打开的每表文件表空间数量的软限制,该限制也由来控制innodb_open_files。如果同时设置table_definition_cache和innodb_open_files,则使用最高设置。如果未设置任何变量table_definition_cache,则使用具有较高默认值的变量。如果打开的表空间文件句柄的数量超过table_definition_cache或所定义的限制innodb_open_files,则LRU机制将在表空间文件LRU列表中搜索已完全刷新且当前未扩展的文件。每次打开新表空间时都执行此过程。如果没有“非活动”表空间,不会关闭任何表空间文件。表定义高速缓存与字典对象高速缓存的表定义高速缓存分区并行存在。这两个缓存均存储表定义,但服务于MySQL服务器的不同部分。一个高速缓存中的对象不依赖于另一个高速缓存中的存在对象。有关更多信息,请参见“字典对象缓存”。
table_encryption_privilege_check属性 值 命令行格式 --table-encryption-privilege-check[={OFF|ON}]介绍了 8.0.16 系统变量 table_encryption_privilege_check范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF控制
TABLE_ENCRYPTION_ADMIN使用不同于default_table_encryption设置的加密来创建或更改模式或常规表空间时,或者使用不同于默认方案加密的加密设置来创建或更改表时进行的特权检查。默认情况下,该检查处于禁用状态。table_encryption_privilege_check在运行时进行设置需要SUPER特权。table_encryption_privilege_check支持SET PERSIST和SET PERSIST_ONLY语法。请参见“持久性系统变量”。有关更多信息,请参见为架构和常规表空间定义加密默认值。
table_open_cache属性 值 命令行格式 --table-open-cache=#系统变量 table_open_cache范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 4000最低值 1最大值 524288所有线程的打开表数。增大该值将增加mysqld所需的文件描述符的数量。您可以通过检查
Opened_tables状态变量来检查是否需要增加表缓存。请参见“服务器状态变量”。如果的值Opened_tables很大,并且您不FLUSH TABLES经常使用(这只会强制关闭并重新打开所有表),则应增加table_open_cache变量的值。有关表缓存的更多信息,请参见“ MySQL如何打开和关闭表”。table_open_cache_instances属性 值 命令行格式 --table-open-cache-instances=#系统变量 table_open_cache_instances范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 16最低值 1最大值 64打开表缓存实例的数量。为了通过减少会话之间的争用来提高可伸缩性,可以将打开的表缓存划分为几个较小的大小为
table_open_cache/的缓存实例table_open_cache_instances。会话只需锁定一个实例即可访问它以获取DML语句。这可以在实例之间细分缓存访问,从而在有许多会话访问表时允许使用缓存的操作具有更高的性能。(DDL语句仍然需要锁定整个缓存,但是这种语句的频率要比DML语句低得多。)在通常使用16个或更多内核的系统上,建议将值设置为8或16。
tablespace_definition_cache属性 值 命令行格式 --tablespace-definition-cache=#系统变量 tablespace_definition_cache范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 256最低值 256最大值 524288定义可以在字典对象高速缓存中保留的表空间定义对象(已使用和未使用)数量的限制。
未使用的表空间定义对象仅在使用的数量小于所定义的容量时才保留在字典对象缓存中
tablespace_definition_cache。设置
0意味着表空间定义对象在使用时仅保留在字典对象缓存中。有关更多信息,请参见“字典对象缓存”。
temptable_max_ram属性 值 命令行格式 --temptable-max-ram=#系统变量 temptable_max_ram范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1073741824最低值 2097152最大值 2^64-1定义
TempTable存储引擎开始在磁盘上存储数据之前可以占用的最大内存量。默认值为1073741824字节(1GiB)。有关更多信息,请参见“ MySQL中的内部临时表使用”。temptable_use_mmap属性 值 命令行格式 --temptable-use-mmap[={OFF|ON}]介绍了 8.0.16 系统变量 temptable_use_mmap范围 Global 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 ON定义当TempTable存储引擎占用的内存量超过该
temptable_max_ram变量定义的限制时,是否将TempTable存储引擎为内部内存中的临时表分配空间作为内存映射的临时文件。如果temptable_use_mmap禁用此选项,则TempTable存储引擎将InnoDB改为使用磁盘内部临时表。有关更多信息,请参见“ MySQL中的内部临时表使用”。thread_cache_size属性 值 命令行格式 --thread-cache-size=#系统变量 thread_cache_size范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 -1(表示自动调整大小;不分配此文字值)最低值 0最大值 16384服务器应缓存多少线程以供重用。当客户端断开连接时,如果那里的
thread_cache_size线程少于该线程,则将客户端的线程放入缓存中。通过尽可能地重用从缓存中获取的线程来满足线程请求,并且仅当缓存为空时才创建新线程。如果您有许多新连接,则可以增加此变量以提高性能。通常,如果您具有良好的线程实现,则这不会显着提高性能。但是,如果服务器每秒看到数百个连接,则通常应设置thread_cache_size足够高,以便大多数新连接使用缓存的线程。通过检查Connections和Threads_created状态变量之间的差异,您可以了解线程缓存的效率。有关详细信息,请参见“服务器状态变量”。默认值基于以下公式,上限为100:
8 + (max_connections / 100)
thread_handling属性 值 命令行格式 --thread-handling=name系统变量 thread_handling范围 Global 动态 没有 SET_VAR提示适用没有 类型 列举 默认值 one-thread-per-connection有效值 no-threadsone-thread-per-connectionloaded-dynamically服务器用于连接线程的线程处理模型。允许的值为
no-threads(服务器使用一个线程来处理一个连接)和one-thread-per-connection(服务器使用一个线程来处理每个客户端连接)。no-threads在Linux下调试时很有用;请参见“调试和移植MySQL”。thread_pool_algorithm属性 值 命令行格式 --thread-pool-algorithm=#系统变量 thread_pool_algorithm范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 1此变量控制线程池插件使用哪种算法:
- 值0(默认值)使用保守的低并发算法,该算法经过了最充分的测试,已知会产生非常好的结果。
- 值为1会增加并发性,并使用更具攻击性的算法,该算法有时在最佳线程数上的性能要好5-10%,但随着连接数的增加,性能会下降。它的使用应视为实验性的,不被支持。
仅当启用线程池插件时,此变量才可用。请参见“ MySQL企业线程池”
thread_pool_high_priority_connection属性 值 命令行格式 --thread-pool-high-priority-connection=#系统变量 thread_pool_high_priority_connection范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 1此变量影响执行前新语句的排队。如果值为0(默认值为false,则为假),语句队列同时使用低优先级队列和高优先级队列。如果值为1(true),则排队的语句始终进入高优先级队列。
仅当启用线程池插件时,此变量才可用。请参见“ MySQL企业线程池”
thread_pool_max_active_query_threads属性 值 命令行格式 --thread-pool-max-active-query-threads介绍了 8.0.19 系统变量 thread_pool_max_active_query_threads范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 512每个组中允许的最大活动(运行)查询线程数。如果值为0,则线程池插件最多使用可用线程。
thread_pool_max_unused_threads属性 值 命令行格式 --thread-pool-max-unused-threads=#系统变量 thread_pool_max_unused_threads范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 0最低值 0最大值 4096线程池中允许的最大未使用线程数。该变量可以限制睡眠线程使用的内存量。
值0(默认值)表示睡眠线程数没有限制。的值
N,其中N大于0表示1个消费者线程和更大N-1储备线程。在这种情况下,如果一个线程已准备好进入睡眠状态,但是睡眠线程的数量已经达到最大值,则该线程将退出而不是进入睡眠状态。休眠线程正在作为使用者线程或保留线程休眠。线程池在休眠时允许一个线程成为使用者线程。如果线程进入睡眠状态,并且没有现有的使用者线程,它将作为使用者线程进入睡眠状态。当必须唤醒一个线程时,如果有一个消费者线程,则选择该线程。仅当没有使用者线程要唤醒时才选择保留线程。
仅当启用线程池插件时,此变量才可用。请参见“ MySQL企业线程池”
thread_pool_prio_kickup_timer属性 值 命令行格式 --thread-pool-prio-kickup-timer=#系统变量 thread_pool_prio_kickup_timer范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 1000最低值 0最大值 4294967294此变量影响等待在低优先级队列中执行的语句。该值是将等待的语句移到高优先级队列之前的毫秒数。默认值为1000(1秒)。值的范围是0到2 32 − 2。
仅当启用线程池插件时,此变量才可用。请参见“ MySQL企业线程池”
thread_pool_size属性 值 命令行格式 --thread-pool-size=#系统变量 thread_pool_size范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值 16最低值 1最大值(>= 8.0.19) 512最大值(<= 8.0.18) 64线程池中的线程组数。这是控制线程池性能的最重要参数。它影响可以同时执行的语句数。缺省值是16,允许值的范围是1到64。如果指定的值超出此范围,则不会加载线程池插件,并且服务器会将消息写入错误日志。
仅当启用线程池插件时,此变量才可用。请参见“ MySQL企业线程池”
thread_pool_stall_limit属性 值 命令行格式 --thread-pool-stall-limit=#系统变量 thread_pool_stall_limit范围 Global 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 6最低值 4最大值 600此变量影响执行语句。该值是一条语句在开始执行之后必须先完成的时间,然后才被定义为停顿,此时线程池允许线程组开始执行另一条语句。该值以10毫秒为单位测量,因此6(默认值)表示60ms。值的范围是4到600(40ms到6s)。较短的等待值使线程可以更快地启动。较短的值也可以更好地避免死锁情况。长等待值对于包含长时间运行的语句的工作负载很有用,以避免在执行当前语句时启动太多新语句。
仅当启用线程池插件时,此变量才可用。请参见“ MySQL企业线程池”
thread_stack属性 值 命令行格式 --thread-stack=#系统变量 thread_stack范围 Global 动态 没有 SET_VAR提示适用没有 类型 Integer 默认值(64位平台) 286720默认值(32位平台) 221184最低值 131072最大值(64位平台) 18446744073709551615最大值(32位平台) 4294967295块大小 1024每个线程的堆栈大小。默认值足够大,可以正常运行。如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作。
time_zone属性 值 系统变量 time_zone范围 Global, Session 动态 是 SET_VAR提示适用(>= 8.0.17)是 SET_VAR提示适用(<= 8.0.16)没有 类型 string 默认值 SYSTEM最小值(>= 8.0.19) -14:00最小值(<= 8.0.18) -12:59最大值(>= 8.0.19) +14:00最大值(<= 8.0.18) +13:00当前时区。此变量用于初始化每个连接的客户端的时区。缺省情况下,该初始值是
'SYSTEM'(这意味着,“使用的值system_time_zone”)。可以使用--default-time-zone选项在服务器启动时显式指定该值。请参见“ MySQL服务器时区支持”。注意
如果设置为
SYSTEM,则每个需要时区计算的MySQL函数调用都会进行系统库调用以确定当前系统时区。此调用可能受到全局互斥锁的保护,从而导致争用。timestamp属性 值 系统变量 timestamp范围 Session 动态 是 SET_VAR提示适用是 类型 数字 默认值 UNIX_TIMESTAMP()最低值 1最大值 2147483647设置此客户端的时间。如果您使用二进制日志来还原行,则使用它来获取原始时间戳。
timestamp_value应该是Unix纪元时间戳(一个类似的值UNIX_TIMESTAMP(),而不是格式的值)或。'YYYY-MM-DD hh:mm:ss'DEFAULT设置
timestamp为恒定值会使它保留该值,直到再次更改为止。设置timestamp为DEFAULT会使它的值成为访问它时的当前日期和时间。timestamp是一个DOUBLE,而不是BIGINT因为它的值包括微秒的部分。最大值对应于'2038-01-19 03:14:07'UTC,与TIMESTAMP数据类型相同。SET timestamp影响的返回值,NOW()但不影响SYSDATE()。这意味着二进制日志中的时间戳设置对的调用没有影响SYSDATE()。可以使用使服务器成为别名的--sysdate-is-now选项启动服务器,在这种情况下会影响这两个功能。SYSDATE()NOW()SET timestamptls_ciphersuites属性 值 命令行格式 --tls-ciphersuites=ciphersuite_list介绍了 8.0.16 系统变量 tls_ciphersuites范围 Global 动态 是 SET_VAR提示适用没有 类型 string 默认值 NULL服务器使用哪种加密算法允许使用TLSv1.3的加密连接。该值是零个或多个冒号分隔的密码套件名称的列表。
可以为此变量命名的密码套件取决于用于编译MySQL的SSL库。如果未设置此变量,则其默认值为
NULL,这意味着服务器允许使用默认的密码套件集。如果将变量设置为空字符串,则不会启用任何密码套件,并且无法建立加密连接。有关更多信息,请参见“加密的连接TLS协议和密码”。tls_version属性 值 命令行格式 --tls-version=protocol_list系统变量 tls_version范围 Global 动态(>= 8.0.16) 是 动态(<= 8.0.15) 没有 SET_VAR提示适用没有 类型 string 默认值(>= 8.0.16) TLSv1,TLSv1.1,TLSv1.2,TLSv1.3(OpenSSL 1.1.1及更高版本)TLSv1,TLSv1.1,TLSv1.2(除此以外)默认值(<= 8.0.15) TLSv1,TLSv1.1,TLSv1.2服务器允许哪种协议进行加密连接。该值是一个或多个逗号分隔的协议名称的列表。可以为此变量命名的协议取决于用于编译MySQL的SSL库。应该选择允许的协议,以免在列表中留下“漏洞”。有关详细信息,请参见“加密的连接TLS协议和密码”。
从MySQL 8.0.16开始,此变量是动态的,可以在运行时进行修改以影响服务器用于新连接的SSL上下文。请参阅加密连接的服务器端运行时配置。在MySQL 8.0.16之前,只能在服务器启动时设置此变量。
tmp_table_size属性 值 命令行格式 --tmp-table-size=#系统变量 tmp_table_size范围 Global, Session 动态 是 SET_VAR提示适用是 类型 Integer 默认值 16777216最低值 1024最大值 18446744073709551615内部内存临时表的最大大小。此变量不适用于用户创建的
MEMORY表。实际限制取决于
tmp_table_size和max_heap_table_size的较小值。如果内存中的临时表超出了限制,MySQL会自动将其转换为磁盘上的临时表。有关更多信息,请参见磁盘内部临时表的存储引擎。如果您执行许多高级查询并且有很多内存,请增加
tmp_table_size(max_heap_table_size如果需要)的值GROUP BY。您可以通过比较
Created_tmp_disk_tables和Created_tmp_tables变量的值,将创建的内部磁盘临时表的数量与创建的内部临时表的总数进行比较。另请参见“ MySQL中的内部临时表使用”。
tmpdir属性 值 命令行格式 --tmpdir=dir_name系统变量 tmpdir范围 Global 动态 没有 SET_VAR提示适用没有 类型 目录名 用于创建临时文件的目录的路径。如果您的默认
/tmp目录位于一个太小而无法容纳临时表的分区上,则可能会很有用。可以将此变量设置为以循环方式使用的多个路径的列表。路径应:在Unix上用冒号()和;在Windows上用分号()分隔。tmpdir可以是非永久位置,例如基于内存的文件系统上的目录或服务器主机重新启动时将清除的目录。如果MySQL服务器充当复制从属服务器,并且您使用的非永久位置tmpdir,请考虑使用slave_load_tmpdir变量为从属服务器设置其他临时目录。对于复制从属服务器,用于复制LOAD DATA语句的临时文件存储在此目录中,因此具有永久位置,它们可以在计算机重新启动后幸存下来,尽管如果删除了临时文件,复制现在可以在重新启动后继续进行。有关临时文件的存储位置的更多信息,请参见第B.4.3.5节“ MySQL在哪里存储临时文件”。
transaction_alloc_block_size属性 值 命令行格式 --transaction-alloc-block-size=#系统变量 transaction_alloc_block_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 8192最低值 1024最大值 131072块大小 1024增加需要事务的每个事务存储池的字节数。请参阅的说明
transaction_prealloc_size。transaction_isolation属性 值 命令行格式 --transaction-isolation=name系统变量 transaction_isolation范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 列举 默认值 REPEATABLE-READ有效值 READ-UNCOMMITTEDREAD-COMMITTEDREPEATABLE-READSERIALIZABLE事务隔离级别。默认值为
REPEATABLE-READ。事务隔离级别具有三个范围:全局,会话和下一个事务。这种三作用域的实现会导致一些非标准的隔离级别分配语义,如稍后所述。
要在启动时设置全局事务隔离级别,请使用
--transaction-isolation服务器选项。在运行时,可以使用该
SET语句直接设置隔离级别,以将值分配给transaction_isolation系统变量,也可以使用该SET TRANSACTION语句间接设置。如果transaction_isolation直接将隔离级别名称设置为包含空格,则该名称应用引号引起来,并用短划线代替空格。例如,使用以下SET语句来设置全局值:SET GLOBAL transaction_isolation = 'READ-COMMITTED';设置全局
transaction_isolation值可设置所有后续会话的隔离级别。现有会话不受影响。要设置会话或下一级
transaction_isolation值,请使用以下SET语句。对于大多数会话系统变量,这些语句是设置值的等效方法:SET @@SESSION.var_name = value;SET SESSION var_name = value;SET var_name = value;SET @@var_name = value;如前所述,事务隔离级别除了全局和会话作用域之外,还具有下一个事务作用域。为了能够设置next-transaction范围,
SET分配会话系统变量值的语法具有以下非标准语义transaction_isolation:要设置会话隔离级别,请使用以下任何语法:
SET @@SESSION.transaction_isolation = value;SET SESSION transaction_isolation = value;SET transaction_isolation = value;对于这些语法中的每一种,这些语义都适用:
- 为会话中执行的所有后续事务设置隔离级别。
- 允许在事务内进行,但不影响当前正在进行的事务。
- 如果在事务之间执行,则将覆盖设置下一个事务隔离级别的任何在前语句。
- 对应于
SET SESSION TRANSACTION ISOLATION LEVEL(带有SESSION关键字)。
要设置下一个事务隔离级别,请使用以下语法:
SET @@transaction_isolation = value;对于该语法,这些语义适用:
- 仅为会话中执行的下一个单个事务设置隔离级别。
- 随后的事务将恢复为会话隔离级别。
- 交易中不允许。
- 对应于
SET TRANSACTION ISOLATION LEVEL(无SESSION关键字)。
有关系统变量
SET TRANSACTION及其与transaction_isolation系统变量的关系的更多信息,请参见“ SET TRANSACTION语句”。transaction_prealloc_size属性 值 命令行格式 --transaction-prealloc-size=#系统变量 transaction_prealloc_size范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 4096最低值 1024最大值 131072块大小 1024每个事务都有一个内存池,各种事务相关的分配都从该内存池获取内存。池的初始大小(以字节为单位)为
transaction_prealloc_size。对于由于没有足够的可用内存而无法从池中满足的每个分配,将以transaction_alloc_block_size字节为单位增加池。事务结束时,池将被截断为transaction_prealloc_size字节。通过
transaction_prealloc_size足够大以在单个事务中包含所有语句,可以避免多次malloc()调用。transaction_read_only属性 值 命令行格式 --transaction-read-only[={OFF|ON}]系统变量 transaction_read_only范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 布尔型 默认值 OFF事务访问方式。该值可以是
OFF(读/写;默认值)或ON(只读)。事务访问模式具有三个范围:全局,会话和下一个事务。这种三作用域的实现导致了一些非标准的访问模式分配语义,如稍后所述。
要在启动时设置全局事务访问模式,请使用
--transaction-read-only服务器选项。在运行时,可以使用该
SET语句直接设置访问模式以为transaction_read_only系统变量分配值,也可以使用该SET TRANSACTION语句间接设置访问模式。例如,使用以下SET语句来设置全局值:SET GLOBAL transaction_read_only =ON ;设置全局
transaction_read_only值可设置所有后续会话的访问模式。现有会话不受影响。要设置会话或下一级
transaction_read_only值,请使用以下SET语句。对于大多数会话系统变量,这些语句是设置值的等效方法:SET @@SESSION.var_name = value;SET SESSION var_name = value;SET var_name = value;SET @@var_name = value;如前所述,事务访问模式除了全局作用域和会话作用域之外,还具有下一个事务作用域。要设置下一个交易范围,
SET用于分配会话系统变量值的语法具有的非标准语义transaction_read_only,要设置会话访问模式,请使用以下任何语法:
SET @@SESSION.transaction_read_only = value;SET SESSION transaction_read_only = value;SET transaction_read_only = value;对于这些语法中的每一种,这些语义都适用:
- 为会话内执行的所有后续事务设置访问模式。
- 允许在事务内进行,但不影响当前正在进行的事务。
- 如果在事务之间执行,则将覆盖设置下一个事务访问模式的任何在前语句。
- 对应于
SET SESSION TRANSACTION{READ WRITE | READ ONLY}(带有SESSION关键字)。
要设置下一个事务访问模式,请使用以下语法:
SET @@transaction_read_only = value;对于该语法,这些语义适用:
- 仅为会话中执行的下一个单个事务设置访问模式。
- 随后的事务将恢复为会话访问模式。
- 交易中不允许。
- 对应于
SET TRANSACTION{READ WRITE | READ ONLY}(无SESSION关键字)。
有关系统变量
SET TRANSACTION及其与transaction_read_only系统变量的关系的更多信息,请参见“ SET TRANSACTION语句”。unique_checks属性 值 系统变量 unique_checks范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 ON如果设置为1(默认值),则对
InnoDB表中的二级索引执行唯一性检查。如果设置为0,则允许存储引擎假定输入数据中不存在重复键。如果您确定您的数据不包含唯一性违规,则可以将其设置为0,以加快将大型表导入到的速度InnoDB。将此变量设置为0 不需要存储引擎忽略重复的键。仍然允许引擎检查它们并在检测到它们时发出重复密钥错误。
updatable_views_with_limit属性 值 命令行格式 --updatable-views-with-limit[={OFF|ON}]系统变量 updatable_views_with_limit范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 1如果该更新不包含基础表中定义的主键的所有列,则该变量控制如果该更新不包含基础表中定义的主键的所有列,则该视图是否可以进行更新
LIMIT。(此类更新通常由GUI工具生成。)更新是UPDATEorDELETE语句。这里的主键表示一个PRIMARY KEY或UNIQUE索引,其中任何列都不能包含NULL。该变量可以具有两个值:
1或YES:仅发出警告(而不是错误消息)。这是默认值。0或NO:禁止更新。
use_secondary_engine属性 值 介绍了 8.0.13 系统变量 use_secondary_engine范围 Session 动态 是 SET_VAR提示适用是 类型 列举 默认值 ON有效值 OFFONFORCED供将来使用。
validate_password.xxx该
validate_password组件实现了一组名称为形式的系统变量。这些变量影响该组件的密码测试。请参见“密码验证选项和变量”。validate_password.xxxvalidate_user_plugins属性 值 命令行格式 --validate-user-plugins[={OFF|ON}]系统变量 validate_user_plugins范围 Global 动态 没有 SET_VAR提示适用没有 类型 布尔型 默认值 ON如果启用了此变量(默认值),则服务器将检查每个用户帐户,并在发现导致该帐户不可用的条件时发出警告:
- 该帐户需要未加载的身份验证插件。
- 该帐户要求使用
sha256_password或caching_sha2_password身份验证插件,但是服务器未按照插件的要求启用SSL或RSA的状态下启动。
启用
validate_user_plugins会减慢服务器初始化和速度FLUSH PRIVILEGES。如果不需要其他检查,则可以在启动时禁用此变量以避免性能下降。version服务器的版本号。该值可能还包含一个后缀,指示服务器的内部版本或配置信息。
-debug表示服务器是在启用调试支持的情况下构建的。version_comment属性 值 系统变量 version_comment范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 该CMake的配置程序有一个
COMPILATION_COMMENT_SERVER选项,允许评论构建MySQL时指定。此变量包含该注释的值。(在MySQL 8.0.14之前,version_comment由该COMPILATION_COMMENT选项设置。)请参见“ MySQL源配置选项”。version_compile_machine属性 值 系统变量 version_compile_machine范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 服务器二进制文件的类型。
version_compile_os属性 值 系统变量 version_compile_os范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 建立MySQL的作业系统类型。
version_compile_zlib属性 值 系统变量 version_compile_zlib范围 Global 动态 没有 SET_VAR提示适用没有 类型 string 内置
zlib库的版本。wait_timeout属性 值 命令行格式 --wait-timeout=#系统变量 wait_timeout范围 Global, Session 动态 是 SET_VAR提示适用没有 类型 Integer 默认值 28800最低值 1最大值(其他) 31536000最大值(Windows) 2147483服务器在关闭非交互式连接之前等待活动的秒数。
在线程启动时,会话
wait_timeout值是根据全局wait_timeout值或全局值初始化的interactive_timeout,具体取决于客户端的类型(由的CLIENT_INTERACTIVEconnect选项定义mysql_real_connect())。另请参阅interactive_timeout。warning_count最后一条生成消息的语句导致的错误,警告和注释的数量。该变量是只读的。请参见“ SHOW WARNINGS语句”。
windowing_use_high_precision属性 值 命令行格式 --windowing-use-high-precision[={OFF|ON}]系统变量 windowing_use_high_precision范围 Global, Session 动态 是 SET_VAR提示适用是 类型 布尔型 默认值 ON是否在不损失精度的情况下计算窗口操作。请参见“窗口函数优化”。
