云数据库 MySQL 于2021年12月08日起,进行参数相关能力和发货流程的优化。本次优化涉及参数模板创建、参数对比、参数模板应用、参数修改等能力、可修改参数以及新购实例优化的更新。
说明
参数相关能力仅适用于双节点和三节点的 MySQL 5.6、MySQL 5.7、MySQL 8.0 版本。
新购实例优化
相较于原有新购实例流程,取消了初始化过程,在新购页面支持选择字符集、表名大小写敏感、填写数据库访问端口、root 密码。
参数相关优化
参数应用
部分参数支持公式进行定义,该类参数可以跟随规格的变化而变化,使得数据库始终运行在最佳配置下。
表达式语法的相关支持详见下表。
支持类别 | 说明 | 样例 |
变量 | DBinitMemory:实例规格的内存大小,整数型。例如,实例规格的内存大小为4000MB,则 DBinitMemory 的值为4000。 DBInitCpu:实例规格的 CPU 核数,整数型。 说明云数据库 MySQL 的 innodb_buffer_pool_size 参数设置必须保持在内存大小的50% - 90%之间,当设置的数值大于90%时,会自动设置为90%;当设置的数值小于50%时,会自动设置为50%。 | {DBinitMemory * 786432} 即:内存大小(DBinitMemory)* 百分比(系统默认为75%)* 1024 * 1024(单位换算) |
运算符 | 公式语法:使用 {} 包裹。 除法运算符(/):用被除数除以除数,返回整数型商。如果计算结果为小数,会截断取整数部分。不支持小数,例如系统支持 {MIN(DBInitMemory/4+500,1000000)},不支持 {MIN(DBInitMemory*0.25+500,1000000)}。 乘法运算符(*):两个乘数相乘,返回整数型积。如果计算结果为小数,会截断取整数部分。不支持小数运算。 | - |
函数 | 函数 MAX(),返回整数型或者参数公式列表中最大的值。 函数 MIN(),返回整数型或者参数公式列表中最小的值。 | {MAX(DBInitCpu/2,4)} |
参数模板创建
创建参数模板时,由原有的一种模板变为两种模板(高性能参数模板/高稳定性参数模板),新增原始模板类型选项。
各模板参数对比:
差异参数名 | 默认模板 | 高性能参数模板 | 高稳定性模板 |
innodb_read_io_threads | 12 | {MAX(DBInitCpu/2,4)} | {MAX(DBInitCpu/2,4)} |
innodb_write_io_threads | 12 | {MAX(DBInitCpu/2,4)} | {MAX(DBInitCpu/2,4)} |
max_connections | 800 | {MIN(DBInitMemory/4+500,100000)} | {MIN(DBInitMemory/4+500,100000)} |
table_definition_cache | 768 | {MAX(DBInitMemory*512/1000,2048)} | {MAX(DBInitMemory*512/1000,2048)} |
table_open_cache | 2000 | {MAX(DBInitMemory*512/1000,2048)} | {MAX(DBInitMemory*512/1000,2048)} |
table_open_cache_instances | 16 | {MIN(DBInitMemory/1000,16)} | {MIN(DBInitMemory/1000,16)} |
innodb_disable_sort_file_cache | OFF | OFF | ON |
innodb_log_compressed_pages | ON | OFF | ON |
innodb_print_all_deadlocks | OFF | OFF | ON |
sync_binlog | 0 | 1000 | 1 |
thread_handling | one-thread-per-connection | pool-of-threads | one-thread-per-connection |
innodb_flush_redo_using_fdatasync | FALSE | TRUE | FALSE |
innodb_fast_ahi_cleanup_for_drop_table | FALSE | TRUE | FALSE |
innodb_adaptive_hash_index | FALSE | TRUE | FALSE |
innodb_table_drop_mode | SYNC_DROP | ASYNC_DROP | SYNC_DROP |
innodb_flush_log_at_trx_commit | 2 | 2 | 1 |
可设置参数新增
参数名 | MySQL 5.6 | MySQL 5.7 | MySQL 8.0 |
character_set_client | - | ✓ | - |
default_password_lifetime | - | ✓ | ✓ |
innodb_alter_table_default_algorithm | - | ✓ | - |
innodb_async_truncate_size | - | ✓ | ✓ |
innodb_async_truncate_work_enabled | - | ✓ | - |
innodb_buffer_pool_instances | ✓ | ✓ | ✓ |
innodb_buffer_pool_size | ✓ | ✓ | ✓ |
innodb_default_row_format | - | ✓ | ✓ |
innodb_fast_ahi_cleanup_for_drop_table | - | - | ✓ |
innodb_flush_redo_using_fdatasync | - | ✓ | ✓ |
innodb_page_cleaners | - | ✓ | ✓ |
innodb_table_drop_mode | - | - | ✓ |
innodb_temp_tablespace_fast_cleanup | - | - | ✓ |
internal_tmp_mem_storage_engine | - | - | ✓ |
slave_net_timeout | ✓ | ✓ | - |
slave_parallel_type | ✓ | - | - |
slave_parallel_workers | ✓ | ✓ | ✓ |
sort_buffer_size | ✓ | - | - |
temptable_use_mmap | - | - | ✓ |
thread_handling | ✓ | ✓ | ✓ |
thread_handling_switch_mode | - | - | ✓ |
thread_pool_oversubscribe | ✓ | ✓ | ✓ |
thread_pool_size | - | ✓ | ✓ |
tx_isolation | - | ✓ | ✓ |
各模板性能测试
如何保留默认参数模板
参数对比
提供不同模板之间的参数对比能力,查看不同模板之间的参数差异。
在参数模板页面单击对比,在弹窗中选择想要对比的模板即可,仅支持对比相同版本的数据库模板。结果参考如下: