You need to enable JavaScript to run this app.
导航
修改参数
最近更新时间:2024.07.23 12:15:40首次发布时间:2021.10.11 18:06:04

本文介绍修改参数的相关操作步骤。

注意事项

  • 为保证实例的稳定运行,控制台仅支持修改部分参数。关于可修改的参数,具体请参见可修改参数列表:MySQL 5.7MySQL 8.0。如果找不到需要修改的参数,请提交工单处理。

  • 参数值的设定请参见控制台上 MySQL 参数页签中的取值范围列。

  • 部分参数修改后需要重启实例后才能生效,是否需要重启请参见 MySQL 参数页签中的是否重启生效列。重启实例一般会在 30~60 秒完成,中间可能会有 1~2 次闪断。建议您在业务低峰期操作,并增加应用程序的重连机制,可以大幅降低数据库连接闪断对业务的影响。

  • MySQL 底层逻辑将会自动调整部分参数为预设限制值或预设数值的整倍数,因此最终生效的值可能与用户分配的值存在差异。

参数设定规则

以下参数仅支持在最新版本的实例中修改

如进行批量修改时遇到此类参数,则仅在新版本实例中生效,旧版本实例会忽略此修改。

参数名实例版本参数默认值是否需要重启
loose_innodb_data_file_logic_drop8.0OFF
loose_innodb_data_file_logic_drop_max_size8.01024
loose_thread_pool_enabled5.7,8.0ON
loose_thread_pool_oversubscribe5.7,8.016
loose_thread_pool_size5.7,8.0{MAX(DBInstanceCpu, 2)}
loose_kill_idle_transaction8.00
loose_rds_performance_schema5.7,8.0ON

以下参数需在实例各节点设置一致的值

默认的生效范围为所有节点,不支持仅在只读节点修改。

参数名实例版本参数默认值是否需要重启
auto_increment_increment5.7,8.01
auto_increment_offset5.7,8.01
collation_server5.7,8.0utf8_general_ci
lower_case_table_names5.71
max_execution_time5.7,8.00
replica_net_timeout8.060
replica_type_conversions8.0-
relay_log_recovery5.7,8.0ON
source_verify_checksum8.0OFF
sql_safe_updates5.7,8.0OFF
sync_source_info8.010000
tls_version5.7TLSv1,TLSv1.1,TLSv1.2
innodb_large_prefix5.7ON
default_time_zone5.7,8.0+08:00
sql_mode5.7,8.0ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

以下参数的值必须设定为 block_size 的倍数

某些系统变量在设定的值不是指定块(block_size)大小整数倍的值时,在由服务器存储之前会向下舍入到块大小的下一个较小倍数,即 FLOOR(value)* block_size。例如,假设给定变量的块大小为 4096,并将该变量的值设置为 100000(我们假设该变量的最大值大于该数字)。由于 100000 / 4096 = 24.4140625,服务器会在存储之前自动将该值降低到 98304 (24 * 4096)。
在某些情况下,变量的规定最大值是 MySQL 解析器允许的最大值,但不是块大小的精确倍数。在这种情况下,有效最大值是块大小的下一个较小倍数。例如,系统变量的最大值显示为 4294967295 (2(( 32)) -1),其块大小为 1024。4294967295 / 1024 = 4194303.9990234375,因此,如果将此变量设置为其规定的最大值,则实际存储的值为 4194303 * 1024 = 4294966272。
关于 block_size 的更多详细信息,请参见 MySQL server system variables

  • block_size 为 1024

    参数名实例版本参数默认值是否需要重启
    TRANSACTION_ALLOC_BLOCK_SIZE5.7,8.08192
    THREAD_STACK5.7,8.01048576
    INNODB_BUFFER_POOL_SIZE5.7,8.0{DBInstanceMemory*1/2}
    TRANSACTION_PREALLOC_SIZE5.7,8.04096
    MAX_ALLOWED_PACKET5.7,8.01073741824
    QUERY_ALLOC_BLOCK_SIZE5.7,8.08192
    MAX_HEAP_TABLE_SIZE5.7,8.067108864
    NET_BUFFER_LENGTH5.7,8.016384
    QUERY_PREALLOC_SIZE5.7,8.08192
    RANGE_ALLOC_BLOCK_SIZE5.7,8.04096
    QUERY_CACHE_SIZE5.70
  • block_size 为 128

    参数名实例版本参数默认值是否需要重启
    JOIN_BUFFER_SIZE5.7,8.0{LEAST(DBInstanceMemory/1048576*128, 262144)}
  • block_size 为 100

    参数名实例版本参数默认值是否需要重启
    KEY_CACHE_AGE_THRESHOLD5.7,8.0300
  • block_size 为 512

    参数名实例版本参数默认值是否需要重启
    KEY_CACHE_BLOCK_SIZE5.7,8.01024
  • block_size 为 4096

    参数名实例版本参数默认值是否需要重启
    READ_BUFFER_SIZE5.7,8.0{LEAST(DBInstanceMemory/1048576*128, 262144)}
    BINLOG_CACHE_SIZE5.7,8.02097152
    BINLOG_STMT_CACHE_SIZE5.7,8.032768
    MAX_BINLOG_CACHE_SIZE5.7,8.018446744073709547520
    MAX_BINLOG_STMT_CACHE_SIZE5.7,8.018400000000000000000

innodb_temp_data_file_path 参数的设定限制

参数名实例版本参数默认值是否需要重启
innodb_temp_data_file_path5.7,8.0ibtmp1:50M:autoextend:max:30G

支持将 innodb_temp_data_file_path 的值设置为 ibtmp1:LM:autoextend 或者 ibtmp1:LM:autoextend:max:NG。L 和 N 为正整数,L 不小于 12,N 不小于 1。

以下参数不允许设置为空

参数名实例版本参数默认值是否需要重启
slave_type_conversions5.7-
init_connect5.7,8.0-
sql_mode5.7,8.0ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

其他规则

参数实例版本校验规则是否需要重启

character_set_server collation_server

5.7,8.0

是否有效的实例创建字符集和字符序,有效则返回转换后值。

innodb_io_capacity
innodb_io_capacity_max

5.7,8.0

innodb_io_capacity 不能大于 innodb_io_capacity_max

innodb_page_cleaners
innodb_buffer_pool_instances

5.7,8.0

innodb_page_cleaners 不能大于 innodb_buffer_pool_instances

innodb_max_dirty_pages_pct_lwm
innodb_max_dirty_pages_pct

5.7,8.0

innodb_max_dirty_pages_pct_lwm 不能大于 innodb_max_dirty_pages_pct

说明

若参数列表中未找到上述表格中的部分参数,可能是因为您的实例不是最新版本,您可请提交工单联系技术支持处理。

前提条件

  • 已创建实例且实例处于运行中状态。具体操作,请参见创建实例

  • 如果您希望在修改参数时为参数配置动态表达式,需确认该参数支持动态配置,并确认该实例应用的参数模板中已为该参数配置了动态表达式。

操作步骤

  1. 登录云数据库 MySQL 版控制台

  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。

说明

如未设置实例的所属项目,本操作应选择项目为账号全部资源

  1. 在左侧导航栏单击实例列表

  2. 实例列表页面,单击目标实例名称。

  3. 在页面上方,单击参数配置页签。

  4. MySQL 参数页签,单击批量修改参数,参考目标参数的取值范围,在目标参数的运行值列输入新的运行值或表达式。

    说明

    单击撤销上一步取消当前参数的修改。可多次单击撤销上一步撤销之前的多次修改。

  5. 修改完成后,单击页面左上方的提交,在弹出的确认参数变更对话框单击确定

    说明

    • 您可以同时更改多个参数一并提交修改。更多详情,请参见批量修改参数

    • 对于双节点实例,您可在确认参数变更对话框中设定参数修改的生效范围,如所有节点、仅主备、仅只读或指定只读节点。当实例有多个只读节点,且只希望参数修改在部分只读节点生效时,可选择修改范围指定只读节点,在只读节点列表中勾选目标只读节点。

相关 API

API说明
DescribeDBInstanceParameters调用 DescribeDBInstanceParameters 接口查询实例参数。
ModifyDBInstanceParameters调用 ModifyDBInstanceParameters 接口修改实例参数。

常见问题

在参数管理中为什么找不到需要修改的参数?

出于安全和稳定性考虑,当前仅支持修改部分参数,关于可修改的参数,请参见可修改参数列表 5.7可修改参数列表 8.0。若您无法找到需要修改的参数,您可以提交工单联系技术支持。

修改参数后,需要重启实例吗?

部分参数修改后需要重启实例,您可在控制台的参数配置>MySQL 参数是否重启生效列查看是否需要重启实例,详情请参见修改参数

说明

建议在业务低峰中操作,并确保应用程序具有重连机制。

支持修改系统参数模板吗?

系统参数模板不支持修改,您可以修改自定义模板

支持修改 lower_case_table_names 吗?

MySQL 5.7 支持修改,MySQL 8.0 及之后的版本已不支持该参数。由于 lower_case_table_names 参数会影响到 MySQL 数据库整体表名和列名的大小写敏感性,建议在修改该参数之前,先备份数据。关于如何备份数据,请参见手动创建备份

如何查询云数据库 MySQL 版不支持修改的参数的设定值?

可登录数据库工作台,使用 SQL 语句 SHOW variables like '参数名'查看。