数据库主从相关配置参数说明

  1. replicate_wild_do_table

这个参数的意思是只执行某个库或某个表的同步语句,其他库和表都不处理,从而达到选择性复制业务库的目的,这就不会有无用的数据了,也不会互相干扰。官方文档解析只能一个参数标记一个库,而且这个参数是全局通用,也就是说多源复制下,所有源频道都通用这个配置。

  1. read-only

开启只读read-only就不用多说了,多源复制一般就只有读的需求,就不要让他们有写库的可能了。

  1. slave_parallel_workers

并发复制多线程slave_parallel_workers是5.6,5.7新出的功能,能有效加快复制的效率,特别5.7是支持事务并发复制的,速度相当可观,这里设置了每个复制连接有4个并发线程。

  1. slave_parallel_type

而slave_parallel_type是选择并发复制方式,默认是为了兼容5.6以库模式的并发复制,这里是改成5.7新出的以组提交事务的方式并发复制,并发效果更佳,但是要特别注意如果主从服务器数据库版本不一致的话,最好还是不要改,因为只有mysql5.7是默认开启组提交功能的。

#清空所有主从结构的记录
reset slave all;

#启动/关闭所有源频道
start/stop slave;

#启动/关闭单一的源频道
start/stop slave for channel 'al_RDS';

#当然重置也是可以单独频道的
#RESET SLAVE FOR CHANNEL 'al_RDS';

#查看状态也是可以单独的,不指定就是全部了
#show slave status for channel 'al_RDS';

# 查看从库状态
mysql> show slave status \G
  1. 传统模式

不用设置GTID的值,类似下面这样指定log文件名和pos即可,不用设置SET @@GLOBAL.GTID_PURGED就可以启动。

#设置频道一
change master to
master_host='10.2.0.5',
master_user='rep',
master_password='123123',
master_port=3306,
MASTER_LOG_FILE='mysql-bin.001284',
MASTER_LOG_POS=3954096
FOR CHANNEL 'al_RDS';
#设置频道二
change master to
master_host='10.2.0.6',
master_user='rep',
master_password='123123',
master_port=3306,
MASTER_LOG_FILE='mysql-bin.000014',
MASTER_LOG_POS=67456
FOR CHANNEL 'me_mysql';
#启动
start slave;

# 查看log文件名和pos
mysql> show master status \G
*************************** 1. row ***************************
             File: mysql-bin.000003
         Position: 684
     Binlog_Do_DB: test4
 Binlog_Ignore_DB: mysql,information_schema,performation_schema,sys
Executed_Gtid_Set: 
1 row in set (0.00 sec)
  • 如果多个主数据库实例中存在同名的库,则同名库的表都会放到一个库中;
  • 如果同名库中的表名相同且结构相同,则数据会到一起;如果结构不同,则先建的有效。

猜你喜欢

转载自www.cnblogs.com/sanduzxcvbnm/p/11639988.html