MySQL最优配置文件·20160901[转载]

  •   
  • 1281
  • mysql
  • 37
  • dodobook
  • 2016/09/26

之前Inside君分享过MySQL 5.6 & 5.7最优配置模板,受到了不少小伙伴的推崇。结合这段时间的生产环境实战经验以及同学们的反馈,故对此配置文件做了一定的调整。

同时,希望小伙伴们能积极转发此文,为打造一个最优MySQL标准配置文档做出自己的贡献。欢迎大家提供反馈意见。

在这份配置文件中,Inside君假设这台服务器的CPU为32 Core,内存为256G,存储为SSD,并且在16K块大小,IOPS可以达到20000。

新的配置文件中额外增加的参数有:

event_scheduler = 1 # 默认启用事件功能
binlog-rows-query-log-events = 1 # 开启RBR模式下SQL记录
log-bin-trust-function-creators = 1 # 避免复制出现一些错误
expire-logs-days = 90 # 提供保留二进制日志的功能
log-slave-updates = 1 # 默认slave开启二进制日志
innodb_stats_persistent_sample_pages = 64 # 提供更文档的优化器执行计
innodb_autoinc_lock_mode = 2 # 提供更好的INSERT并发性能
slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN' # 提供更好的从机回放算法
validate_password_policy=STRONG # 加强密码安全性
validate-password=FORCE_PLUS_PERMANENT # 加强密码安全性
loose_innodb_numa_interleave=1 # 开启BP内存NUMA分配

//本次配置文件最大的改动:
innodb_page_size = 16384

即使SSD存储也不推荐使用8K或者4K的页大小,这样业务可能会存在各种问题。另外,从线上线下的各种测试反馈来看,由于目前单行数据都超过500字节,小页性能不会有更好的表现,甚至可能会非常糟糕的表现。切身之痛,奔雷告知。