• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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命令行选项,系统变量和状态变量摘要

    NameCmd-LineOption FileSystem VarStatus VarVar ScopeDynamic
    bort-slave-event-countYesYes
    Aborted_clientsYesGlobalNo
    Aborted_connectsYesGlobalNo
    Acl_cache_items_countYesGlobalNo
    ctivate_all_roles_on_loginYesYesYesGlobalYes
    dmin_addressYesYesYesGlobalNo
    dmin_portYesYesYesGlobalNo
    llow-suspicious-udfsYesYes
    nsiYesYes
    udit-logYesYes
    udit_log_buffer_sizeYesYesYesGlobalNo
    udit_log_compressionYesYesYesGlobalNo
    udit_log_connection_policyYesYesYesGlobalYes
    udit_log_current_sessionYesBothNo
    Audit_log_current_sizeYesGlobalNo
    udit_log_encryptionYesYesYesGlobalNo
    Audit_log_event_max_drop_sizeYesGlobalNo
    Audit_log_eventsYesGlobalNo
    Audit_log_events_filteredYesGlobalNo
    Audit_log_events_lostYesGlobalNo
    Audit_log_events_writtenYesGlobalNo
    udit_log_exclude_accountsYesYesYesGlobalYes
    udit_log_fileYesYesYesGlobalNo
    udit_log_filter_idYesBothNo
    udit_log_flushYesGlobalYes
    udit_log_formatYesYesYesGlobalNo
    udit_log_include_accountsYesYesYesGlobalYes
    udit_log_password_history_keep_daysYesYesYesGlobalYes
    udit_log_policyYesYesYesGlobalNo
    udit_log_read_buffer_sizeYesYesYesVariesVaries
    udit_log_rotate_on_sizeYesYesYesGlobalYes
    udit_log_statement_policyYesYesYesGlobalYes
    udit_log_strategyYesYesYesGlobalNo
    Audit_log_total_sizeYesGlobalNo
    Audit_log_write_waitsYesGlobalNo
    uthentication_ldap_sasl_auth_method_nameYesYesYesGlobalYes
    uthentication_ldap_sasl_bind_base_dnYesYesYesGlobalYes
    uthentication_ldap_sasl_bind_root_dnYesYesYesGlobalYes
    uthentication_ldap_sasl_bind_root_pwdYesYesYesGlobalYes
    uthentication_ldap_sasl_ca_pathYesYesYesGlobalYes
    uthentication_ldap_sasl_group_search_attrYesYesYesGlobalYes
    uthentication_ldap_sasl_group_search_filterYesYesYesGlobalYes
    uthentication_ldap_sasl_init_pool_sizeYesYesYesGlobalYes
    uthentication_ldap_sasl_log_statusYesYesYesGlobalYes
    uthentication_ldap_sasl_max_pool_sizeYesYesYesGlobalYes
    uthentication_ldap_sasl_server_hostYesYesYesGlobalYes
    uthentication_ldap_sasl_server_portYesYesYesGlobalYes
    uthentication_ldap_sasl_tlsYesYesYesGlobalYes
    uthentication_ldap_sasl_user_search_attrYesYesYesGlobalYes
    uthentication_ldap_simple_auth_method_nameYesYesYesGlobalYes
    uthentication_ldap_simple_bind_base_dnYesYesYesGlobalYes
    uthentication_ldap_simple_bind_root_dnYesYesYesGlobalYes
    uthentication_ldap_simple_bind_root_pwdYesYesYesGlobalYes
    uthentication_ldap_simple_ca_pathYesYesYesGlobalYes
    uthentication_ldap_simple_group_search_attrYesYesYesGlobalYes
    uthentication_ldap_simple_group_search_filterYesYesYesGlobalYes
    uthentication_ldap_simple_init_pool_sizeYesYesYesGlobalYes
    uthentication_ldap_simple_log_statusYesYesYesGlobalYes
    uthentication_ldap_simple_max_pool_sizeYesYesYesGlobalYes
    uthentication_ldap_simple_server_hostYesYesYesGlobalYes
    uthentication_ldap_simple_server_portYesYesYesGlobalYes
    uthentication_ldap_simple_tlsYesYesYesGlobalYes
    uthentication_ldap_simple_user_search_attrYesYesYesGlobalYes
    uthentication_windows_log_levelYesYesYesGlobalNo
    uthentication_windows_use_principal_nameYesYesYesGlobalNo
    uto_generate_certsYesYesYesGlobalNo
    uto_increment_incrementYesYesYesBothYes
    uto_increment_offsetYesYesYesBothYes
    utocommitYesYesYesBothYes
    utomatic_sp_privilegesYesYesYesGlobalYes
    void_temporal_upgradeYesYesYesGlobalYes
    back_logYesYesYesGlobalNo
    basedirYesYesYesGlobalNo
    big_tablesYesYesYesBothYes
    bind_addressYesYesYesGlobalNo
    Binlog_cache_disk_useYesGlobalNo
    binlog_cache_sizeYesYesYesGlobalYes
    Binlog_cache_useYesGlobalNo
    binlog-checksumYesYes
    binlog_checksumYesYesYesGlobalYes
    binlog_direct_non_transactional_updatesYesYesYesBothYes
    binlog-do-dbYesYes
    binlog_encryptionYesYesYesGlobalYes
    binlog_error_actionYesYesYesGlobalYes
    binlog_expire_logs_secondsYesYesYesGlobalYes
    binlog_formatYesYesYesBothYes
    binlog_group_commit_sync_delayYesYesYesGlobalYes
    binlog_group_commit_sync_no_delay_countYesYesYesGlobalYes
    binlog_gtid_simple_recoveryYesYesYesGlobalNo
    binlog-ignore-dbYesYes
    binlog_max_flush_queue_timeYesYesYesGlobalYes
    binlog_order_commitsYesYesYesGlobalYes
    binlog_rotate_encryption_master_key_at_startupYesYesYesGlobalNo
    binlog_row_event_max_sizeYesYesYesGlobalNo
    binlog_row_imageYesYesYesBothYes
    binlog_row_metadat YesYesYesGlobalYes
    binlog_row_value_optionsYesYesYesBothYes
    binlog_rows_query_log_eventsYesYesYesBothYes
    Binlog_stmt_cache_disk_useYesGlobalNo
    binlog_stmt_cache_sizeYesYesYesGlobalYes
    Binlog_stmt_cache_useYesGlobalNo
    binlog_transaction_dependency_history_sizeYesYesYesGlobalYes
    binlog_transaction_dependency_trackingYesYesYesGlobalYes
    block_encryption_modeYesYesYesBothYes
    bulk_insert_buffer_sizeYesYesYesBothYes
    Bytes_receivedYesBothNo
    Bytes_sentYesBothNo
    caching_sha2_password_auto_generate_rsa_keysYesYesYesGlobalNo
    caching_sha2_password_private_key_pathYesYesYesGlobalNo
    caching_sha2_password_public_key_pathYesYesYesGlobalNo
    Caching_sha2_password_rsa_public_keyYesGlobalNo
    character_set_clientYesBothYes
    character-set-client-handshakeYesYes
    character_set_connectionYesBothYes
    character_set_database(note 1)YesBothYes
    character_set_filesystemYesYesYesBothYes
    character_set_resultsYesBothYes
    character_set_serverYesYesYesBothYes
    character_set_systemYesGlobalNo
    character_sets_dirYesYesYesGlobalNo
    check_proxy_usersYesYesYesGlobalYes
    chrootYesYes
    clone_autotune_concurrencyYesYesYesGlobalYes
    clone_buffer_sizeYesYesYesGlobalYes
    clone_ddl_timeoutYesYesYesGlobalYes
    clone_enable_compressionYesYesYesGlobalYes
    clone_max_concurrencyYesYesYesGlobalYes
    clone_max_data_bandwidthYesYesYesGlobalYes
    clone_max_network_bandwidthYesYesYesGlobalYes
    clone_ssl_c YesYesYesGlobalYes
    clone_ssl_certYesYesYesGlobalYes
    clone_ssl_keyYesYesYesGlobalYes
    clone_valid_donor_listYesYesYesGlobalYes
    collation_connectionYesBothYes
    collation_database(note 1)YesBothYes
    collation_serverYesYesYesBothYes
    Com_admin_commandsYesBothNo
    Com_alter_dbYesBothNo
    Com_alter_eventYesBothNo
    Com_alter_functionYesBothNo
    Com_alter_procedureYesBothNo
    Com_alter_resource_groupYesGlobalNo
    Com_alter_serverYesBothNo
    Com_alter_tableYesBothNo
    Com_alter_tablespaceYesBothNo
    Com_alter_userYesBothNo
    Com_alter_user_default_roleYesGlobalNo
    Com_analyzeYesBothNo
    Com_assign_to_keycacheYesBothNo
    Com_beginYesBothNo
    Com_binlogYesBothNo
    Com_call_procedureYesBothNo
    Com_change_dbYesBothNo
    Com_change_masterYesBothNo
    Com_change_repl_filterYesBothNo
    Com_checkYesBothNo
    Com_checksumYesBothNo
    Com_cloneYesGlobalNo
    Com_commitYesBothNo
    Com_create_dbYesBothNo
    Com_create_eventYesBothNo
    Com_create_functionYesBothNo
    Com_create_indexYesBothNo
    Com_create_procedureYesBothNo
    Com_create_resource_groupYesGlobalNo
    Com_create_roleYesGlobalNo
    Com_create_serverYesBothNo
    Com_create_tableYesBothNo
    Com_create_triggerYesBothNo
    Com_create_udfYesBothNo
    Com_create_userYesBothNo
    Com_create_viewYesBothNo
    Com_dealloc_sqlYesBothNo
    Com_deleteYesBothNo
    Com_delete_multiYesBothNo
    Com_doYesBothNo
    Com_drop_dbYesBothNo
    Com_drop_eventYesBothNo
    Com_drop_functionYesBothNo
    Com_drop_indexYesBothNo
    Com_drop_procedureYesBothNo
    Com_drop_resource_groupYesGlobalNo
    Com_drop_roleYesGlobalNo
    Com_drop_serverYesBothNo
    Com_drop_tableYesBothNo
    Com_drop_triggerYesBothNo
    Com_drop_userYesBothNo
    Com_drop_viewYesBothNo
    Com_empty_queryYesBothNo
    Com_execute_sqlYesBothNo
    Com_explain_otherYesBothNo
    Com_flushYesBothNo
    Com_get_diagnosticsYesBothNo
    Com_grantYesBothNo
    Com_grant_rolesYesGlobalNo
    Com_group_replication_startYesGlobalNo
    Com_group_replication_stopYesGlobalNo
    Com_ha_closeYesBothNo
    Com_ha_openYesBothNo
    Com_ha_readYesBothNo
    Com_helpYesBothNo
    Com_insertYesBothNo
    Com_insert_selectYesBothNo
    Com_install_componentYesGlobalNo
    Com_install_pluginYesBothNo
    Com_killYesBothNo
    Com_loadYesBothNo
    Com_lock_tablesYesBothNo
    Com_optimizeYesBothNo
    Com_preload_keysYesBothNo
    Com_prepare_sqlYesBothNo
    Com_purgeYesBothNo
    Com_purge_before_dateYesBothNo
    Com_release_savepointYesBothNo
    Com_rename_tableYesBothNo
    Com_rename_userYesBothNo
    Com_repairYesBothNo
    Com_replaceYesBothNo
    Com_replace_selectYesBothNo
    Com_resetYesBothNo
    Com_resignalYesBothNo
    Com_restartYesBothNo
    Com_revokeYesBothNo
    Com_revoke_allYesBothNo
    Com_revoke_rolesYesGlobalNo
    Com_rollbackYesBothNo
    Com_rollback_to_savepointYesBothNo
    Com_savepointYesBothNo
    Com_selectYesBothNo
    Com_set_optionYesBothNo
    Com_set_resource_groupYesGlobalNo
    Com_set_roleYesGlobalNo
    Com_show_authorsYesBothNo
    Com_show_binlog_eventsYesBothNo
    Com_show_binlogsYesBothNo
    Com_show_charsetsYesBothNo
    Com_show_collationsYesBothNo
    Com_show_contributorsYesBothNo
    Com_show_create_dbYesBothNo
    Com_show_create_eventYesBothNo
    Com_show_create_funcYesBothNo
    Com_show_create_procYesBothNo
    Com_show_create_tableYesBothNo
    Com_show_create_triggerYesBothNo
    Com_show_create_userYesBothNo
    Com_show_databasesYesBothNo
    Com_show_engine_logsYesBothNo
    Com_show_engine_mutexYesBothNo
    Com_show_engine_statusYesBothNo
    Com_show_errorsYesBothNo
    Com_show_eventsYesBothNo
    Com_show_fieldsYesBothNo
    Com_show_function_codeYesBothNo
    Com_show_function_statusYesBothNo
    Com_show_grantsYesBothNo
    Com_show_keysYesBothNo
    Com_show_master_statusYesBothNo
    Com_show_ndb_statusYesBothNo
    Com_show_open_tablesYesBothNo
    Com_show_pluginsYesBothNo
    Com_show_privilegesYesBothNo
    Com_show_procedure_codeYesBothNo
    Com_show_procedure_statusYesBothNo
    Com_show_processlistYesBothNo
    Com_show_profileYesBothNo
    Com_show_profilesYesBothNo
    Com_show_relaylog_eventsYesBothNo
    Com_show_slave_hostsYesBothNo
    Com_show_slave_statusYesBothNo
    Com_show_statusYesBothNo
    Com_show_storage_enginesYesBothNo
    Com_show_table_statusYesBothNo
    Com_show_tablesYesBothNo
    Com_show_triggersYesBothNo
    Com_show_variablesYesBothNo
    Com_show_warningsYesBothNo
    Com_shutdownYesBothNo
    Com_signalYesBothNo
    Com_slave_startYesBothNo
    Com_slave_stopYesBothNo
    Com_stmt_closeYesBothNo
    Com_stmt_executeYesBothNo
    Com_stmt_fetchYesBothNo
    Com_stmt_prepareYesBothNo
    Com_stmt_reprepareYesBothNo
    Com_stmt_resetYesBothNo
    Com_stmt_send_long_dat YesBothNo
    Com_truncateYesBothNo
    Com_uninstall_componentYesGlobalNo
    Com_uninstall_pluginYesBothNo
    Com_unlock_tablesYesBothNo
    Com_updateYesBothNo
    Com_update_multiYesBothNo
    Com_xa_commitYesBothNo
    Com_xa_endYesBothNo
    Com_xa_prepareYesBothNo
    Com_xa_recoverYesBothNo
    Com_xa_rollbackYesBothNo
    Com_xa_startYesBothNo
    completion_typeYesYesYesBothYes
    CompressionYesSessionNo
    Compression_algorithmYesGlobalNo
    Compression_levelYesGlobalNo
    concurrent_insertYesYesYesGlobalYes
    connect_timeoutYesYesYesGlobalYes
    Connection_control_delay_generatedYesGlobalNo
    connection_control_failed_connections_thresholdYesYesYesGlobalYes
    connection_control_max_connection_delayYesYesYesGlobalYes
    connection_control_min_connection_delayYesYesYesGlobalYes
    Connection_errors_acceptYesGlobalNo
    Connection_errors_internalYesGlobalNo
    Connection_errors_max_connectionsYesGlobalNo
    Connection_errors_peer_addressYesGlobalNo
    Connection_errors_selectYesGlobalNo
    Connection_errors_tcpwrapYesGlobalNo
    ConnectionsYesGlobalNo
    consoleYesYes
    core-fileYesYes
    core_fileYesGlobalNo
    create_admin_listener_threadYesYesYesGlobalNo
    Created_tmp_disk_tablesYesBothNo
    Created_tmp_filesYesGlobalNo
    Created_tmp_tablesYesBothNo
    cte_max_recursion_depthYesYesYesBothYes
    Current_tls_c YesGlobalNo
    Current_tls_capathYesGlobalNo
    Current_tls_certYesGlobalNo
    Current_tls_cipherYesGlobalNo
    Current_tls_ciphersuitesYesGlobalNo
    Current_tls_crlYesGlobalNo
    Current_tls_crlpathYesGlobalNo
    Current_tls_keyYesGlobalNo
    Current_tls_versionYesGlobalNo
    daemon_memcached_enable_binlogYesYesYesGlobalNo
    daemon_memcached_engine_lib_nameYesYesYesGlobalNo
    daemon_memcached_engine_lib_pathYesYesYesGlobalNo
    daemon_memcached_optionYesYesYesGlobalNo
    daemon_memcached_r_batch_sizeYesYesYesGlobalNo
    daemon_memcached_w_batch_sizeYesYesYesGlobalNo
    daemonizeYesYes
    datadirYesYesYesGlobalNo
    ddl-rewriterYesYes
    debugYesYesYesBothYes
    debug_syncYesSessionYes
    debug-sync-timeoutYesYes
    default_authentication_pluginYesYesYesGlobalNo
    default_collation_for_utf8mb4YesBothYes
    default_password_lifetimeYesYesYesGlobalYes
    default_storage_engineYesYesYesBothYes
    default_table_encryptionYesYesYesBothYes
    default-time-zoneYesYes
    default_tmp_storage_engineYesYesYesBothYes
    default_week_formatYesYesYesBothYes
    defaults-extra-fileYes
    defaults-fileYes
    defaults-group-suffixYes
    delay_key_writeYesYesYesGlobalYes
    Delayed_errorsYesGlobalNo
    delayed_insert_limitYesYesYesGlobalYes
    Delayed_insert_threadsYesGlobalNo
    delayed_insert_timeoutYesYesYesGlobalYes
    delayed_queue_sizeYesYesYesGlobalYes
    Delayed_writesYesGlobalNo
    disabled_storage_enginesYesYesYesGlobalNo
    disconnect_on_expired_passwordYesYesYesGlobalNo
    disconnect-slave-event-countYesYes
    div_precision_incrementYesYesYesBothYes
    dragnet.log_error_filter_rulesYesYesYesGlobalYes
    dragnet.StatusYesGlobalNo
    early-plugin-loadYesYes
    end_markers_in_jsonYesYesYesBothYes
    enforce_gtid_consistencyYesYesYesGlobalYes
    eq_range_index_dive_limitYesYesYesBothYes
    error_countYesSessionNo
    event_schedulerYesYesYesGlobalYes
    exit-infoYesYes
    expire_logs_daysYesYesYesGlobalYes
    explicit_defaults_for_timestampYesYesYesBothYes
    external-lockingYesYes
    -Variable: skip_external_locking
    external_userYesSessionNo
    federatedYesYes
    Firewall_access_deniedYesGlobalNo
    Firewall_access_grantedYesGlobalNo
    Firewall_cached_entriesYesGlobalNo
    flushYesYesYesGlobalYes
    Flush_commandsYesGlobalNo
    flush_timeYesYesYesGlobalYes
    foreign_key_checksYesBothYes
    ft_boolean_syntaxYesYesYesGlobalYes
    ft_max_word_lenYesYesYesGlobalNo
    ft_min_word_lenYesYesYesGlobalNo
    ft_query_expansion_limitYesYesYesGlobalNo
    ft_stopword_fileYesYesYesGlobalNo
    gdbYesYes
    general_logYesYesYesGlobalYes
    general_log_fileYesYesYesGlobalYes
    generated_random_password_lengthYesYesYesBothYes
    group_concat_max_lenYesYesYesBothYes
    group_replication_allow_local_lower_version_joinYesYesYesGlobalYes
    group_replication_auto_increment_incrementYesYesYesGlobalYes
    group_replication_autorejoin_triesYesYesYesGlobalYes
    group_replication_bootstrap_groupYesYesYesGlobalYes
    group_replication_clone_thresholdYesYesYesGlobalYes
    group_replication_communication_debug_optionsYesYesYesGlobalYes
    group_replication_communication_max_message_sizeYesYesYesGlobalYes
    group_replication_components_stop_timeoutYesYesYesGlobalYes
    group_replication_compression_thresholdYesYesYesGlobalYes
    group_replication_consistencyYesYesYesBothYes
    group_replication_enforce_update_everywhere_checksYesYesYesGlobalYes
    group_replication_exit_state_actionYesYesYesGlobalYes
    group_replication_flow_control_applier_thresholdYesYesYesGlobalYes
    group_replication_flow_control_certifier_thresholdYesYesYesGlobalYes
    group_replication_flow_control_hold_percentYesYesYesGlobalYes
    group_replication_flow_control_max_commit_quot YesYesYesGlobalYes
    group_replication_flow_control_member_quota_percentYesYesYesGlobalYes
    group_replication_flow_control_min_quot YesYesYesGlobalYes
    group_replication_flow_control_min_recovery_quot YesYesYesGlobalYes
    group_replication_flow_control_modeYesYesYesGlobalYes
    group_replication_flow_control_periodYesYesYesGlobalYes
    group_replication_flow_control_release_percentYesYesYesGlobalYes
    group_replication_force_membersYesYesYesGlobalYes
    group_replication_group_nameYesYesYesGlobalYes
    group_replication_group_seedsYesYesYesGlobalYes
    group_replication_gtid_assignment_block_sizeYesYesYesGlobalYes
    group_replication_ip_whitelistYesYesYesGlobalYes
    group_replication_local_addressYesYesYesGlobalYes
    group_replication_member_expel_timeoutYesYesYesGlobalYes
    group_replication_member_weightYesYesYesGlobalYes
    group_replication_message_cache_sizeYesYesYesGlobalYes
    group_replication_poll_spin_loopsYesYesYesGlobalYes
    group_replication_primary_memberYesGlobalNo
    group_replication_recovery_complete_atYesYesYesGlobalYes
    group_replication_recovery_compression_algorithmYesYesYesGlobalYes
    group_replication_recovery_get_public_keyYesYesYesGlobalYes
    group_replication_recovery_public_key_pathYesYesYesGlobalYes
    group_replication_recovery_reconnect_intervalYesYesYesGlobalYes
    group_replication_recovery_retry_countYesYesYesGlobalYes
    group_replication_recovery_ssl_c YesYesYesGlobalYes
    group_replication_recovery_ssl_capathYesYesYesGlobalYes
    group_replication_recovery_ssl_certYesYesYesGlobalYes
    group_replication_recovery_ssl_cipherYesYesYesGlobalYes
    group_replication_recovery_ssl_crlYesYesYesGlobalYes
    group_replication_recovery_ssl_crlpathYesYesYesGlobalYes
    group_replication_recovery_ssl_keyYesYesYesGlobalYes
    group_replication_recovery_ssl_verify_server_certYesYesYesGlobalYes
    group_replication_recovery_tls_ciphersuitesYesYesYesGlobalYes
    group_replication_recovery_tls_versionYesYesYesGlobalYes
    group_replication_recovery_use_sslYesYesYesGlobalYes
    group_replication_recovery_zstd_compression_levelYesYesYesGlobalYes
    group_replication_single_primary_modeYesYesYesGlobalYes
    group_replication_ssl_modeYesYesYesGlobalYes
    group_replication_start_on_bootYesYesYesGlobalYes
    group_replication_transaction_size_limitYesYesYesGlobalYes
    group_replication_unreachable_majority_timeoutYesYesYesGlobalYes
    gtid_executedYesVariesNo
    gtid_executed_compression_periodYesYesYesGlobalYes
    gtid_modeYesYesYesGlobalYes
    gtid_nextYesSessionYes
    gtid_ownedYesBothNo
    gtid_purgedYesGlobalYes
    Handler_commitYesBothNo
    Handler_deleteYesBothNo
    Handler_discoverYesBothNo
    Handler_external_lockYesBothNo
    Handler_mrr_initYesBothNo
    Handler_prepareYesBothNo
    Handler_read_firstYesBothNo
    Handler_read_keyYesBothNo
    Handler_read_lastYesBothNo
    Handler_read_nextYesBothNo
    Handler_read_prevYesBothNo
    Handler_read_rndYesBothNo
    Handler_read_rnd_nextYesBothNo
    Handler_rollbackYesBothNo
    Handler_savepointYesBothNo
    Handler_savepoint_rollbackYesBothNo
    Handler_updateYesBothNo
    Handler_writeYesBothNo
    have_compressYesGlobalNo
    have_dynamic_loadingYesGlobalNo
    have_geometryYesGlobalNo
    have_opensslYesGlobalNo
    have_profilingYesGlobalNo
    have_query_cacheYesGlobalNo
    have_rtree_keysYesGlobalNo
    have_sslYesGlobalNo
    have_statement_timeoutYesGlobalNo
    have_symlinkYesGlobalNo
    helpYesYes
    histogram_generation_max_mem_sizeYesYesYesBothYes
    host_cache_sizeYesYesYesGlobalYes
    hostnameYesGlobalNo
    identityYesSessionYes
    immediate_server_versionYesSessionYes
    information_schema_stats_expiryYesYesYesBothYes
    init_connectYesYesYesGlobalYes
    init_fileYesYesYesGlobalNo
    init_slaveYesYesYesGlobalYes
    initializeYesYes
    initialize-insecureYesYes
    innodbYesYes
    innodb_adaptive_flushingYesYesYesGlobalYes
    innodb_adaptive_flushing_lwmYesYesYesGlobalYes
    innodb_adaptive_hash_indexYesYesYesGlobalYes
    innodb_adaptive_hash_index_partsYesYesYesGlobalNo
    innodb_adaptive_max_sleep_delayYesYesYesGlobalYes
    innodb_api_bk_commit_intervalYesYesYesGlobalYes
    innodb_api_disable_rowlockYesYesYesGlobalNo
    innodb_api_enable_binlogYesYesYesGlobalNo
    innodb_api_enable_mdlYesYesYesGlobalNo
    innodb_api_trx_levelYesYesYesGlobalYes
    innodb_autoextend_incrementYesYesYesGlobalYes
    innodb_autoinc_lock_modeYesYesYesGlobalNo
    innodb_background_drop_list_emptyYesYesYesGlobalYes
    Innodb_buffer_pool_bytes_dat YesGlobalNo
    Innodb_buffer_pool_bytes_dirtyYesGlobalNo
    innodb_buffer_pool_chunk_sizeYesYesYesGlobalNo
    innodb_buffer_pool_debugYesYesYesGlobalNo
    innodb_buffer_pool_dump_at_shutdownYesYesYesGlobalYes
    innodb_buffer_pool_dump_nowYesYesYesGlobalYes
    innodb_buffer_pool_dump_pctYesYesYesGlobalYes
    Innodb_buffer_pool_dump_statusYesGlobalNo
    innodb_buffer_pool_filenameYesYesYesGlobalYes
    innodb_buffer_pool_in_core_fileYesYesYesGlobalYes
    innodb_buffer_pool_instancesYesYesYesGlobalNo
    innodb_buffer_pool_load_abortYesYesYesGlobalYes
    innodb_buffer_pool_load_at_startupYesYesYesGlobalNo
    innodb_buffer_pool_load_nowYesYesYesGlobalYes
    Innodb_buffer_pool_load_statusYesGlobalNo
    Innodb_buffer_pool_pages_dat YesGlobalNo
    Innodb_buffer_pool_pages_dirtyYesGlobalNo
    Innodb_buffer_pool_pages_flushedYesGlobalNo
    Innodb_buffer_pool_pages_freeYesGlobalNo
    Innodb_buffer_pool_pages_latchedYesGlobalNo
    Innodb_buffer_pool_pages_miscYesGlobalNo
    Innodb_buffer_pool_pages_totalYesGlobalNo
    Innodb_buffer_pool_read_aheadYesGlobalNo
    Innodb_buffer_pool_read_ahead_evictedYesGlobalNo
    Innodb_buffer_pool_read_ahead_rndYesGlobalNo
    Innodb_buffer_pool_read_requestsYesGlobalNo
    Innodb_buffer_pool_readsYesGlobalNo
    Innodb_buffer_pool_resize_statusYesGlobalNo
    innodb_buffer_pool_sizeYesYesYesGlobalYes
    Innodb_buffer_pool_wait_freeYesGlobalNo
    Innodb_buffer_pool_write_requestsYesGlobalNo
    innodb_change_buffer_max_sizeYesYesYesGlobalYes
    innodb_change_bufferingYesYesYesGlobalYes
    innodb_change_buffering_debugYesYesYesGlobalYes
    innodb_checkpoint_disabledYesYesYesGlobalYes
    innodb_checksum_algorithmYesYesYesGlobalYes
    innodb_cmp_per_index_enabledYesYesYesGlobalYes
    innodb_commit_concurrencyYesYesYesGlobalYes
    innodb_compress_debugYesYesYesGlobalYes
    innodb_compression_failure_threshold_pctYesYesYesGlobalYes
    innodb_compression_levelYesYesYesGlobalYes
    innodb_compression_pad_pct_maxYesYesYesGlobalYes
    innodb_concurrency_ticketsYesYesYesGlobalYes
    innodb_data_file_pathYesYesYesGlobalNo
    Innodb_data_fsyncsYesGlobalNo
    innodb_data_home_dirYesYesYesGlobalNo
    Innodb_data_pending_fsyncsYesGlobalNo
    Innodb_data_pending_readsYesGlobalNo
    Innodb_data_pending_writesYesGlobalNo
    Innodb_data_readYesGlobalNo
    Innodb_data_readsYesGlobalNo
    Innodb_data_writesYesGlobalNo
    Innodb_data_writtenYesGlobalNo
    Innodb_dblwr_pages_writtenYesGlobalNo
    Innodb_dblwr_writesYesGlobalNo
    innodb_ddl_log_crash_reset_debugYesYesYesGlobalYes
    innodb_deadlock_detectYesYesYesGlobalYes
    innodb_dedicated_serverYesYesYesGlobalNo
    innodb_default_row_formatYesYesYesGlobalYes
    innodb_directoriesYesYesYesGlobalNo
    innodb_disable_sort_file_cacheYesYesYesGlobalYes
    innodb_doublewriteYesYesYesGlobalNo
    innodb_fast_shutdownYesYesYesGlobalYes
    innodb_fil_make_page_dirty_debugYesYesYesGlobalYes
    innodb_file_per_tableYesYesYesGlobalYes
    innodb_fill_factorYesYesYesGlobalYes
    innodb_flush_log_at_timeoutYesYesYesGlobalYes
    innodb_flush_log_at_trx_commitYesYesYesGlobalYes
    innodb_flush_methodYesYesYesGlobalNo
    innodb_flush_neighborsYesYesYesGlobalYes
    innodb_flush_syncYesYesYesGlobalYes
    innodb_flushing_avg_loopsYesYesYesGlobalYes
    innodb_force_load_corruptedYesYesYesGlobalNo
    innodb_force_recoveryYesYesYesGlobalNo
    innodb_fsync_thresholdYesYesYesGlobalYes
    innodb_ft_aux_tableYesGlobalYes
    innodb_ft_cache_sizeYesYesYesGlobalNo
    innodb_ft_enable_diag_printYesYesYesGlobalYes
    innodb_ft_enable_stopwordYesYesYesBothYes
    innodb_ft_max_token_sizeYesYesYesGlobalNo
    innodb_ft_min_token_sizeYesYesYesGlobalNo
    innodb_ft_num_word_optimizeYesYesYesGlobalYes
    innodb_ft_result_cache_limitYesYesYesGlobalYes
    innodb_ft_server_stopword_tableYesYesYesGlobalYes
    innodb_ft_sort_pll_degreeYesYesYesGlobalNo
    innodb_ft_total_cache_sizeYesYesYesGlobalNo
    innodb_ft_user_stopword_tableYesYesYesBothYes
    Innodb_have_atomic_builtinsYesGlobalNo
    innodb_idle_flush_pctYesYesYesGlobalYes
    innodb_io_capacityYesYesYesGlobalYes
    innodb_io_capacity_maxYesYesYesGlobalYes
    innodb_limit_optimistic_insert_debugYesYesYesGlobalYes
    innodb_lock_wait_timeoutYesYesYesBothYes
    innodb_log_buffer_sizeYesYesYesGlobalVaries
    innodb_log_checkpoint_fuzzy_nowYesYesYesGlobalYes
    innodb_log_checkpoint_nowYesYesYesGlobalYes
    innodb_log_checksumsYesYesYesGlobalYes
    innodb_log_compressed_pagesYesYesYesGlobalYes
    innodb_log_file_sizeYesYesYesGlobalNo
    innodb_log_files_in_groupYesYesYesGlobalNo
    innodb_log_group_home_dirYesYesYesGlobalNo
    innodb_log_spin_cpu_abs_lwmYesYesYesGlobalYes
    innodb_log_spin_cpu_pct_hwmYesYesYesGlobalYes
    innodb_log_wait_for_flush_spin_hwmYesYesYesGlobalYes
    Innodb_log_waitsYesGlobalNo
    innodb_log_write_ahead_sizeYesYesYesGlobalYes
    Innodb_log_write_requestsYesGlobalNo
    Innodb_log_writesYesGlobalNo
    innodb_lru_scan_depthYesYesYesGlobalYes
    innodb_max_dirty_pages_pctYesYesYesGlobalYes
    innodb_max_dirty_pages_pct_lwmYesYesYesGlobalYes
    innodb_max_purge_lagYesYesYesGlobalYes
    innodb_max_purge_lag_delayYesYesYesGlobalYes
    innodb_max_undo_log_sizeYesYesYesGlobalYes
    innodb_merge_threshold_set_all_debugYesYesYesGlobalYes
    innodb_monitor_disableYesYesYesGlobalYes
    innodb_monitor_enableYesYesYesGlobalYes
    innodb_monitor_resetYesYesYesGlobalYes
    innodb_monitor_reset_allYesYesYesGlobalYes
    Innodb_num_open_filesYesGlobalNo
    innodb_numa_interleaveYesYesYesGlobalNo
    innodb_old_blocks_pctYesYesYesGlobalYes
    innodb_old_blocks_timeYesYesYesGlobalYes
    innodb_online_alter_log_max_sizeYesYesYesGlobalYes
    innodb_open_filesYesYesYesGlobalNo
    innodb_optimize_fulltext_onlyYesYesYesGlobalYes
    Innodb_os_log_fsyncsYesGlobalNo
    Innodb_os_log_pending_fsyncsYesGlobalNo
    Innodb_os_log_pending_writesYesGlobalNo
    Innodb_os_log_writtenYesGlobalNo
    innodb_page_cleanersYesYesYesGlobalNo
    Innodb_page_sizeYesGlobalNo
    innodb_page_sizeYesYesYesGlobalNo
    Innodb_pages_createdYesGlobalNo
    Innodb_pages_readYesGlobalNo
    Innodb_pages_writtenYesGlobalNo
    innodb_parallel_read_threadsYesYesYesSessionYes
    innodb_print_all_deadlocksYesYesYesGlobalYes
    innodb_print_ddl_logsYesYesYesGlobalYes
    innodb_purge_batch_sizeYesYesYesGlobalYes
    innodb_purge_rseg_truncate_frequencyYesYesYesGlobalYes
    innodb_purge_threadsYesYesYesGlobalNo
    innodb_random_read_aheadYesYesYesGlobalYes
    innodb_read_ahead_thresholdYesYesYesGlobalYes
    innodb_read_io_threadsYesYesYesGlobalNo
    innodb_read_onlyYesYesYesGlobalNo
    innodb_redo_log_archive_dirsYesYesYesGlobalYes
    innodb_redo_log_encryptYesYesYesGlobalYes
    innodb_replication_delayYesYesYesGlobalYes
    innodb_rollback_on_timeoutYesYesYesGlobalNo
    innodb_rollback_segmentsYesYesYesGlobalYes
    Innodb_row_lock_current_waitsYesGlobalNo
    Innodb_row_lock_timeYesGlobalNo
    Innodb_row_lock_time_avgYesGlobalNo
    Innodb_row_lock_time_maxYesGlobalNo
    Innodb_row_lock_waitsYesGlobalNo
    Innodb_rows_deletedYesGlobalNo
    Innodb_rows_insertedYesGlobalNo
    Innodb_rows_readYesGlobalNo
    Innodb_rows_updatedYesGlobalNo
    innodb_saved_page_number_debugYesYesYesGlobalYes
    innodb_sort_buffer_sizeYesYesYesGlobalNo
    innodb_spin_wait_delayYesYesYesGlobalYes
    innodb_spin_wait_pause_multiplierYesYesYesGlobalYes
    innodb_stats_auto_recalcYesYesYesGlobalYes
    innodb_stats_include_delete_markedYesYesYesGlobalYes
    innodb_stats_methodYesYesYesGlobalYes
    innodb_stats_on_metadat YesYesYesGlobalYes
    innodb_stats_persistentYesYesYesGlobalYes
    innodb_stats_persistent_sample_pagesYesYesYesGlobalYes
    innodb_stats_transient_sample_pagesYesYesYesGlobalYes
    innodb-status-fileYesYes
    innodb_status_outputYesYesYesGlobalYes
    innodb_status_output_locksYesYesYesGlobalYes
    innodb_strict_modeYesYesYesBothYes
    innodb_sync_array_sizeYesYesYesGlobalNo
    innodb_sync_debugYesYesYesGlobalNo
    innodb_sync_spin_loopsYesYesYesGlobalYes
    Innodb_system_rows_deletedYesGlobalNo
    Innodb_system_rows_insertedYesGlobalNo
    Innodb_system_rows_readYesGlobalNo
    innodb_table_locksYesYesYesBothYes
    innodb_temp_data_file_pathYesYesYesGlobalNo
    innodb_temp_tablespaces_dirYesYesYesGlobalNo
    innodb_thread_concurrencyYesYesYesGlobalYes
    innodb_thread_sleep_delayYesYesYesGlobalYes
    innodb_tmpdirYesYesYesBothYes
    Innodb_truncated_status_writesYesGlobalNo
    innodb_trx_purge_view_update_only_debugYesYesYesGlobalYes
    innodb_trx_rseg_n_slots_debugYesYesYesGlobalYes
    innodb_undo_directoryYesYesYesGlobalNo
    innodb_undo_log_encryptYesYesYesGlobalYes
    innodb_undo_log_truncateYesYesYesGlobalYes
    innodb_undo_tablespacesYesYesYesGlobalVaries
    Innodb_undo_tablespaces_activeYesGlobalNo
    Innodb_undo_tablespaces_explicitYesGlobalNo
    Innodb_undo_tablespaces_implicitYesGlobalNo
    Innodb_undo_tablespaces_totalYesGlobalNo
    innodb_use_native_aioYesYesYesGlobalNo
    innodb_versionYesGlobalNo
    innodb_write_io_threadsYesYesYesGlobalNo
    insert_idYesSessionYes
    installYes
    install-manualYes
    interactive_timeoutYesYesYesBothYes
    internal_tmp_disk_storage_engineYesYesYesGlobalYes
    internal_tmp_mem_storage_engineYesYesYesBothYes
    join_buffer_sizeYesYesYesBothYes
    keep_files_on_createYesYesYesBothYes
    Key_blocks_not_flushedYesGlobalNo
    Key_blocks_unusedYesGlobalNo
    Key_blocks_usedYesGlobalNo
    key_buffer_sizeYesYesYesGlobalYes
    key_cache_age_thresholdYesYesYesGlobalYes
    key_cache_block_sizeYesYesYesGlobalYes
    key_cache_division_limitYesYesYesGlobalYes
    Key_read_requestsYesGlobalNo
    Key_readsYesGlobalNo
    Key_write_requestsYesGlobalNo
    Key_writesYesGlobalNo
    keyring_aws_cmk_idYesYesYesGlobalYes
    keyring_aws_conf_fileYesYesYesGlobalNo
    keyring_aws_data_fileYesYesYesGlobalNo
    keyring_aws_regionYesYesYesGlobalYes
    keyring_encrypted_file_dat YesYesYesGlobalYes
    keyring_encrypted_file_passwordYesYesYesGlobalYes
    keyring_file_dat YesYesYesGlobalYes
    keyring_hashicorp_auth_pathYesYesYesGlobalYes
    keyring_hashicorp_ca_pathYesYesYesGlobalYes
    keyring_hashicorp_cachingYesYesYesGlobalYes
    keyring_hashicorp_commit_auth_pathYesGlobalNo
    keyring_hashicorp_commit_ca_pathYesGlobalNo
    keyring_hashicorp_commit_cachingYesGlobalNo
    keyring_hashicorp_commit_role_idYesGlobalNo
    keyring_hashicorp_commit_server_urlYesGlobalNo
    keyring_hashicorp_commit_store_pathYesGlobalNo
    keyring_hashicorp_role_idYesYesYesGlobalYes
    keyring_hashicorp_secret_idYesYesYesGlobalYes
    keyring_hashicorp_server_urlYesYesYesGlobalYes
    keyring_hashicorp_store_pathYesYesYesGlobalYes
    keyring-migration-destinationYesYes
    keyring-migration-hostYesYes
    keyring-migration-passwordYesYes
    keyring-migration-portYesYes
    keyring-migration-socketYesYes
    keyring-migration-sourceYesYes
    keyring-migration-userYesYes
    keyring_okv_conf_dirYesYesYesGlobalYes
    keyring_operationsYesGlobalYes
    languageYesYesYesGlobalNo
    large_files_supportYesGlobalNo
    large_page_sizeYesGlobalNo
    large_pagesYesYesYesGlobalNo
    last_insert_idYesSessionYes
    Last_query_costYesSessionNo
    Last_query_partial_plansYesSessionNo
    lc_messagesYesYesYesBothYes
    lc_messages_dirYesYesYesGlobalNo
    lc_time_namesYesYesYesBothYes
    licenseYesGlobalNo
    local_infileYesYesYesGlobalYes
    local-serviceYes
    lock_orderYesYesYesGlobalNo
    lock_order_debug_loopYesYesYesGlobalNo
    lock_order_debug_missing_arcYesYesYesGlobalNo
    lock_order_debug_missing_keyYesYesYesGlobalNo
    lock_order_debug_missing_unlockYesYesYesGlobalNo
    lock_order_dependenciesYesYesYesGlobalNo
    lock_order_extra_dependenciesYesYesYesGlobalNo
    lock_order_output_directoryYesYesYesGlobalNo
    lock_order_print_txtYesYesYesGlobalNo
    lock_order_trace_loopYesYesYesGlobalNo
    lock_order_trace_missing_arcYesYesYesGlobalNo
    lock_order_trace_missing_keyYesYesYesGlobalNo
    lock_order_trace_missing_unlockYesYesYesGlobalNo
    lock_wait_timeoutYesYesYesBothYes
    Locked_connectsYesGlobalNo
    locked_in_memoryYesGlobalNo
    log-binYesYes
    log_binYesGlobalNo
    log_bin_basenameYesGlobalNo
    log_bin_indexYesYesYesGlobalNo
    log_bin_trust_function_creatorsYesYesYesGlobalYes
    log_bin_use_v1_row_eventsYesYesYesGlobalNo
    log_errorYesYesYesGlobalNo
    log_error_servicesYesYesYesGlobalYes
    log_error_suppression_listYesYesYesGlobalYes
    log_error_verbosityYesYesYesGlobalYes
    log-isamYesYes
    log_outputYesYesYesGlobalYes
    log_queries_not_using_indexesYesYesYesGlobalYes
    log_rawYesYesYesGlobalYes
    log-short-formatYesYes
    log_slave_updatesYesYesYesGlobalNo
    log_slow_admin_statementsYesYesYesGlobalYes
    log_slow_extr YesYesYesGlobalYes
    log_slow_slave_statementsYesYesYesGlobalYes
    log_statements_unsafe_for_binlogYesYesYesGlobalYes
    log_syslogYesYesYesGlobalYes
    log_syslog_facilityYesYesYesGlobalYes
    log_syslog_include_pidYesYesYesGlobalYes
    log_syslog_tagYesYesYesGlobalYes
    log-tcYesYes
    log-tc-sizeYesYes
    log_throttle_queries_not_using_indexesYesYesYesGlobalYes
    log_timestampsYesYesYesGlobalYes
    long_query_timeYesYesYesBothYes
    low_priority_updatesYesYesYesBothYes
    lower_case_file_systemYesGlobalNo
    lower_case_table_namesYesYesYesGlobalNo
    mandatory_rolesYesYesYesGlobalYes
    master-info-fileYesYes
    master_info_repositoryYesYesYesGlobalYes
    master-retry-countYesYes
    master_verify_checksumYesYesYesGlobalYes
    max_allowed_packetYesYesYesBothYes
    max_binlog_cache_sizeYesYesYesGlobalYes
    max-binlog-dump-eventsYesYes
    max_binlog_sizeYesYesYesGlobalYes
    max_binlog_stmt_cache_sizeYesYesYesGlobalYes
    max_connect_errorsYesYesYesGlobalYes
    max_connectionsYesYesYesGlobalYes
    max_delayed_threadsYesYesYesBothYes
    max_digest_lengthYesYesYesGlobalNo
    max_error_countYesYesYesBothYes
    max_execution_timeYesYesYesBothYes
    Max_execution_time_exceededYesBothNo
    Max_execution_time_setYesBothNo
    Max_execution_time_set_failedYesBothNo
    max_heap_table_sizeYesYesYesBothYes
    max_insert_delayed_threadsYesBothYes
    max_join_sizeYesYesYesBothYes
    max_length_for_sort_dat YesYesYesBothYes
    max_points_in_geometryYesYesYesBothYes
    max_prepared_stmt_countYesYesYesGlobalYes
    max_relay_log_sizeYesYesYesGlobalYes
    max_seeks_for_keyYesYesYesBothYes
    max_sort_lengthYesYesYesBothYes
    max_sp_recursion_depthYesYesYesBothYes
    Max_used_connectionsYesGlobalNo
    Max_used_connections_timeYesGlobalNo
    max_user_connectionsYesYesYesBothYes
    max_write_lock_countYesYesYesGlobalYes
    mecab_charsetYesGlobalNo
    mecab_rc_fileYesYesYesGlobalNo
    memlockYesYes
    -Variable: locked_in_memory
    metadata_locks_cache_sizeYesYesYesGlobalNo
    metadata_locks_hash_instancesYesYesYesGlobalNo
    min_examined_row_limitYesYesYesBothYes
    myisam-block-sizeYesYes
    myisam_data_pointer_sizeYesYesYesGlobalYes
    myisam_max_sort_file_sizeYesYesYesGlobalYes
    myisam_mmap_sizeYesYesYesGlobalNo
    myisam_recover_optionsYesYesYesGlobalNo
    myisam_repair_threadsYesYesYesBothYes
    myisam_sort_buffer_sizeYesYesYesBothYes
    myisam_stats_methodYesYesYesBothYes
    myisam_use_mmapYesYesYesGlobalYes
    mysql_firewall_modeYesYesYesGlobalYes
    mysql_firewall_traceYesYesYesGlobalYes
    mysql_native_password_proxy_usersYesYesYesGlobalYes
    mysqlxYesYes
    Mysqlx_aborted_clientsYesGlobalNo
    Mysqlx_addressYesGlobalNo
    mysqlx_bind_addressYesYesYesGlobalNo
    Mysqlx_bytes_receivedYesBothNo
    Mysqlx_bytes_received_compressed_payloadYesBothNo
    Mysqlx_bytes_received_uncompressed_frameYesBothNo
    Mysqlx_bytes_sentYesBothNo
    Mysqlx_bytes_sent_compressed_payloadYesBothNo
    Mysqlx_bytes_sent_uncompressed_frameYesBothNo
    mysqlx_compression_algorithmsYesYesYesGlobalYes
    mysqlx_connect_timeoutYesYesYesGlobalYes
    Mysqlx_connection_accept_errorsYesBothNo
    Mysqlx_connection_errorsYesBothNo
    Mysqlx_connections_acceptedYesGlobalNo
    Mysqlx_connections_closedYesGlobalNo
    Mysqlx_connections_rejectedYesGlobalNo
    Mysqlx_crud_create_viewYesBothNo
    Mysqlx_crud_deleteYesBothNo
    Mysqlx_crud_drop_viewYesBothNo
    Mysqlx_crud_findYesBothNo
    Mysqlx_crud_insertYesBothNo
    Mysqlx_crud_modify_viewYesBothNo
    Mysqlx_crud_updateYesBothNo
    Mysqlx_cursor_closeYesBothNo
    Mysqlx_cursor_fetchYesBothNo
    Mysqlx_cursor_openYesBothNo
    mysqlx_document_id_unique_prefixYesYesYesGlobalYes
    mysqlx_enable_hello_noticeYesYesYesGlobalYes
    Mysqlx_errors_sentYesBothNo
    Mysqlx_errors_unknown_message_typeYesBothNo
    Mysqlx_expect_closeYesBothNo
    Mysqlx_expect_openYesBothNo
    mysqlx_idle_worker_thread_timeoutYesYesYesGlobalYes
    Mysqlx_init_errorYesBothNo
    mysqlx_interactive_timeoutYesYesYesGlobalYes
    mysqlx_max_allowed_packetYesYesYesGlobalYes
    mysqlx_max_connectionsYesYesYesGlobalYes
    mysqlx_min_worker_threadsYesYesYesGlobalYes
    Mysqlx_notice_global_sentYesBothNo
    Mysqlx_notice_other_sentYesBothNo
    Mysqlx_notice_warning_sentYesBothNo
    Mysqlx_notified_by_group_replicationYesBothNo
    Mysqlx_portYesGlobalNo
    mysqlx_portYesYesYesGlobalNo
    mysqlx_port_open_timeoutYesYesYesGlobalNo
    Mysqlx_prep_deallocateYesBothNo
    Mysqlx_prep_executeYesBothNo
    Mysqlx_prep_prepareYesBothNo
    mysqlx_read_timeoutYesYesYesSessionYes
    Mysqlx_rows_sentYesBothNo
    Mysqlx_sessionsYesGlobalNo
    Mysqlx_sessions_acceptedYesGlobalNo
    Mysqlx_sessions_closedYesGlobalNo
    Mysqlx_sessions_fatal_errorYesGlobalNo
    Mysqlx_sessions_killedYesGlobalNo
    Mysqlx_sessions_rejectedYesGlobalNo
    Mysqlx_socketYesGlobalNo
    mysqlx_socketYesYesYesGlobalNo
    Mysqlx_ssl_accept_renegotiatesYesGlobalNo
    Mysqlx_ssl_acceptsYesGlobalNo
    Mysqlx_ssl_activeYesBothNo
    mysqlx_ssl_c YesYesYesGlobalNo
    mysqlx_ssl_capathYesYesYesGlobalNo
    mysqlx_ssl_certYesYesYesGlobalNo
    Mysqlx_ssl_cipherYesBothNo
    mysqlx_ssl_cipherYesYesYesGlobalNo
    Mysqlx_ssl_cipher_listYesBothNo
    mysqlx_ssl_crlYesYesYesGlobalNo
    mysqlx_ssl_crlpathYesYesYesGlobalNo
    Mysqlx_ssl_ctx_verify_depthYesBothNo
    Mysqlx_ssl_ctx_verify_modeYesBothNo
    Mysqlx_ssl_finished_acceptsYesGlobalNo
    mysqlx_ssl_keyYesYesYesGlobalNo
    Mysqlx_ssl_server_not_afterYesGlobalNo
    Mysqlx_ssl_server_not_beforeYesGlobalNo
    Mysqlx_ssl_verify_depthYesGlobalNo
    Mysqlx_ssl_verify_modeYesGlobalNo
    Mysqlx_ssl_versionYesBothNo
    Mysqlx_stmt_create_collectionYesBothNo
    Mysqlx_stmt_create_collection_indexYesBothNo
    Mysqlx_stmt_disable_noticesYesBothNo
    Mysqlx_stmt_drop_collectionYesBothNo
    Mysqlx_stmt_drop_collection_indexYesBothNo
    Mysqlx_stmt_enable_noticesYesBothNo
    Mysqlx_stmt_ensure_collectionYesBothNo
    Mysqlx_stmt_execute_mysqlxYesBothNo
    Mysqlx_stmt_execute_sqlYesBothNo
    Mysqlx_stmt_execute_xpluginYesBothNo
    Mysqlx_stmt_get_collection_optionsYesBothNo
    Mysqlx_stmt_kill_clientYesBothNo
    Mysqlx_stmt_list_clientsYesBothNo
    Mysqlx_stmt_list_noticesYesBothNo
    Mysqlx_stmt_list_objectsYesBothNo
    Mysqlx_stmt_modify_collection_optionsYesBothNo
    Mysqlx_stmt_pingYesBothNo
    mysqlx_wait_timeoutYesYesYesSessionYes
    Mysqlx_worker_threadsYesGlobalNo
    Mysqlx_worker_threads_activeYesGlobalNo
    mysqlx_write_timeoutYesYesYesSessionYes
    named_pipeYesYesYesGlobalNo
    named_pipe_full_access_groupYesYesYesGlobalNo
    ndb_allow_copying_alter_tableYesYesYesBothYes
    Ndb_api_bytes_received_countYesGlobalNo
    Ndb_api_bytes_received_count_sessionYesSessionNo
    Ndb_api_bytes_received_count_slaveYesGlobalNo
    Ndb_api_bytes_sent_countYesGlobalNo
    Ndb_api_bytes_sent_count_sessionYesSessionNo
    Ndb_api_bytes_sent_count_slaveYesGlobalNo
    Ndb_api_event_bytes_countYesGlobalNo
    Ndb_api_event_bytes_count_injectorYesGlobalNo
    Ndb_api_event_data_countYesGlobalNo
    Ndb_api_event_data_count_injectorYesGlobalNo
    Ndb_api_event_nondata_countYesGlobalNo
    Ndb_api_event_nondata_count_injectorYesGlobalNo
    Ndb_api_pk_op_countYesGlobalNo
    Ndb_api_pk_op_count_sessionYesSessionNo
    Ndb_api_pk_op_count_slaveYesGlobalNo
    Ndb_api_pruned_scan_countYesGlobalNo
    Ndb_api_pruned_scan_count_sessionYesSessionNo
    Ndb_api_pruned_scan_count_slaveYesGlobalNo
    Ndb_api_range_scan_countYesGlobalNo
    Ndb_api_range_scan_count_sessionYesSessionNo
    Ndb_api_range_scan_count_slaveYesGlobalNo
    Ndb_api_read_row_countYesGlobalNo
    Ndb_api_read_row_count_sessionYesSessionNo
    Ndb_api_read_row_count_slaveYesGlobalNo
    Ndb_api_scan_batch_countYesGlobalNo
    Ndb_api_scan_batch_count_sessionYesSessionNo
    Ndb_api_scan_batch_count_slaveYesGlobalNo
    Ndb_api_table_scan_countYesGlobalNo
    Ndb_api_table_scan_count_sessionYesSessionNo
    Ndb_api_table_scan_count_slaveYesGlobalNo
    Ndb_api_trans_abort_countYesGlobalNo
    Ndb_api_trans_abort_count_sessionYesSessionNo
    Ndb_api_trans_abort_count_slaveYesGlobalNo
    Ndb_api_trans_close_countYesGlobalNo
    Ndb_api_trans_close_count_sessionYesSessionNo
    Ndb_api_trans_close_count_slaveYesGlobalNo
    Ndb_api_trans_commit_countYesGlobalNo
    Ndb_api_trans_commit_count_sessionYesSessionNo
    Ndb_api_trans_commit_count_slaveYesGlobalNo
    Ndb_api_trans_local_read_row_countYesGlobalNo
    Ndb_api_trans_local_read_row_count_sessionYesSessionNo
    Ndb_api_trans_local_read_row_count_slaveYesGlobalNo
    Ndb_api_trans_start_countYesGlobalNo
    Ndb_api_trans_start_count_sessionYesSessionNo
    Ndb_api_trans_start_count_slaveYesGlobalNo
    Ndb_api_uk_op_countYesGlobalNo
    Ndb_api_uk_op_count_sessionYesSessionNo
    Ndb_api_uk_op_count_slaveYesGlobalNo
    Ndb_api_wait_exec_complete_countYesGlobalNo
    Ndb_api_wait_exec_complete_count_sessionYesSessionNo
    Ndb_api_wait_exec_complete_count_slaveYesGlobalNo
    Ndb_api_wait_meta_request_countYesGlobalNo
    Ndb_api_wait_meta_request_count_sessionYesSessionNo
    Ndb_api_wait_meta_request_count_slaveYesGlobalNo
    Ndb_api_wait_nanos_countYesGlobalNo
    Ndb_api_wait_nanos_count_sessionYesSessionNo
    Ndb_api_wait_nanos_count_slaveYesGlobalNo
    Ndb_api_wait_scan_result_countYesGlobalNo
    Ndb_api_wait_scan_result_count_sessionYesSessionNo
    Ndb_api_wait_scan_result_count_slaveYesGlobalNo
    ndb_autoincrement_prefetch_szYesYesYesBothYes
    ndb_batch_sizeYesYesYesGlobalNo
    ndb_blob_read_batch_bytesYesYesYesBothYes
    ndb_blob_write_batch_bytesYesYesYesBothYes
    ndb_cache_check_timeYesYesYesGlobalYes
    ndb_clear_apply_statusYesYesGlobalYes
    ndb_cluster_connection_poolYesYesYesGlobalNo
    ndb_cluster_connection_pool_nodeidsYesYesYesGlobalNo
    Ndb_cluster_node_idYesGlobalNo
    Ndb_config_from_hostYesBothNo
    Ndb_config_from_portYesBothNo
    Ndb_conflict_fn_epochYesGlobalNo
    Ndb_conflict_fn_epoch_transYesGlobalNo
    Ndb_conflict_fn_epoch2YesGlobalNo
    Ndb_conflict_fn_epoch2_transYesGlobalNo
    Ndb_conflict_fn_maxYesGlobalNo
    Ndb_conflict_fn_oldYesGlobalNo
    Ndb_conflict_last_conflict_epochYesGlobalNo
    Ndb_conflict_last_stable_epochYesGlobalNo
    Ndb_conflict_reflected_op_discard_countYesGlobalNo
    Ndb_conflict_reflected_op_prepare_countYesGlobalNo
    Ndb_conflict_refresh_op_countYesGlobalNo
    Ndb_conflict_trans_conflict_commit_countYesGlobalNo
    Ndb_conflict_trans_detect_iter_countYesGlobalNo
    Ndb_conflict_trans_reject_countYesGlobalNo
    Ndb_conflict_trans_row_conflict_countYesGlobalNo
    Ndb_conflict_trans_row_reject_countYesGlobalNo
    ndb-connectstringYesYes
    ndb_data_node_neighbourYesYesYesGlobalYes
    ndb_dbg_check_sharesYesYesYesBothYes
    ndb_default_column_formatYesYesYesGlobalYes
    ndb_default_column_formatYesYesYesGlobalYes
    ndb_deferred_constraintsYesYesYesBothYes
    ndb_deferred_constraintsYesYesYesBothYes
    ndb_distributionYesYesYesGlobalYes
    ndb_distributionYesYesYesGlobalYes
    Ndb_epoch_delete_delete_countYesGlobalNo
    ndb_eventbuffer_free_percentYesYesYesGlobalYes
    ndb_eventbuffer_max_allocYesYesYesGlobalYes
    Ndb_execute_countYesGlobalNo
    ndb_extra_loggingYesYesYesGlobalYes
    ndb_force_sendYesYesYesBothYes
    ndb_fully_replicatedYesYesYesBothYes
    ndb_index_stat_enableYesYesYesBothYes
    ndb_index_stat_optionYesYesYesBothYes
    ndb_join_pushdownYesBothYes
    Ndb_last_commit_epoch_serverYesGlobalNo
    Ndb_last_commit_epoch_sessionYesSessionNo
    ndb_log_apply_statusYesYesYesGlobalNo
    ndb_log_apply_statusYesYesYesGlobalNo
    ndb_log_binYesYesBothYes
    ndb_log_binlog_indexYesYesGlobalYes
    ndb_log_empty_epochsYesYesYesGlobalYes
    ndb_log_empty_epochsYesYesYesGlobalYes
    ndb_log_empty_updateYesYesYesGlobalYes
    ndb_log_empty_updateYesYesYesGlobalYes
    ndb_log_exclusive_readsYesYesYesBothYes
    ndb_log_exclusive_readsYesYesYesBothYes
    ndb_log_origYesYesYesGlobalNo
    ndb_log_origYesYesYesGlobalNo
    ndb_log_transaction_idYesYesYesGlobalNo
    ndb_log_transaction_idYesGlobalNo
    ndb_log_update_as_writeYesYesYesGlobalYes
    ndb_log_update_minimalYesYesYesGlobalYes
    ndb_log_updated_onlyYesYesYesGlobalYes
    Ndb_metadata_blacklist_sizeYesGlobalNo
    ndb_metadata_checkYesYesYesGlobalYes
    ndb_metadata_check_intervalYesYesYesGlobalYes
    Ndb_metadata_detected_countYesGlobalNo
    ndb_metadata_syncYesGlobalYes
    Ndb_metadata_synced_countYesGlobalNo
    ndb-mgmd-hostYesYes
    ndb_nodeidYesYesYesGlobalNo
    Ndb_number_of_data_nodesYesGlobalNo
    ndb_optimization_delayYesYesYesGlobalYes
    ndb_optimized_node_selectionYesYesYesGlobalNo
    Ndb_pruned_scan_countYesGlobalNo
    Ndb_pushed_queries_definedYesGlobalNo
    Ndb_pushed_queries_droppedYesGlobalNo
    Ndb_pushed_queries_executedYesGlobalNo
    Ndb_pushed_readsYesGlobalNo
    ndb_read_backupYesYesYesGlobalYes
    ndb_recv_thread_activation_thresholdYesYesYesGlobalYes
    ndb_recv_thread_cpu_maskYesYesYesGlobalYes
    ndb_report_thresh_binlog_epoch_slipYesYesYesGlobalYes
    ndb_report_thresh_binlog_mem_usageYesYesYesGlobalYes
    ndb_row_checksumYesBothYes
    Ndb_scan_countYesGlobalNo
    ndb_schema_dist_lock_wait_timeoutYesYesYesGlobalYes
    ndb_schema_dist_timeoutYesYesYesGlobalNo
    ndb_schema_dist_timeoutYesYesYesGlobalNo
    ndb_schema_dist_upgrade_allowedYesYesYesGlobalNo
    ndb_show_foreign_key_mock_tablesYesYesYesGlobalYes
    ndb_slave_conflict_roleYesYesYesGlobalYes
    Ndb_slave_max_replicated_epochYesGlobalNo
    Ndb_system_nameYesGlobalNo
    ndb_table_no_loggingYesSessionYes
    ndb_table_temporaryYesSessionYes
    Ndb_trans_hint_count_sessionYesBothNo
    ndb-transid-mysql-connection-mapYes
    ndb_use_copying_alter_tableYesBothNo
    ndb_use_exact_countYesBothYes
    ndb_use_transactionsYesYesYesBothYes
    ndb_versionYesGlobalNo
    ndb_version_stringYesGlobalNo
    ndb_wait_connectedYesYesYesGlobalNo
    ndb_wait_setupYesYesYesGlobalNo
    ndbclusterYesYes
    ndbinfoYes
    ndbinfo_databaseYesGlobalNo
    ndbinfo_max_bytesYesYesBothYes
    ndbinfo_max_rowsYesYesBothYes
    ndbinfo_offlineYesGlobalYes
    ndbinfo_show_hiddenYesYesBothYes
    ndbinfo_table_prefixYesYesBothYes
    ndbinfo_versionYesGlobalNo
    net_buffer_lengthYesYesYesBothYes
    net_read_timeoutYesYesYesBothYes
    net_retry_countYesYesYesBothYes
    net_write_timeoutYesYesYesBothYes
    newYesYesYesBothYes
    ngram_token_sizeYesYesYesGlobalNo
    no-dd-upgradeYesYes
    no-defaultsYes
    no-monitorYesYes
    Not_flushed_delayed_rowsYesGlobalNo
    offline_modeYesYesYesGlobalYes
    oldYesYesYesGlobalNo
    old_alter_tableYesYesYesBothYes
    old-style-user-limitsYesYes
    Ongoing_anonymous_gtid_violating_transaction_countYesGlobalNo
    Ongoing_anonymous_transaction_countYesGlobalNo
    Ongoing_automatic_gtid_violating_transaction_countYesGlobalNo
    Open_filesYesGlobalNo
    open_files_limitYesYesYesGlobalNo
    Open_streamsYesGlobalNo
    Open_table_definitionsYesGlobalNo
    Open_tablesYesBothNo
    Opened_filesYesGlobalNo
    Opened_table_definitionsYesBothNo
    Opened_tablesYesBothNo
    optimizer_prune_levelYesYesYesBothYes
    optimizer_search_depthYesYesYesBothYes
    optimizer_switchYesYesYesBothYes
    optimizer_traceYesYesYesBothYes
    optimizer_trace_featuresYesYesYesBothYes
    optimizer_trace_limitYesYesYesBothYes
    optimizer_trace_max_mem_sizeYesYesYesBothYes
    optimizer_trace_offsetYesYesYesBothYes
    original_commit_timestampYesSessionYes
    original_server_versionYesSessionYes
    parser_max_mem_sizeYesYesYesBothYes
    partial_revokesYesYesYesGlobalYes
    password_historyYesYesYesGlobalYes
    password_require_currentYesYesYesGlobalYes
    password_reuse_intervalYesYesYesGlobalYes
    performance_schem YesYesYesGlobalNo
    Performance_schema_accounts_lostYesGlobalNo
    performance_schema_accounts_sizeYesYesYesGlobalNo
    Performance_schema_cond_classes_lostYesGlobalNo
    Performance_schema_cond_instances_lostYesGlobalNo
    performance-schema-consumer-events-stages-currentYesYes
    performance-schema-consumer-events-stages-historyYesYes
    performance-schema-consumer-events-stages-history-longYesYes
    performance-schema-consumer-events-statements-currentYesYes
    performance-schema-consumer-events-statements-historyYesYes
    performance-schema-consumer-events-statements-history-longYesYes
    performance-schema-consumer-events-transactions-currentYesYes
    performance-schema-consumer-events-transactions-historyYesYes
    performance-schema-consumer-events-transactions-history-longYesYes
    performance-schema-consumer-events-waits-currentYesYes
    performance-schema-consumer-events-waits-historyYesYes
    performance-schema-consumer-events-waits-history-longYesYes
    performance-schema-consumer-global-instrumentationYesYes
    performance-schema-consumer-statements-digestYesYes
    performance-schema-consumer-thread-instrumentationYesYes
    Performance_schema_digest_lostYesGlobalNo
    performance_schema_digests_sizeYesYesYesGlobalNo
    performance_schema_error_sizeYesYesYesGlobalNo
    performance_schema_events_stages_history_long_sizeYesYesYesGlobalNo
    performance_schema_events_stages_history_sizeYesYesYesGlobalNo
    performance_schema_events_statements_history_long_sizeYesYesYesGlobalNo
    performance_schema_events_statements_history_sizeYesYesYesGlobalNo
    performance_schema_events_transactions_history_long_sizeYesYesYesGlobalNo
    performance_schema_events_transactions_history_sizeYesYesYesGlobalNo
    performance_schema_events_waits_history_long_sizeYesYesYesGlobalNo
    performance_schema_events_waits_history_sizeYesYesYesGlobalNo
    Performance_schema_file_classes_lostYesGlobalNo
    Performance_schema_file_handles_lostYesGlobalNo
    Performance_schema_file_instances_lostYesGlobalNo
    Performance_schema_hosts_lostYesGlobalNo
    performance_schema_hosts_sizeYesYesYesGlobalNo
    Performance_schema_index_stat_lostYesGlobalNo
    performance-schema-instrumentYesYes
    Performance_schema_locker_lostYesGlobalNo
    performance_schema_max_cond_classesYesYesYesGlobalNo
    performance_schema_max_cond_instancesYesYesYesGlobalNo
    performance_schema_max_digest_lengthYesYesYesGlobalNo
    performance_schema_max_digest_sample_ageYesYesYesGlobalYes
    performance_schema_max_file_classesYesYesYesGlobalNo
    performance_schema_max_file_handlesYesYesYesGlobalNo
    performance_schema_max_file_instancesYesYesYesGlobalNo
    performance_schema_max_index_statYesYesYesGlobalNo
    performance_schema_max_memory_classesYesYesYesGlobalNo
    performance_schema_max_metadata_locksYesYesYesGlobalNo
    performance_schema_max_mutex_classesYesYesYesGlobalNo
    performance_schema_max_mutex_instancesYesYesYesGlobalNo
    performance_schema_max_prepared_statements_instancesYesYesYesGlobalNo
    performance_schema_max_program_instancesYesYesYesGlobalNo
    performance_schema_max_rwlock_classesYesYesYesGlobalNo
    performance_schema_max_rwlock_instancesYesYesYesGlobalNo
    performance_schema_max_socket_classesYesYesYesGlobalNo
    performance_schema_max_socket_instancesYesYesYesGlobalNo
    performance_schema_max_sql_text_lengthYesYesYesGlobalNo
    performance_schema_max_stage_classesYesYesYesGlobalNo
    performance_schema_max_statement_classesYesYesYesGlobalNo
    performance_schema_max_statement_stackYesYesYesGlobalNo
    performance_schema_max_table_handlesYesYesYesGlobalNo
    performance_schema_max_table_instancesYesYesYesGlobalNo
    performance_schema_max_table_lock_statYesYesYesGlobalNo
    performance_schema_max_thread_classesYesYesYesGlobalNo
    performance_schema_max_thread_instancesYesYesYesGlobalNo
    Performance_schema_memory_classes_lostYesGlobalNo
    Performance_schema_metadata_lock_lostYesGlobalNo
    Performance_schema_mutex_classes_lostYesGlobalNo
    Performance_schema_mutex_instances_lostYesGlobalNo
    Performance_schema_nested_statement_lostYesGlobalNo
    Performance_schema_prepared_statements_lostYesGlobalNo
    Performance_schema_program_lostYesGlobalNo
    Performance_schema_rwlock_classes_lostYesGlobalNo
    Performance_schema_rwlock_instances_lostYesGlobalNo
    Performance_schema_session_connect_attrs_longest_seenYesGlobalNo
    Performance_schema_session_connect_attrs_lostYesGlobalNo
    performance_schema_session_connect_attrs_sizeYesYesYesGlobalNo
    performance_schema_setup_actors_sizeYesYesYesGlobalNo
    performance_schema_setup_objects_sizeYesYesYesGlobalNo
    Performance_schema_socket_classes_lostYesGlobalNo
    Performance_schema_socket_instances_lostYesGlobalNo
    Performance_schema_stage_classes_lostYesGlobalNo
    Performance_schema_statement_classes_lostYesGlobalNo
    Performance_schema_table_handles_lostYesGlobalNo
    Performance_schema_table_instances_lostYesGlobalNo
    Performance_schema_table_lock_stat_lostYesGlobalNo
    Performance_schema_thread_classes_lostYesGlobalNo
    Performance_schema_thread_instances_lostYesGlobalNo
    Performance_schema_users_lostYesGlobalNo
    performance_schema_users_sizeYesYesYesGlobalNo
    persist_only_admin_x509_subjectYesYesYesGlobalNo
    persisted_globals_loadYesYesYesGlobalNo
    pid_fileYesYesYesGlobalNo
    plugin_dirYesYesYesGlobalNo
    plugin_loadYesYesYesGlobalNo
    plugin_load_addYesYesYesGlobalNo
    plugin-xxxYesYes
    portYesYesYesGlobalNo
    port-open-timeoutYesYes
    preload_buffer_sizeYesYesYesBothYes
    Prepared_stmt_countYesGlobalNo
    print-defaultsYes
    print_identified_with_as_hexYesYesYesBothYes
    profilingYesBothYes
    profiling_history_sizeYesYesYesBothYes
    protocol_compression_algorithmsYesYesYesGlobalYes
    protocol_versionYesGlobalNo
    proxy_userYesSessionNo
    pseudo_slave_modeYesSessionYes
    pseudo_thread_idYesSessionYes
    QueriesYesBothNo
    query_alloc_block_sizeYesYesYesBothYes
    query_prealloc_sizeYesYesYesBothYes
    QuestionsYesBothNo
    rand_seed1YesSessionYes
    rand_seed2YesSessionYes
    range_alloc_block_sizeYesYesYesBothYes
    range_optimizer_max_mem_sizeYesYesYesBothYes
    rbr_exec_modeYesBothYes
    read_buffer_sizeYesYesYesBothYes
    read_onlyYesYesYesGlobalYes
    read_rnd_buffer_sizeYesYesYesBothYes
    regexp_stack_limitYesYesYesGlobalYes
    regexp_time_limitYesYesYesGlobalYes
    relay_logYesYesYesGlobalNo
    relay_log_basenameYesGlobalNo
    relay_log_indexYesYesYesGlobalNo
    relay_log_info_fileYesYesYesGlobalNo
    relay_log_info_repositoryYesYesYesGlobalYes
    relay_log_purgeYesYesYesGlobalYes
    relay_log_recoveryYesYesYesGlobalNo
    relay_log_space_limitYesYesYesGlobalNo
    removeYes
    replicate-do-dbYesYes
    replicate-do-tableYesYes
    replicate-ignore-dbYesYes
    replicate-ignore-tableYesYes
    replicate-rewrite-dbYesYes
    replicate-same-server-idYesYes
    replicate-wild-do-tableYesYes
    replicate-wild-ignore-tableYesYes
    report_hostYesYesYesGlobalNo
    report_passwordYesYesYesGlobalNo
    report_portYesYesYesGlobalNo
    report_userYesYesYesGlobalNo
    require_row_formatYesSessionYes
    require_secure_transportYesYesYesGlobalYes
    resultset_metadat YesSessionYes
    rewriter_enabledYesGlobalYes
    Rewriter_number_loaded_rulesYesGlobalNo
    Rewriter_number_reloadsYesGlobalNo
    Rewriter_number_rewritten_queriesYesGlobalNo
    Rewriter_reload_errorYesGlobalNo
    rewriter_verboseYesGlobalYes
    rpl_read_sizeYesYesYesGlobalYes
    Rpl_semi_sync_master_clientsYesGlobalNo
    rpl_semi_sync_master_enabledYesYesYesGlobalYes
    Rpl_semi_sync_master_net_avg_wait_timeYesGlobalNo
    Rpl_semi_sync_master_net_wait_timeYesGlobalNo
    Rpl_semi_sync_master_net_waitsYesGlobalNo
    Rpl_semi_sync_master_no_timesYesGlobalNo
    Rpl_semi_sync_master_no_txYesGlobalNo
    Rpl_semi_sync_master_statusYesGlobalNo
    Rpl_semi_sync_master_timefunc_failuresYesGlobalNo
    rpl_semi_sync_master_timeoutYesYesYesGlobalYes
    rpl_semi_sync_master_trace_levelYesYesYesGlobalYes
    Rpl_semi_sync_master_tx_avg_wait_timeYesGlobalNo
    Rpl_semi_sync_master_tx_wait_timeYesGlobalNo
    Rpl_semi_sync_master_tx_waitsYesGlobalNo
    rpl_semi_sync_master_wait_for_slave_countYesYesYesGlobalYes
    rpl_semi_sync_master_wait_no_slaveYesYesYesGlobalYes
    rpl_semi_sync_master_wait_pointYesYesYesGlobalYes
    Rpl_semi_sync_master_wait_pos_backtraverseYesGlobalNo
    Rpl_semi_sync_master_wait_sessionsYesGlobalNo
    Rpl_semi_sync_master_yes_txYesGlobalNo
    rpl_semi_sync_slave_enabledYesYesYesGlobalYes
    Rpl_semi_sync_slave_statusYesGlobalNo
    rpl_semi_sync_slave_trace_levelYesYesYesGlobalYes
    rpl_stop_slave_timeoutYesYesYesGlobalYes
    Rsa_public_keyYesGlobalNo
    safe-user-createYesYes
    schema_definition_cacheYesYesYesGlobalYes
    secondary_engine_cost_thresholdYesSessionYes
    Secondary_engine_execution_countYesBothNo
    secure_file_privYesYesYesGlobalNo
    Select_full_joinYesBothNo
    Select_full_range_joinYesBothNo
    Select_rangeYesBothNo
    Select_range_checkYesBothNo
    Select_scanYesBothNo
    server_idYesYesYesGlobalYes
    server_id_bitsYesYesYesGlobalNo
    server_uuidYesGlobalNo
    session_track_gtidsYesYesYesBothYes
    session_track_schem YesYesYesBothYes
    session_track_state_changeYesYesYesBothYes
    session_track_system_variablesYesYesYesBothYes
    session_track_transaction_infoYesYesYesBothYes
    sha256_password_auto_generate_rsa_keysYesYesYesGlobalNo
    sha256_password_private_key_pathYesYesYesGlobalNo
    sha256_password_proxy_usersYesYesYesGlobalYes
    sha256_password_public_key_pathYesYesYesGlobalNo
    shared_memoryYesYesYesGlobalNo
    shared_memory_base_nameYesYesYesGlobalNo
    show_create_table_skip_secondary_engineYesYesYesSessionYes
    show_create_table_verbosityYesYesYesBothYes
    show_old_temporalsYesYesYesBothYes
    show-slave-auth-infoYesYes
    skip-character-set-client-handshakeYesYes
    skip_external_lockingYesYesYesGlobalNo
    skip-grant-tablesYesYes
    skip-host-cacheYesYes
    skip_name_resolveYesYesYesGlobalNo
    skip-ndbclusterYesYes
    skip_networkingYesYesYesGlobalNo
    skip-newYesYes
    skip_show_databaseYesYesYesGlobalNo
    skip-slave-startYesYes
    skip-sslYesYes
    skip-stack-traceYesYes
    slave_allow_batchingYesYesYesGlobalYes
    slave_checkpoint_groupYesYesYesGlobalYes
    slave_checkpoint_periodYesYesYesGlobalYes
    slave_compressed_protocolYesYesYesGlobalYes
    slave_exec_modeYesYesYesGlobalYes
    slave_load_tmpdirYesYesYesGlobalNo
    slave_max_allowed_packetYesYesYesGlobalYes
    slave_net_timeoutYesYesYesGlobalYes
    Slave_open_temp_tablesYesGlobalNo
    slave_parallel_typeYesYesYesGlobalYes
    slave_parallel_workersYesYesYesGlobalYes
    slave_pending_jobs_size_maxYesYesYesGlobalYes
    slave_preserve_commit_orderYesYesYesGlobalYes
    Slave_rows_last_search_algorithm_usedYesGlobalNo
    slave_rows_search_algorithmsYesYesYesGlobalYes
    slave_skip_errorsYesYesYesGlobalNo
    slave-sql-verify-checksumYesYes
    slave_sql_verify_checksumYesYesYesGlobalYes
    slave_transaction_retriesYesYesYesGlobalYes
    slave_type_conversionsYesYesYesGlobalNo
    Slow_launch_threadsYesBothNo
    slow_launch_timeYesYesYesGlobalYes
    Slow_queriesYesBothNo
    slow_query_logYesYesYesGlobalYes
    slow_query_log_fileYesYesYesGlobalYes
    slow-start-timeoutYesYes
    socketYesYesYesGlobalNo
    sort_buffer_sizeYesYesYesBothYes
    Sort_merge_passesYesBothNo
    Sort_rangeYesBothNo
    Sort_rowsYesBothNo
    Sort_scanYesBothNo
    sporadic-binlog-dump-failYesYes
    sql_auto_is_nullYesBothYes
    sql_big_selectsYesBothYes
    sql_buffer_resultYesBothYes
    sql_log_binYesSessionYes
    sql_log_offYesBothYes
    sql_modeYesYesYesBothYes
    sql_notesYesBothYes
    sql_quote_show_createYesBothYes
    sql_require_primary_keyYesYesYesBothYes
    sql_safe_updatesYesBothYes
    sql_select_limitYesBothYes
    sql_slave_skip_counterYesGlobalYes
    sql_warningsYesBothYes
    sslYesYes
    Ssl_accept_renegotiatesYesGlobalNo
    Ssl_acceptsYesGlobalNo
    ssl_c YesYesYesGlobalVaries
    Ssl_callback_cache_hitsYesGlobalNo
    ssl_capathYesYesYesGlobalVaries
    ssl_certYesYesYesGlobalVaries
    Ssl_cipherYesBothNo
    ssl_cipherYesYesYesGlobalVaries
    Ssl_cipher_listYesBothNo
    Ssl_client_connectsYesGlobalNo
    Ssl_connect_renegotiatesYesGlobalNo
    ssl_crlYesYesYesGlobalVaries
    ssl_crlpathYesYesYesGlobalVaries
    Ssl_ctx_verify_depthYesGlobalNo
    Ssl_ctx_verify_modeYesGlobalNo
    Ssl_default_timeoutYesBothNo
    Ssl_finished_acceptsYesGlobalNo
    Ssl_finished_connectsYesGlobalNo
    ssl_fips_modeYesYesYesGlobalYes
    ssl_keyYesYesYesGlobalVaries
    Ssl_server_not_afterYesBothNo
    Ssl_server_not_beforeYesBothNo
    Ssl_session_cache_hitsYesGlobalNo
    Ssl_session_cache_missesYesGlobalNo
    Ssl_session_cache_modeYesGlobalNo
    Ssl_session_cache_overflowsYesGlobalNo
    Ssl_session_cache_sizeYesGlobalNo
    Ssl_session_cache_timeoutsYesGlobalNo
    Ssl_sessions_reusedYesBothNo
    Ssl_used_session_cache_entriesYesGlobalNo
    Ssl_verify_depthYesBothNo
    Ssl_verify_modeYesBothNo
    Ssl_versionYesBothNo
    standaloneYesYes
    stored_program_cacheYesYesYesGlobalYes
    stored_program_definition_cacheYesYesYesGlobalYes
    super-large-pagesYesYes
    super_read_onlyYesYesYesGlobalYes
    symbolic-linksYesYes
    sync_binlogYesYesYesGlobalYes
    sync_master_infoYesYesYesGlobalYes
    sync_relay_logYesYesYesGlobalYes
    sync_relay_log_infoYesYesYesGlobalYes
    sysdate-is-nowYesYes
    syseventlog.facilityYesYesYesGlobalYes
    syseventlog.include_pidYesYesYesGlobalYes
    syseventlog.tagYesYesYesGlobalYes
    system_time_zoneYesGlobalNo
    table_definition_cacheYesYesYesGlobalYes
    table_encryption_privilege_checkYesYesYesGlobalYes
    Table_locks_immediateYesGlobalNo
    Table_locks_waitedYesGlobalNo
    table_open_cacheYesYesYesGlobalYes
    Table_open_cache_hitsYesBothNo
    table_open_cache_instancesYesYesYesGlobalNo
    Table_open_cache_missesYesBothNo
    Table_open_cache_overflowsYesBothNo
    tablespace_definition_cacheYesYesYesGlobalYes
    tc-heuristic-recoverYesYes
    Tc_log_max_pages_usedYesGlobalNo
    Tc_log_page_sizeYesGlobalNo
    Tc_log_page_waitsYesGlobalNo
    temptable_max_ramYesYesYesGlobalYes
    temptable_use_mmapYesYesYesGlobalYes
    thread_cache_sizeYesYesYesGlobalYes
    thread_handlingYesYesYesGlobalNo
    thread_pool_algorithmYesYesYesGlobalNo
    thread_pool_high_priority_connectionYesYesYesBothYes
    thread_pool_max_active_query_threadsYesYesYesGlobalYes
    thread_pool_max_unused_threadsYesYesYesGlobalYes
    thread_pool_prio_kickup_timerYesYesYesBothYes
    thread_pool_sizeYesYesYesGlobalNo
    thread_pool_stall_limitYesYesYesGlobalYes
    thread_stackYesYesYesGlobalNo
    Threads_cachedYesGlobalNo
    Threads_connectedYesGlobalNo
    Threads_createdYesGlobalNo
    Threads_runningYesGlobalNo
    time_zoneYesBothYes
    timestampYesSessionYes
    tls_ciphersuitesYesYesYesGlobalYes
    tls_versionYesYesYesGlobalVaries
    tmp_table_sizeYesYesYesBothYes
    tmpdirYesYesYesGlobalNo
    transaction_alloc_block_sizeYesYesYesBothYes
    transaction_allow_batchingYesSessionYes
    transaction_isolationYesYesYesBothYes
    transaction_prealloc_sizeYesYesYesBothYes
    transaction_read_onlyYesYesYesBothYes
    transaction_write_set_extractionYesYesYesBothYes
    unique_checksYesBothYes
    updatable_views_with_limitYesYesYesBothYes
    upgradeYesYes
    UptimeYesGlobalNo
    Uptime_since_flush_statusYesGlobalNo
    use_secondary_engineYesSessionYes
    userYesYes
    validate-configYesYes
    validate-passwordYesYes
    validate_password_check_user_nameYesYesYesGlobalYes
    validate_password_dictionary_fileYesYesYesGlobalYes
    validate_password_dictionary_file_last_parsedYesGlobalNo
    validate_password_dictionary_file_words_countYesGlobalNo
    validate_password_lengthYesYesYesGlobalYes
    validate_password_mixed_case_countYesYesYesGlobalYes
    validate_password_number_countYesYesYesGlobalYes
    validate_password_policyYesYesYesGlobalYes
    validate_password_special_char_countYesYesYesGlobalYes
    validate_password.check_user_nameYesYesYesGlobalYes
    validate_password.dictionary_fileYesYesYesGlobalYes
    validate_password.dictionary_file_last_parsedYesGlobalNo
    validate_password.dictionary_file_words_countYesGlobalNo
    validate_password.lengthYesYesYesGlobalYes
    validate_password.mixed_case_countYesYesYesGlobalYes
    validate_password.number_countYesYesYesGlobalYes
    validate_password.policyYesYesYesGlobalYes
    validate_password.special_char_countYesYesYesGlobalYes
    validate_user_pluginsYesYesYesGlobalNo
    verboseYesYes
    versionYesGlobalNo
    version_commentYesGlobalNo
    version_compile_machineYesGlobalNo
    version_compile_osYesGlobalNo
    version_compile_zlibYesGlobalNo
    version_tokens_sessionYesYesYesBothYes
    version_tokens_session_numberYesYesYesBothNo
    wait_timeoutYesYesYesBothYes
    warning_countYesSessionNo
    windowing_use_high_precisionYesYesYesBothYes

    服务器系统变量

    MySQL服务器维护许多配置其操作的系统变量。每个系统变量都有一个默认值。可以在服务器启动时使用命令行或选项文件中的选项设置系统变量。可以使用以下SET语句在运行时动态更改其中的大多数内容,该语句使您无需停止并重新启动服务器即可修改服务器的操作。您也可以在表达式中使用系统变量值。

    设置全局系统变量运行时值通常需要SYSTEM_VARIABLES_ADMINSUPER特权。设置会话系统运行时变量值通常不需要特殊特权,并且任何用户都可以完成,尽管有例外。有关更多信息,请参见“系统变量特权”

    有几种方法可以参见系统变量的名称和值:

    • 要参见服务器根据其内建的默认值和读取的任何选项文件将使用的值,请使用以下命令:

      mysqld --verbose --help
      
    • 要仅根据服务器的编译缺省值参见服务器将使用的值,而忽略任何选项文件中的设置,请使用以下命令:

      mysqld --no-defaults --verbose --help
      
    • 要参见正在运行的服务器使用的当前值,请使用该SHOW VARIABLES语句或Performance Schema系统变量表。请参见“性能架构系统变量表”。

    本节提供每个系统变量的描述。有关系统变量摘要表,请参见“服务器系统变量参考”。有关操纵系统变量的更多信息,请参见“使用MySQL服务器系统变量”。

    有关其他系统变量信息,请参见以下部分:

    • “使用系统变量”讨论了设置和显示系统变量值的语法。
    • “动态系统变量”列出了可以在运行时设置的变量。
    • 有关调整系统变量的信息,请参见“配置服务器”。
    • “ InnoDB启动选项和系统变量”列出了InnoDB系统变量。
    • “ NDB群集系统变量”列出了特定于NDB群集的系统变量。
    • 有关特定于复制的服务器系统变量的信息,请参见“复制和二进制日志记录选项和变量”。
    注意

    以下某些变量描述涉及“启用”或“禁用”变量。可以SET通过将其设置为ON或来启用这些变量1,或者通过将其设置为OFF或来禁用这些变量0。布尔变量可以在启动时被设置为的值ONTRUEOFF,和FALSE(不区分大小写),以及10。请参见“程序选项修饰符”。

    一些系统变量控制缓冲区或高速缓存的大小。对于给定的缓冲区,服务器可能需要分配内部数据结构。这些结构通常是从分配给缓冲区的总内存中分配的,所需的空间量可能取决于平台。这意味着,当您将值分配给控制缓冲区大小的系统变量时,实际可用空间量可能与分配的值不同。在某些情况下,金额可能小于分配的值。服务器也可能向上调整一个值。例如,如果为变量的最小值为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 TRANSACTIONor BEGIN语句。请参见“ START TRANSACTION,COMMIT和ROLLBACK语句”。

      默认情况下,客户端连接以 utocommit设置为1 开始。要使客户端以默认值0 utocommit开始,请通过使用--autocommit=0选项启动服务器来设置全局值。要使用选项文件设置变量,请包括以下几行:

      [mysqld]
      utocommit=0
      
    • utomatic_sp_privileges

      属性
      命令行格式--automatic-sp-privileges[={OFF|ON}]
      系统变量 utomatic_sp_privileges
      范围Global
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      当此变量的值为1(默认值)时,如果用户不能执行和更改或删除该例程,则服务器会自动向该例程的创建者授予EXECUTEALTER 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_keyscaching_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格式(TIMEDATETIME,和TIMESTAMP列不为小数精度秒支持)。升级此类列需要重新构建表,这将阻止使用任何可能会应用于要执行的操作的快速更改。

      默认情况下禁用此变量。启用它会导致ALTER TABLE不重建时态列,从而能够利用可能的快速更改。

      不建议使用此变量,并将在将来的MySQL版本中将其删除。

    • back_log

      属性
      命令行格式--back-log=#
      系统变量back_log
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型Integer
      默认值-1(表示自动调整大小;不分配此文字值)
      最低值1
      最大值65535

      MySQL可以拥有的未完成连接请求数。当主要的MySQL线程在很短的时间内收到很多连接请求时,就会发挥作用。然后,主线程需要花费一些时间(尽管很少)来检查连接并启动新线程。该back_log值指示在MySQL暂时停止回答新请求之前的短时间内可以堆叠多少个请求。仅当您期望在短时间内有大量连接时,才需要增加此数量。

      换句话说,此值是传入TCP / IP连接的侦听队列的大小。您的操作系统对此队列的大小有自己的限制。Unix listen()系统调用的手册页应包含更多详细信息。检查您的操作系统文档以获取此变量的最大值。back_log不能将其设置为高于操作系统限制。

      默认值为的值max_connections,这使允许的积压工作可以调整为最大允许的连接数。

    • basedir

      属性
      命令行格式--basedir=dir_name
      系统变量basedir
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型目录名
      默认值parent of mysqld installation directory

      MySQL安装基础目录的路径。

    • 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.20 IPv4地址和2001:db8:0:f101::1 IPv6地址。

      • bind_address=198.51.100.20,*

        产生错误是因为在bind_address命名多个值的列表时不允许使用通配符地址。

      bind_address命名单个值(通配符或非通配符)时,服务器在单个套接字上侦听,该套接字上的通配符地址可能绑定到多个网络接口。当bind_address命名多个值的列表时,服务器在每个值上侦听一个套接字,每个套接字都绑定到一个网络接口。套接字的数量与指定的值的数量成线性关系。根据操作系统连接接受效率,长值列表可能会因接受TCP / IP连接而导致性能下降。

      由于文件描述符是为侦听套接字分配的,因此可能有必要增加open_files_limit系统变量。

      如果打算将服务器绑定到特定地址,请确保mysql.user系统表包含一个具有管理特权的帐户,可用于连接该地址。否则,您将无法关闭服务器。例如,如果将服务器绑定到*,则可以使用所有现有帐户连接到该服务器。但是,如果将服务器绑定到::1,则服务器仅在该地址上接受连接。在这种情况下,首先请确保'root'@'::1'mysql.user表中存在该帐户,以便您仍然可以连接到服务器以将其关闭。

    • 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位平台)4294967295

      MyISAM使用一种特殊的树状缓存,使批量插入更快INSERT ... SELECTINSERT ... 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_keyscaching_sha2_password_auto_generate_rsa_keys系统变量启用;未指定RSA选项;数据目录中缺少RSA文件。这些密钥对文件可通过RSA sha256_passwordcaching_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_databasecollation_database系统变量已弃用,并将在MySQL的未来版本中删除。

      不建议为会话character_set_databasecollation_database系统变量分配值,并且分配会产生警告。会话变量在MySQL的未来版本中将变为只读,并且赋值将产生错误。仍然可以访问会话变量,以确定默认数据库的数据库字符集和排序规则。

    • character_set_filesystem

      属性
      命令行格式--character-set-filesystem=name
      系统变量character_set_filesystem
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型string
      默认值binary

      文件系统字符集。此变量用于解释引用文件名的字符串文字,例如LOAD DATA nd SELECT ... INTO OUTFILE语句和LOAD_FILE()函数。这样的文件名从转换character_set_clientcharacter_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_passwordsha256_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_databasecollation_database系统变量已弃用,并将在MySQL的未来版本中删除。

      不建议为会话character_set_databasecollation_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_CHAIN

      CHAIN

      RELEASE

      0

      1

      2

      交易完成类型。该变量可以采用下表中显示的值。可以使用名称值或相应的整数值来分配变量。

      描述
      NO_CHAIN(或0)COMMIT并且ROLLBACK不受影响。这是默认值。
      CHAIN(或1)COMMITROLLBACK分别等于COMMIT AND CHAINROLLBACK AND CHAIN。(新事务将以与刚刚终止的事务相同的隔离级别立即开始。)
      RELEASE(或2个)COMMITROLLBACK分别等于COMMIT RELEASEROLLBACK RELEASE。(服务器在终止事务后断开连接。)

      completion_type会影响首先交易START TRANSACTIONBEGIN和结束与COMMITROLLBACK。它不适用于因执行“导致隐式提交的语句”中列出的语句而导致的隐式提交。它也不会为应用XA COMMITXA ROLLBACK或当 utocommit=1

    • concurrent_insert

      属性
      命令行格式--concurrent-insert[=value]
      系统变量concurrent_insert
      范围Global
      动态
      SET_VAR提示适用没有
      类型列举
      默认值AUTO
      有效值

      NEVER

      AUTO

      ALWAYS

      0

      1

      2

      如果AUTO(默认),MySQL允许INSERTSELECT语句针对MyISAM数据文件中间没有空闲块的表同时运行。

      该变量可以采用下表中显示的值。可以使用名称值或相应的整数值来分配变量。

      描述
      NEVER(或0)禁用并发插入
      AUTO(或1)(默认)为MyISAM没有孔的表启用并发插入
      ALWAYS(或2个)为所有MyISAM表启用并发插入,即使有孔的表也是如此。对于有孔的表,如果另一个线程正在使用该表,则在表的末尾插入新行。否则,MySQL将获得普通的写锁,并将该行插入到该孔中。

      如果启动mysqld的使用--skip-newconcurrent_insert设置为NEVER

      另请参见“并发插入”。

    • connect_timeout

      属性
      命令行格式--connect-timeout=#
      系统变量connect_timeout
      范围Global
      动态
      SET_VAR提示适用没有
      类型Integer
      默认值10
      最低值2
      最大值31536000

      mysqld服务器在以响应之前等待连接数据包的秒数Bad handshake。默认值为10秒。

      connect_timeout如果客户经常遇到表格错误,则增加该值可能会有所帮助。Lost connection to MySQL server at 'XXX', system error:errno

    • core_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_sync IS OFF。如果服务器开始,这里是一个超时值大于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_password

      sha256_password

      caching_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_ci

      utf8mb4_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 COLLATIONSHOW CHARACTER SET
      • CREATE TABLEALTER TABLE具有一个CHARACTER SET utf8mb4COLLATION子句的子句,用于表字符集或列字符集。
      • CREATE DATABASEALTER 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 USERALTER 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_ADMINTABLE_ENCRYPTION_ADMIN特权,或SUPER特权。

      default_table_encryption支持SET PERSISTSET PERSIST_ONLY语法。请参见“持久性系统变量”。

      有关更多信息,请参见为架构和常规表空间定义加密默认值。

    • default_tmp_storage_engine

      属性
      命令行格式--default-tmp-storage-engine=name
      系统变量default_tmp_storage_engine
      范围Global, Session
      动态
      SET_VAR提示适用
      类型列举
      默认值InnoDB

      TEMPORARY表的默认存储引擎(使用创建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
      有效值

      ON

      OFF

      ALL

      此变量指定如何使用延迟键写入。它仅适用于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-newdelay_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

      此变量指示哪些存储引擎不能用于创建表或表空间。例如,为防止创建新表MyISAMFEDERATED表,请在服务器选项文件中使用以下几行启动服务器:

      [mysqld]
      disabled_storage_engines="MyISAM,FEDERATED"
      

      默认情况下disabled_storage_engines为空(没有禁用引擎),但是可以将其设置为一个或多个引擎的逗号分隔列表(不区分大小写)。任何在值命名的发动机不能用于创建表或表空间CREATE TABLE或者CREATE TABLESPACE,并且不能与使用ALTER TABLE ... ENGINEALTER TABLESPACE ... ENGINE更改现有的表或表空间的存储引擎。尝试这样做会导致ER_DISABLED_STORAGE_ENGINE错误。

      disabled_storage_engines不限制为现有的表的其它DDL语句,比如CREATE INDEXTRUNCATE TABLEANALYZE TABLEDROP TABLE,或DROP TABLESPACE。这允许平稳过渡,以便可以使用诸如之类的方法将使用禁用引擎的现有表或表空间迁移到允许的引擎。ALTER TABLE ... ENGINE permitted_engine

      允许将default_storage_enginedefault_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_limitN +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
      有效值

      ON

      OFF

      DISABLED

      此变量启用或禁用以及启动或停止事件调度程序。可能的状态值ONOFFDISABLED,默认为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属性或显式DEFAULTON UPDATE属性显式声明表中的第一列,则使用DEFAULT CURRENT_TIMESTAMPON 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_TIMESTAMPON 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
      最低值10

      MyISAMFULLTEXT索引中要包含的单词的最大长度。

      注意

      FULLTEXTMyISAM更改此变量后,必须在表上重建索引。使用。REPAIR TABLE tbl_name QUICK

    • ft_min_word_len

      属性
      命令行格式--ft-min-word-len=#
      系统变量ft_min_word_len
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型Integer
      默认值4
      最低值1

      要包含在MyISAMFULLTEXT索引中的单词的最小长度。

      注意

      FULLTEXTMyISAM更改此变量后,必须在表上重建索引。使用。REPAIR TABLE tbl_name QUICK

    • ft_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 QUICK

    • general_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 USERALTER USERSET 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_compress

      YES如果zlib压缩库可用于服务器(NO如果没有)。如果不是,则不能使用COMPRESS()UNCOMPRESS()功能。

    • have_dynamic_loading

      YES如果mysqld支持动态加载插件,NO则不支持。如果值为NO,则不能使用诸如--plugin-load在服务器启动INSTALL PLUGIN时加载插件或在运行时加载插件的语句之类的选项。

    • have_geometry

      YES如果服务器支持空间数据类型,NO则不支持。

    • have_openssl

      此变量是的别名have_ssl

    • have_profiling

      YES如果存在语句分析功能,NO则不存在。如果存在,则profiling系统变量控制是启用还是禁用此功能。请参见“ SHOW PROFILES语句”。

      不建议使用此变量,并将在将来的MySQL版本中将其删除。

    • have_query_cache

      查询缓存已在MySQL 8.0.3中删除。have_query_cache不推荐使用,其值始终为NO,并将在以后的MySQL版本中删除。

    • have_rtree_keys

      YES如果RTREE索引可用,NO则不可用。(这些用于MyISAM表中的空间索引。)

    • have_ssl

      属性
      系统变量have_ssl
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型string
      有效值

      YES(提供SSL支持)

      DISABLED(SSL支持已编译到服务器中,但是未使用必要的选项启动服务器来启用它)

      YES如果mysqld支持SSL连接,DISABLED则服务器是使用SSL支持编译的,但未使用适当的选项启动。有关更多信息,请参见“从源代码安装MySQL”。--ssl-xxx

    • have_statement_timeout

      属性
      系统变量have_statement_timeout
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型

      语句执行超时功能是否可用(请参阅“语句执行时间优化器提示”)。该值可以是NO此功能使用的后台线程无法初始化的情况。

    • have_symlink

      YES如果启用了符号链接支持,NO则未启用。在Unix上,这是必需的,以支持DATA DIRECTORYINDEX 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_ADMINSUPER特权的用户,init_connect不会执行的内容。这样做是为了使的错误值init_connect不会阻止所有客户端连接。例如,该值可能包含具有语法错误的语句,从而导致客户端连接失败。init_connect对具有CONNECTION_ADMINSUPER特权的用户不执行将使他们能够打开连接并固定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_statsmysql.table_stats字典表中检索这些列的缓存值,这比直接从存储引擎中检索统计信息更为有效。如果缓存的统计信息不可用或已过期,MySQL将从存储引擎中检索最新的统计信息并将其缓存在mysql.index_statsmysql.table_stats字典表中。后续查询将检索缓存的统计信息,直到缓存的统计信息到期为止。

      information_schema_stats_expiry会话变量定义缓存统计到期之前的一段时间。默认值为86400秒(24小时),但是时间段可以延长到一年。

      要随时更新给定表的缓存值,请使用ANALYZE TABLE

      要始终直接从存储引擎检索最新统计信息并绕过缓存的值,请设置information_schema_stats_expiry0

      在以下情况下,查询统计信息列不会在mysql.index_statsmysql.table_stats字典表中存储或更新统计信息:

      • 缓存的统计信息尚未过期时。
      • information_schema_stats_expiry设置为0。
      • 当服务器在启动read_onlysuper_read_onlytransaction_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 USERGRANT),复制和全局事务标识符有关的语句。请参见“使用全局事务标识符进行复制”。

    • innodb_xxx

      InnoDB系统变量在“ InnoDB启动选项和系统变量”中列出。这些变量控制表的存储,内存使用和I / O模式的许多方面InnoDB,并且由于它InnoDB是默认存储引擎,因此尤其重要。

    • insert_id

      插入值时,以下INSERTALTER 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
      有效值

      MYISAM

      INNODB

      重要

      在MySQL 8.0.16和更高版本中,磁盘上的内部临时表始终使用InnoDB存储引擎。从MySQL 8.0.16开始,此变量已被删除,因此不再受支持。

      在MySQL 8.0.16之前,此变量确定用于磁盘内部临时表的存储引擎(请参见磁盘内部临时表的存储引擎)。允许的值为MYISAMINNODB(默认值)。

    • internal_tmp_mem_storage_engine

      属性
      命令行格式--internal-tmp-mem-storage-engine=#
      系统变量internal_tmp_mem_storage_engine
      范围Global, Session
      动态
      SET_VAR提示适用
      类型列举
      默认值TempTable
      有效值

      TempTable

      MEMORY

      内存中内部临时表的存储引擎(请参见“ 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 DIRECTORYINDEX 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位平台)4294967295

      MyISAM表的索引块被缓冲并由所有线程共享。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_requestsKey_readsKey_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 TABLESFLUSH TABLES WITH READ LOCKHANDLER语句。

      此超时不适用于对mysql数据库中系统表的隐式访问,例如由GRANTREVOKE语句修改的授权表或表记录语句。超时的确适用于直接访问的系统表,例如使用SELECTUPDATE

      超时值分别适用于每次元数据锁定尝试。一个给定的语句可能需要多个锁,因此该语句可能会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系统变量适用于用于错误日志,并指定其当它们的优先级发生的事件打压的事件WARNINGINFORMATION。例如,如果某种特定类型的警告由于频繁发生但不被关注而在错误日志中被认为是不希望的“噪音”,则可以将其抑制。此变量影响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则无效。

      用于错误日志事件具有的优先级ERRORWARNINGINFORMATIONlog_error_verbosity根据允许将消息写入日志的优先级控制详细程度,如下表所示。

      允许的邮件优先级log_error_verbosity值
      ERROR1个
      ERRORWARNING2
      ERRORWARNINGINFORMATION3

      还有一个优先级SYSTEM。无论log_error_verbosity值如何,有关非错误情况的系统消息都会打印到错误日志中。这些消息包括启动和关闭消息,以及对设置的一些重大更改。

      log_error_verbosity结合的效果log_error_suppression_list

    • log_output

      属性
      命令行格式--log-output=name
      系统变量log_output
      范围Global
      动态
      SET_VAR提示适用没有
      类型
      默认值FILE
      有效值

      TABLE

      FILE

      NONE

      常规查询日志和慢速查询日志输出的一个或多个目标。该值是一个列表中的一个或多种选自以下逗号分隔的话TABLEFILENONETABLE选择记录到系统架构中的general_logslow_logmysqlFILE选择记录日志文件。NONE禁用日志记录。如果NONE值中存在,则它优先于存在的其他任何单词。TABLE并且FILE可以同时选择两个日志输出目标。

      该变量选择日志输出目标,但不启用日志输出。为此,请启用general_logslow_query_log系统变量。对于FILE日志记录,general_log_fileslow_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 TABLEANALYZE TABLECHECK TABLECREATE INDEXDROP INDEXOPTIMIZE 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
      有效值

      UTC

      SYSTEM

      此变量控制写入错误日志的消息以及通常写入文件的查询日志和慢速查询日志消息中时间戳的时区。它不影响一般的查询日志和写入表(慢查询日志消息的时区mysql.general_logmysql.slow_log)。CONVERT_TZ()通过设置会话time_zone系统变量,可以将从这些表中检索的行从本地系统时区转换为任何所需时区。

      允许的log_timestamps值为UTC(默认值)和SYSTEM(本地系统时区)。

      时间戳使用ISO 8601 / RFC 3339格式编写:加上表示祖鲁时间(UTC)的尾值或(与UTC的偏移量)。YYYY-MM-DDThh:mm:ss.uuuuuuZ±hh:mm

    • log_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所有INSERTUPDATEDELETELOCK TABLE WRITE语句等到没有候审SELECTLOCK TABLE READ受影响的表。通过{INSERT | REPLACE | DELETE | UPDATE}LOW_PRIORITY ...降低仅一个查询的优先级,可以获得相同的效果。此变量影响使用仅表级锁定仅存储引擎(如MyISAMMEMORY,和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 ROLEDROP 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,但是单个客户端程序可能会覆盖它。例如,mysqlmysqldump的默认值分别为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
      最大值65535

      SHOW ERRORSSHOW WARNINGS语句要存储以显示的错误,警告和信息消息的最大数量。这与诊断区域中条件区域的数量相同,因此可以通过检查的条件数量GET DIAGNOSTICS

    • max_execution_time

      属性
      命令行格式--max-execution-time=#
      系统变量max_execution_time
      范围Global, Session
      动态
      SET_VAR提示适用
      类型Integer
      默认值0

      SELECT语句的执行超时(以毫秒为单位)。如果值为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允许用户创建的表增长到的最大大小。变量的值用于计算MEMORYMAX_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_selects0。如果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 BYORDER BYDISTINCT操作。

      增加的值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 USERALTER 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 TABLEMyISAM表将使用的默认指针大小(以字节为单位)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
      有效值

      OFF

      DEFAULT

      BACKUP

      FORCE

      QUICK

      设置MyISAM存储引擎恢复模式。该变量的值是的值的任意组合OFFDEFAULTBACKUPFORCE,或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位平台)4294967295

      MyISAM在期间对索引进行排序REPAIR TABLE或使用CREATE INDEX或创建索引时分配的缓冲区大小ALTER TABLE

    • myisam_stats_method

      属性
      命令行格式--myisam-stats-method=name
      系统变量myisam_stats_method
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型列举
      默认值nulls_unequal
      有效值

      nulls_equal

      nulls_unequal

      nulls_ignored

      服务器NULL在收集有关MyISAM表的索引值分布的统计信息时如何处理值。这个变量有三个可能的值nulls_equalnulls_unequalnulls_ignored。对于nulls_equal,所有NULL索引值均被视为相等,并形成一个大小等于NULL值数量的单个值组。对于nulls_unequalNULL值被认为是不相等的,并且每个NULL值形成大小为1的不同值组。对于nulls_ignoredNULL值将被忽略。

      如“ 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_lengthmax_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可以使用表以外的分区类型KEYLINEAR KEYNDB表一起使用分区类型。此功能仅是实验性功能,生产中不支持。有关其他信息,请参阅用户定义的分区和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_ADMINSUPER特权的已连接客户端用户将在下一个请求时断开连接,并出现相应的错误。断开连接包括终止正在运行的语句和释放锁。这样的客户端也无法启动新的连接,并收到适当的错误。
      • 具有CONNECTION_ADMINSUPER特权的已连接客户端用户不会断开连接,并且可以启动新连接来管理服务器。
      • 复制从属线程被允许将数据继续应用于服务器。

      只有拥有SYSTEM_VARIABLES_ADMINSUPER特权的用户才能控制离线模式。要将服务器置于脱机模式,请将offline_mode系统变量的值从OFF更改为ON。要恢复正常操作,请offline_mode从更改ONOFF。在脱机模式下,被拒绝访问的客户端收到ER_SERVER_OFFLINE_MODE错误。

    • old

      属性
      命令行格式--old[={OFF|ON}]
      系统变量old
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      old是一个兼容性变量。默认情况下,它是禁用的,但是可以在启动时启用,以将服务器还原为旧版本中的行为。

      old启用时,它改变索引提示到之前的MySQL 5.1.17使用的默认范围。也就是说,不带FOR子句的索引提示仅适用于如何将索引用于行检索,不适用于ORDER BYor GROUP 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 PARTITIONwith old_alter_table=ON重建分区表,并尝试将数据从删除的分区移动到具有兼容PARTITION ... VALUES定义的另一个分区。无法删除的数据将被删除。在早期版本中,ALTER TABLE ... DROP PARTITION with old_alter_table=ON删除存储在分区中的数据并删除该分区。

    • open_files_limit

      属性
      命令行格式--open-files-limit=#
      系统变量open_files_limit
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型Integer
      默认值5000, with possible adjustment
      最低值0
      最大值platform dependent

      mysqld从操作系统可使用的文件描述符的数量。mysqldsetrlimit()通过直接设置此变量或使用mysqld_safe--open-files-limit选项使用启动时请求的值来保留描述符。如果mysqld产生错误,请尝试增加该值。在内部,此变量的最大值是最大无符号整数值,但实际的最大值取决于平台。Too many open filesopen_files_limit

      open_files_limit at runtime 的值指示操作系统实际允许mysqld使用的文件描述符的数量,该数量可能与启动时请求的值不同。如果启动期间请求的文件描述符数量无法分配,mysqld会在错误日志中写入警告。

      有效open_files_limit值是基于在系统启动时指定的值(如果有的话)和的值max_connectionstable_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系统变量可以控制优化程序的行为。此变量的值是一组标志,每个标志的值都为onoff指示相应的优化器行为是启用还是禁用。此变量具有全局值和会话值,可以在运行时更改。可以在服务器启动时设置全局默认值。

      要参见当前的优化器标志集,请选择变量值:

      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 USER

    • password_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 USER

    • password_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 USER

    • persisted_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 PERSISTSET PERSIST_ONLYRESET 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 string

      SET 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 PROFILE nd SHOW PROFILES语句提供对分析信息的访问。请参见“ SHOW PROFILES语句”。

      不建议使用此变量,并将在将来的MySQL版本中将其删除。

    • profiling_history_size

      profiling启用了要维护概要分析信息的语句数。默认值为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
      有效值

      zlib

      zstd

      uncompressed

      服务器允许传入连接的压缩算法。这些包括客户端程序和参与主/从复制或组复制的服务器的连接。压缩不适用于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_modeoriginal_commit_timestamp复制延迟时间戳和original_server_version系统变量具有以下影响:

      • 如果为true,则未明确设置original_commit_timestamporiginal_server_version假定源自其他未知服务器的事务,因此将值0(表示未知)分配给时间戳记和系统变量。
      • 如果为false,则未显式设置的事务original_commit_timestamporiginal_server_version假定不起源于当前服务器的事务,因此将当前时间戳和当前服务器的版本分配给时间戳和系统变量。

      在MySQL 8.0.14和更高版本中,pseudo_slave_mode对设置一个或多个不受支持(已删除或未知)SQL模式的语句的处理具有以下影响:

      • 如果为true,则服务器将忽略不支持的模式并发出警告。
      • 如果为false,则服务器使用拒绝该语句ER_UNSUPPORTED_SQL_MODE
    • 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_seed1rand_seed2作为唯一的会话变量存在变数,并且可以设置,但不能读取。变量(而不是它们的值)显示在的输出中SHOW VARIABLES

      这些变量的目的是支持RAND()功能的复制。对于调用的语句,RAND()主控器将两个值传递给从属器,在此它们用于为随机数生成器提供种子。从机使用这些值来设置会话变量rand_seed1rand_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
      有效值

      IDEMPOTENT

      STRICT

      mysqlbinlog内部使用。此变量在IDEMPOTENT模式和STRICT模式之间切换服务器。IDEMPOTENT模式导致抑制mysqlbinlogBINLOG生成的语句中重复关键字和未找到关键字的错误。当在服务器上重播基于行的二进制日志时,该模式会导致与现有数据发生冲突,此模式很有用。当您通过将以下内容写入输出来指定选项时,mysqlbinlog设置此模式:--idempotent

      SET 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_ADMINSUPER特权。默认情况下禁用此变量。

      服务器还支持super_read_only系统变量(默认情况下禁用),具有以下作用:

      • 如果super_read_only启用此选项,则服务器禁止客户端更新,即使来自具有SUPER特权的用户也是如此。
      • 设置super_read_onlyON隐含的力量read_onlyON
      • 设置read_onlyOFF隐含的力量super_read_onlyOFF

      即使read_only启用,服务器也允许以下操作:

      • 如果服务器是复制从属服务器,则由从属线程执行的更新。在复制设置中,read_only在从属服务器上启用以确保从属仅接受来自主服务器的更新而不接受来自客户端的更新会很有用。
      • 写入系统表mysql.gtid_executed,该表存储了当前二进制日志文件中不存在的已执行事务的GTID。
      • ANALYZE TABLEOPTIMIZE TABLE语句的使用。只读模式的目的是防止更改表结构或内容。分析和优化不符合此类更改的条件。例如,这意味着可以使用mysqlcheck --all-databases --analyze对只读复制从属服务器执行一致性检查。
      • TEMPORARY表上的操作。
      • 插入日志表(mysql.general_logmysql.slow_log);请参见“选择常规查询日志和慢速查询日志输出目的地”。
      • 更新Performance Schema表,例如UPDATETRUNCATE 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
      有效值

      FULL

      NONE

      对于元数据传输是可选的连接,客户端设置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 string

      dirname

      NULL

      此变量用于限制数据导入和导出操作的效果,例如由LOAD DATA nd SELECT ... INTO OUTFILE语句和LOAD_FILE()函数执行的操作。只有具有FILE特权的用户才能进行这些操作。

      secure_file_priv可以设置如下:

      • 如果为空,则该变量无效。这不是一个安全的设置。
      • 如果设置为目录名,则服务器将限制导入和导出操作,使其仅适用于该目录中的文件。该目录必须存在;服务器将不会创建它。
      • 如果设置为NULL,服务器将禁用导入和导出操作。

      缺省值是特定于平台的,并且取决于CMake选项的值,如下表所示。如果要从源代码构建,则要明确指定默认值,请使用CMake选项。INSTALL_LAYOUTsecure_file_privINSTALL_SECURE_FILE_PRIVDIR

      INSTALL_LAYOUT预设secure_file_priv
      STANDALONE空的
      DEBRPMSVR4/var/lib/mysql-files
      除此以外mysql-filesCMAKE_INSTALL_PREFIX价值之下

      服务器secure_file_priv在启动时检查值,如果该值不安全,则将警告写入错误日志。如果非NULL值是空的,或者该值是数据目录或它的子目录,或者是所有用户都可以访问的目录,则它被认为是不安全的。如果secure_file_priv将设置为不存在的路径,则服务器将错误消息写入错误日志并退出。

    • session_track_gtids

      属性
      命令行格式--session-track-gtids=value
      系统变量session_track_gtids
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型列举
      默认值OFF
      有效值

      OFF

      OWN_GTID

      ALL_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 utocommitcharacter_set_clientcharacter_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
      有效值

      OFF

      STATE

      CHARACTERISTICS

      控制服务器是否跟踪当前会话中事务的状态和特征,并通知客户端使此信息可用。这些session_track_transaction_info值是允许的:

      • OFF:禁用事务状态跟踪。这是默认值。
      • STATE:启用事务状态跟踪而没有特征跟踪。状态跟踪使客户端能够确定事务是否正在进行中,以及是否可以将其移至其他会话而不回滚。
      • CHARACTERISTICS:启用事务状态跟踪,包括特征跟踪。通过特征跟踪,客户端可以确定如何在另一个会话中重新启动事务,以使其具有与原始会话相同的特征。以下特征与此有关:

        ISOLATION LEVEL
        READ ONLY 
        READ WRITE
        WITH CONSISTENT SNAPSHOT
        

      为了使客户安全地将事务重定位到另一个会话,它不仅必须跟踪事务状态,还必须跟踪事务特征。此外,客户端必须跟踪transaction_isolationtransaction_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_keyscaching_sha2_password_auto_generate_rsa_keys系统变量启用;未指定RSA选项;数据目录中缺少RSA文件。这些密钥对文件可通过RSA sha256_passwordcaching_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_engine

    • show_create_table_verbosity

      属性
      命令行格式--show-create-table-verbosity[={OFF|ON}]
      系统变量show_create_table_verbosity
      范围Global, Session
      动态
      SET_VAR提示适用没有
      类型布尔型
      默认值OFF

      SHOW 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格式(TIMEDATETIME,和TIMESTAMP列不为小数精度秒支持)。默认情况下禁用此变量。如果启用,SHOW CREATE TABLE输出如下所示:

      CREATE TABLE `mytbl` (
      `ts` timestamp /* 5.5 binary format */ NOT NULL DEFAULT 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特权的用户使用,并且该语句显示所有数据库名称。如果值为OFFSHOW 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 BYGROUP 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_name WHERE 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_nullOFF

    • sql_big_selects

      属性
      系统变量sql_big_selects
      范围Global, Session
      动态
      SET_VAR提示适用
      类型布尔型
      默认值ON

      如果设置为OFF,MySQL将中止SELECT可能花费很长时间才能执行的语句(即,优化器估计该语句所检查的行数超过的值的语句max_join_size)。当发出了不明智的WHERE声明时,这很有用。新连接的默认值为ON,它允许所有SELECT语句。

      如果将max_join_size系统变量设置为以外的其他值DEFAULTsql_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变量设置为ONOFF

      设置此系统变量的会话值是受限制的操作。会话用户必须具有足以设置受限会话变量的特权。请参见“系统变量特权”。

    • 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_DATES

      ANSI_QUOTES

      ERROR_FOR_DIVISION_BY_ZERO

      HIGH_NOT_PRECEDENCE

      IGNORE_SPACE

      NO_AUTO_VALUE_ON_ZERO

      NO_BACKSLASH_ESCAPES

      NO_DIR_IN_CREATE

      NO_ENGINE_SUBSTITUTION

      NO_UNSIGNED_SUBTRACTION

      NO_ZERO_DATE

      NO_ZERO_IN_DATE

      ONLY_FULL_GROUP_BY

      PAD_CHAR_TO_FULL_LENGTH

      PIPES_AS_CONCAT

      REAL_AS_FLOAT

      STRICT_ALL_TABLES

      STRICT_TRANS_TABLES

      TIME_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 TABLESHOW 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条款产生错误。这样就可以捕获UPDATEDELETE声明未正确使用键的地方,这可能会更改或删除大量行。默认值为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 SELECTLIMIT子句,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_modeOFF。在这种情况下,设置ssl_fips_mode为启动ONSTRICT在启动时会导致服务器生成错误消息并退出。

    • 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_onlysuper_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)
      

      对于InnoDBtable_definition_cache充当InnoDB数据字典缓存中打开表实例的数量的软限制。如果打开表实例的数量超过table_definition_cache设置,则LRU机制将开始标记表实例以将其逐出,并最终将其从数据字典缓存中删除。该限制有助于解决以下情况:大量内存将用于缓存很少使用的表实例,直到下次服务器重新启动。具有缓存的元数据的表实例的数量可能会超过table_definition_cache,因为具有外键关系的父表实例和子表实例不会放在LRU列表上,也不会从内存中逐出。

      此外,还table_definition_cache定义了InnoDB可以一次打开的每表文件表空间数量的软限制,该限制也由来控制innodb_open_files。如果同时设置table_definition_cacheinnodb_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 PERSISTSET 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足够高,以便大多数新连接使用缓存的线程。通过检查ConnectionsThreads_created状态变量之间的差异,您可以了解线程缓存的效率。有关详细信息,请参见“服务器状态变量”。

      默认值基于以下公式,上限为100:

      8 	+ (max_connections / 100)
      
    • thread_handling

      属性
      命令行格式--thread-handling=name
      系统变量thread_handling
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型列举
      默认值one-thread-per-connection
      有效值

      no-threads

      one-thread-per-connection

      loaded-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为恒定值会使它保留该值,直到再次更改为止。设置timestampDEFAULT会使它的值成为访问它时的当前日期和时间。

      timestamp是一个DOUBLE,而不是BIGINT因为它的值包括微秒的部分。最大值对应于'2038-01-19 03:14:07'UTC,与TIMESTAMP数据类型相同。

      SET timestamp影响的返回值,NOW()但不影响SYSDATE()。这意味着二进制日志中的时间戳设置对的调用没有影响SYSDATE()。可以使用使服务器成为别名的--sysdate-is-now选项启动服务器,在这种情况下会影响这两个功能。SYSDATE()NOW()SET timestamp

    • tls_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_sizemax_heap_table_size的较小值。如果内存中的临时表超出了限制,MySQL会自动将其转换为磁盘上的临时表。有关更多信息,请参见磁盘内部临时表的存储引擎。

      如果您执行许多高级查询并且有很多内存,请增加tmp_table_sizemax_heap_table_size如果需要)的值GROUP BY

      您可以通过比较Created_tmp_disk_tablesCreated_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-UNCOMMITTED

      READ-COMMITTED

      REPEATABLE-READ

      SERIALIZABLE

      事务隔离级别。默认值为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工具生成。)更新是UPDATEor DELETE语句。这里的主键表示一个PRIMARY KEYUNIQUE索引,其中任何列都不能包含NULL

      该变量可以具有两个值:

      • 1YES:仅发出警告(而不是错误消息)。这是默认值。
      • 0NO:禁止更新。
    • use_secondary_engine

      属性
      介绍了8.0.13
      系统变量use_secondary_engine
      范围Session
      动态
      SET_VAR提示适用
      类型列举
      默认值ON
      有效值

      OFF

      ON

      FORCED

      供将来使用。

    • validate_password.xxx

      validate_password组件实现了一组名称为形式的系统变量。这些变量影响该组件的密码测试。请参见“密码验证选项和变量”。validate_password.xxx

    • validate_user_plugins

      属性
      命令行格式--validate-user-plugins[={OFF|ON}]
      系统变量validate_user_plugins
      范围Global
      动态没有
      SET_VAR提示适用没有
      类型布尔型
      默认值ON

      如果启用了此变量(默认值),则服务器将检查每个用户帐户,并在发现导致该帐户不可用的条件时发出警告:

      • 该帐户需要未加载的身份验证插件。
      • 该帐户要求使用sha256_passwordcaching_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

      是否在不损失精度的情况下计算窗口操作。请参见“窗口函数优化”。