本文介绍修改参数的相关操作步骤。
为保证实例的稳定运行,控制台仅支持修改部分参数。关于可修改的参数,具体请参见可修改参数列表:MySQL 5.7 和 MySQL 8.0。如果找不到需要修改的参数,请提交工单处理。
参数值的设定请参见控制台上 MySQL 参数页签中的取值范围列。
部分参数修改后需要重启实例后才能生效,是否需要重启请参见 MySQL 参数页签中的是否重启生效列。重启实例一般会在 30~60 秒完成,中间可能会有 1~2 次闪断。建议您在业务低峰期操作,并增加应用程序的重连机制,可以大幅降低数据库连接闪断对业务的影响。
MySQL 底层逻辑将会自动调整部分参数为预设限制值或预设数值的整倍数,因此最终生效的值可能与用户分配的值存在差异。
如进行批量修改时遇到此类参数,则仅在新版本实例中生效,旧版本实例会忽略此修改。
参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
loose_innodb_data_file_logic_drop | 8.0 | OFF | 否 |
loose_innodb_data_file_logic_drop_max_size | 8.0 | 1024 | 否 |
loose_thread_pool_enabled | 5.7,8.0 | ON | 是 |
loose_thread_pool_oversubscribe | 5.7,8.0 | 16 | 否 |
loose_thread_pool_size | 5.7,8.0 | {MAX(DBInstanceCpu, 2)} | 否 |
loose_kill_idle_transaction | 8.0 | 0 | 否 |
loose_rds_performance_schema | 5.7,8.0 | ON | 是 |
默认的生效范围为所有节点,不支持仅在只读节点修改。
参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
auto_increment_increment | 5.7,8.0 | 1 | 否 |
auto_increment_offset | 5.7,8.0 | 1 | 否 |
collation_server | 5.7,8.0 | utf8_general_ci | 是 |
lower_case_table_names | 5.7 | 1 | 是 |
max_execution_time | 5.7,8.0 | 0 | 否 |
replica_net_timeout | 8.0 | 60 | 否 |
replica_type_conversions | 8.0 | - | 否 |
relay_log_recovery | 5.7,8.0 | ON | 是 |
source_verify_checksum | 8.0 | OFF | 否 |
sql_safe_updates | 5.7,8.0 | OFF | 否 |
sync_source_info | 8.0 | 10000 | 否 |
tls_version | 5.7 | TLSv1,TLSv1.1,TLSv1.2 | 是 |
innodb_large_prefix | 5.7 | ON | 否 |
default_time_zone | 5.7,8.0 | +08:00 | 是 |
sql_mode | 5.7,8.0 | ONLY_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_SIZE | 5.7,8.0 | 8192 | 否 |
THREAD_STACK | 5.7,8.0 | 1048576 | 是 |
INNODB_BUFFER_POOL_SIZE | 5.7,8.0 | {DBInstanceMemory*1/2} | 否 |
TRANSACTION_PREALLOC_SIZE | 5.7,8.0 | 4096 | 否 |
MAX_ALLOWED_PACKET | 5.7,8.0 | 1073741824 | 否 |
QUERY_ALLOC_BLOCK_SIZE | 5.7,8.0 | 8192 | 否 |
MAX_HEAP_TABLE_SIZE | 5.7,8.0 | 67108864 | 否 |
NET_BUFFER_LENGTH | 5.7,8.0 | 16384 | 否 |
QUERY_PREALLOC_SIZE | 5.7,8.0 | 8192 | 否 |
RANGE_ALLOC_BLOCK_SIZE | 5.7,8.0 | 4096 | 否 |
QUERY_CACHE_SIZE | 5.7 | 0 | 否 |
block_size
为 128
参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
JOIN_BUFFER_SIZE | 5.7,8.0 | {LEAST(DBInstanceMemory/1048576*128, 262144)} | 否 |
block_size
为 100
参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
KEY_CACHE_AGE_THRESHOLD | 5.7,8.0 | 300 | 否 |
block_size
为 512
参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
KEY_CACHE_BLOCK_SIZE | 5.7,8.0 | 1024 | 否 |
block_size
为 4096
参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
READ_BUFFER_SIZE | 5.7,8.0 | {LEAST(DBInstanceMemory/1048576*128, 262144)} | 否 |
BINLOG_CACHE_SIZE | 5.7,8.0 | 2097152 | 否 |
BINLOG_STMT_CACHE_SIZE | 5.7,8.0 | 32768 | 否 |
MAX_BINLOG_CACHE_SIZE | 5.7,8.0 | 18446744073709547520 | 否 |
MAX_BINLOG_STMT_CACHE_SIZE | 5.7,8.0 | 18400000000000000000 | 否 |
innodb_temp_data_file_path
参数的设定限制参数名 | 实例版本 | 参数默认值 | 是否需要重启 |
---|---|---|---|
innodb_temp_data_file_path | 5.7,8.0 | ibtmp1: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_conversions | 5.7 | - | 否 |
init_connect | 5.7,8.0 | - | 否 |
sql_mode | 5.7,8.0 | ONLY_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 | 5.7,8.0 |
| 否 |
innodb_page_cleaners | 5.7,8.0 |
| 是 |
innodb_max_dirty_pages_pct_lwm | 5.7,8.0 |
| 否 |
说明
若参数列表中未找到上述表格中的部分参数,可能是因为您的实例不是最新版本,您可请提交工单联系技术支持处理。
已创建实例且实例处于运行中状态。具体操作,请参见创建实例。
如果您希望在修改参数时为参数配置动态表达式,需确认该参数支持动态配置,并确认该实例应用的参数模板中已为该参数配置了动态表达式。
在顶部菜单栏的左上角,选择实例所属的项目和地域。
说明
如未设置实例的所属项目,本操作应选择项目为账号全部资源。
在左侧导航栏单击实例列表。
在实例列表页面,单击目标实例名称。
在页面上方,单击参数配置页签。
在 MySQL 参数页签,单击批量修改参数,参考目标参数的取值范围,在目标参数的运行值列输入新的运行值或表达式。
说明
单击撤销上一步取消当前参数的修改。可多次单击撤销上一步撤销之前的多次修改。
修改完成后,单击页面左上方的提交,在弹出的确认参数变更对话框单击确定。
说明
您可以同时更改多个参数一并提交修改。更多详情,请参见批量修改参数。
对于双节点实例,您可在确认参数变更对话框中设定参数修改的生效范围,如所有节点、仅主备、仅只读或指定只读节点。当实例有多个只读节点,且只希望参数修改在部分只读节点生效时,可选择修改范围为指定只读节点,在只读节点列表中勾选目标只读节点。
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 数据库整体表名和列名的大小写敏感性,建议在修改该参数之前,先备份数据。关于如何备份数据,请参见手动创建备份。
可登录数据库工作台,使用 SQL 语句 SHOW variables like '参数名'
查看。