mysql5.7主从复制中重点参数配置详解

mysql主从复制中重点参数配置详解

mysql5.7主从复制中重点参数配置详解


log-bin :

搭建主从复制,必须开启二进制日志

server-id:

mysql在同一组主从结构中的唯一标识,各个服务器必须不同

server-uuid:

从mysql5.6开始有了该参数,在数据库启动过程中自动产生,每个机器都不一样, uuid存放在auto.cnf文件中

read only

设置从库只读状态,避免在从库上写操作,但该指令对超级管理员是无效的,mysql5.7增加了一个新的参数super_read_only,该参数使得超级管理员也无法进行写操作。

binlog_format:

二进制日志的格式,这里必须是row模式

log_slave_updates:

将从主库获得的变更信息在重新写入从库的binlog日志中。

log_error_action:

该参数用来控制当不能写binlog文件时候,mysql将会怎么样,该参数是mysql5.7之后新增的。有abort_server 和 ignore_error, abor_server代表当mysql在写binlog时候遇到磁盘慢或文件系统不可用时退出;而ignore_error 则表示遇到binlog无法写入时候,mysql会在错误日志中记录错误,并且还会强制关闭binlog功能,这样会影响从库从主库上获取日志的功能,导致主从库数据不一致,mysql5.7之后默认使用abort_server

binlog-do-db:

使用该参数可选择性复制数据库(主库上设置),如binlog-do-db=ceshi,则意味着只同步ceshi库,其他库是不进行复制同步的。

gtid_mode:

决定gtid模式是否开启,如果使用gtid复制模式,则必须 gtid_mode=on

enforce-gtid-consistency:

使用gtid模式时候,要开启该参数,保证gtid的一致行enforce-gtid-consistency=on

gtid_next

该参数是session级别的变量,下一个gtid。默认值是automatic

gtid_purged:

丢弃的gtid

relay_log:

记录从主库的I/O dump thread过来binlog内容

replicate_do_table:

只复制指定的表,在从库上使用

replicate_ignore_table:

需要在复制中忽略的表,在从库上设置使用

replicate_ignore_db:

忽略复制的库,从库上设置使用

replicate_do_db:

只进行复制的库,从库上设置使用

replicate_wild_do_table:

使用通配符指定需要复制的表,如zs库下tt开头的表,则为

--replicate_wild_do_table=zz.tt%

replicate_wild_ignore_table:

使用通配符指定需要忽略的表

master_info_repository:

把master.info(主从状态,配置信息)记录下来,默认记录到file里面,建议使用表记录

master_info_repository=table

relay_log_recovery:

为了让从库是crash safe的必须要设置relay_log_recovery=1,该参数的的含义是:当从库发生崩溃或重启时,它会把那些为做完的中继日志删除,并向主库重新获取日志,再次产生中继日志的恢复,建议在从库上开启relay_log_recovery参数,默认是关闭的

relay_log_purge:

清除已经执行过的relay log,建议从库上开启

slave_net_timeout:

该参数是设置多少秒没从主库上获得binlog之后,从库认为是超时,从库 I/O thread会重新连接主库,该值从mysql5.7.7开始默认值是60s

slave_parallel_type:

该参数从msyql5.7.2引入的,有两个值,一个是database,另一个是logical_clock,在mysql5.7之后引入了基于组提交的并行复制,通过设置参数 slave_parallel_workers>0 并且slave_parallel_type='LOGICAL_CLOCK'实现

slave_parallel_workers:

设置多个进程来并发的执行relay log中主库提交的事务,最大值为1024


分享到:


相關文章: