库参数设置

数据库服务提供所创建数据库实例的基本参数设定,可通过控制台操作对这些参数进行查看。

数据库参数是数据库系统运行的关键配置信息,设置不合适的参数值可能会影响业务。

操作步骤

1)在VRDS实例的详细信息页面,选择【参数设置】视图,对某一个参数点击【修改】图标。

2)输入设置值之后点击确认,完成参数的修改。

注意:部分参数修改之后需要手动重启后生效。重启实例会造成连接中断,重启前请做好业务安排,谨慎操作。

参数修改建议

敏感参数修改

“innodb_flush_log_at_trx_commit”

云数据库默认值:“1”。

作用:该参数控制提交操作在严格遵守ACID合规性和高性能之间的平衡。设置为默认值“1”,是为了保证完整的ACID,每次提交事务时,把事务日志从缓存区写到日志文件中,并刷新日志文件的数据到磁盘上;当设为“0”时,每秒把事务日志缓存区的数据写入日志文件,并刷新到磁盘;如果设为“2”,每次提交事务都会把事务日志从缓存区写入日志文件,每隔一秒左右会刷新到磁盘。

影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致数据丢失。

“sync_binlog”

云数据库默认值:“1”。

作用:该参数控制MySQL服务器将二进制日志同步到磁盘的频率。设置为默认值“1”,表示MySQL每次事务提交,binlog同步写入磁盘,是最安全的设置;设置为“0”时,表示MySQL不控制binlog的刷新,由文件系统自己控制其缓存的刷新。此时的性能最好,但风险最大,因为一旦断电或操作系统崩溃,在“binlog_cache”中的所有binlog信息都会被丢失。

影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致binlog丢失。

动态参数修改

  • “bulk_insert_buffer_size”取值范围上限依赖于实例的规格。
  • “innodb_buffer_pool_size” 取值范围上限和默认值依赖于实例的规格。
  • “key_buffer_size” 取值范围上限和默认值依赖于实例的规格。
  • “max_heap_table_size”取值范围上限和默认值依赖于实例的规格。
  • “query_cache_size”取值范围上限和默认值依赖于实例的规格。
  • “sort_buffer_size” 取值范围上限依赖于实例的规格。
  • “max_allowed_packet” 默认值依赖于实例的规格。
  • “max_connections” 默认值依赖于实例的规格,该值设置较小将影响数据库访问。

联动参数修改

  • “innodb_io_capacity”:该参数的取值必须小于等于“innodb_io_capacity_max”的取值。 比如“innodb_io_capacity_max”为“2000”, 则“innodb_io_capacity”最大设置为“2000”。
  • “innodb_buffer_pool_size”: 该参数受“innodb_buffer_pool_chunk_size ”* “innodb_buffer_pool_instances”的影响,为两参数乘积的整数倍向上取值。 比如“innodb_buffer_pool_chunk_size”为“134217728”,“ innodb_buffer_pool_instances”为“1”,那“innodb_buffer_pool_size”必须大于等于“134217728”。