Mysql 5.7 数据库复制中的 binlog优化

首先,要说明一些基本问题:

  • MySQL的日志包括错误日志(ErrorLog),更新日志(UpdateLog),二进制日志(Binlog),查询日志(QueryLog),慢查询日志(SlowQueryLog)等;
  • 日志的记录带来的直接性能损耗就是数据库系统中最为昂贵的IO资源;
  • 在Mysql 5.7目前的版本中,binlog文件无法控制具体数量,比如只能产生多少个(但在Percona Server for Mysql 中,的确有一个设置选项: Variable max_binlog_files ported from Percona Server 5.6.);
  • 存储引擎也可能有具体的优化设置,如Innodb的“innodb_locks_unsafe_for_binlog”;

然后,着重记录三个选项:

1,限制binlog文件的大小

max_binlog_size

PropertyValue
Command-Line Format --max-binlog-size=#
System Variable max_binlog_size
Scope Global
Dynamic Yes
Type integer
Default 1073741824
Minimum 4096
Maximum 1073741824

 

 

 

 

 

 

 

 

 

 

2,设置日志保留时长

expire_logs_days = 7

 

 

3,在日志文件写入磁盘之前,控制日志的提交数量

sync_binlog

PropertyValue
Command-Line Format --sync-binlog=#
System Variable sync_binlog
Scope Global
Dynamic Yes
Type integer
Default (>= 5.7.7) 1
Default (<= 5.7.6) 0
Minimum 0
Maximum 4294967295

 

 

 

 

 

 

 

 

 

 

参考 

1,16.1.6.4 Binary Logging Options and Variables 二进制日志记录选项和变量

 https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html

2, mysql日志设置优化

https://www.cnblogs.com/ggjucheng/archive/2012/11/15/2771535.html

 

 

 

posted @ 2018-03-21 10:18  Nengka  阅读(1106)  评论(0编辑  收藏  举报