标签:binlog mysql
具体参数如下:
1.server-id=ID
服务的唯一ID
2.log_bin=/mydata/binlog/mysql-bin
二进制日志的位置和命名方式
3.binlog_format={ROW|STATEMENT|MIXD}
ROW格式:记录数据更新的每一行数据的变更.当遇到alter,update整个字段的是值这样的语句,会使得二进制日志的文件庞大无比.影响了系统的IO性能.但是会保证数据的一致性.
STATEMENT格式:记录的只是导致数据变更的更新语句.但是有可能导致数据不一致.
MIXD:两种格式的混合.
4.binlog_cache_size
全局变量
在事务过程中,用来保存SQL语句的缓存大小.使用二进制日志的缓存前提是MYSQL服务器采用了支持事务的存储引擎,并且开启了log_bin日志.该参数会为每个客户端连接分配binlog_cache_size大小得缓存.
若用户频繁使用多语句的事务的情况下,可以增大binlog_cache_size的大小.
查看binlog_cache_size是否合理
mysql> show status like ‘binlog%‘; +----------------------------+-------+ | Variable_name | Value | +----------------------------+-------+ | Binlog_cache_disk_use | 1 | | Binlog_cache_use | 33 | +----------------------------+-------+
binlog_cache_use:使用二进制日志缓存的事务数量
binlog_cache_disk_use:使用二进制日志缓存但超过binlog_cache_size值并使用临时文件来保存事务中的语句的事务数量
两种情况:
(1)业务不存在大事务()
binlog_cache_size=1M
(2)业务不存在小事务(2M-4M)
binlog_cache_size=2M
5.sync_binlog={0|n}
0:表示事务提交后,不会立即将binlog_cache中的数据刷新到磁盘上.刷新时间是由文件系统自身更新,或者binlog_cache饱和了,才会将cache中的数据刷到磁盘上.
n:表示事务提交n次后,才会将binlog_cache中的数据刷新到磁盘上.该值设置为1最安全,因为最坏情况,值会丢一个事务.
6.max_binlog_size
二进制日志文件的最大容量.一般为512M或者1G.
7.binlog_do_db
设置哪些数据库需要记录到binlog.只在master上配置.
8.binlog_ignore_db
哪些数据库不需要记录binlog.只在master上配置.
9.replicate_do_db
设置哪些数据库需要同步binlog,若有多个数据库,请用逗号(,)隔开,只在slave上配置.
10.replicate_ignore_db
设置哪些数据库不需要同步binlog,若有多个数据库,请用逗号(,)隔开.只在slave上配置.
11.expire_logs_days
二进制日志缓存最长时间
本文出自 “不求最好,只求更好” 博客,请务必保留此出处http://yujianglei.blog.51cto.com/7215578/1727973
标签:binlog mysql
原文地址:http://yujianglei.blog.51cto.com/7215578/1727973