大佬教程收集整理的这篇文章主要介绍了MySQL 5.7多源复制实践,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
《MysqL 5.7多源复制实践》要点:
本文介绍了MysqL 5.7多源复制实践,希望对您有用。如果有疑问,可以联系我们。
首先,我们需要清楚几种常见的复制模式:
1)一主一从
2)一主多从
3)级联复制
4)multi-master
首先,我们需要清楚 @H_902_24@multi-master 与 @H_902_24@multi-source 复制不是一样的.@H_902_24@multi-master 复制通常是环形复制,你可以在任意主机上将数据复制给其他主机.
@H_902_24@multi-source 是不同的.简单的说,多源复制就是将多个主库同步到一个从库上面,从而增加从的利用率,节省了机器.如下图:
不管是使用基于二进制日志的复制或者基于事务的复制,要开启多源复制功能必须需要在从库上设置 @H_902_24@master-info-repository 和 relay-log-info-repository
这两个参数.
这两个参数是用来存储同步信息的,可以设置的值为 FILE
和 TABLE
,默认值是 FILE
.比如 @H_902_24@master-info 就保存在 @H_902_24@master.info 文件中,relay-log-info
保存在 relay-log.info
文件中,如果服务器意外关闭,正确的 relay-log-info
没有来得及更新到 relay-log.info
文件,这样会造成数据丢失.
为了数据更加安全,通常设为 TABLE
.这些表都是 innodb
类型的,支持事务.相对文件存储安全得多.在 MysqL 库下可以看见这两个表信息,分别是 @H_902_24@mysql.slave_master_info 和 @H_902_24@mysql.slave_relay_log_info.
这两个参数也是可以动态调整的.
如果要启用 enhanced multi-threaded slave
(多线程复制),可以设置以下参数
如果SLAVE已经为开启状态,那么需要首先关闭SLAVE(STOP SLAVE;).
这里一共使用了三台机器,MysqL版本都为5.7.18.
更多软件源可参考:http://dev.Mysql.com/downloads/repo/apt/
,如果是 CentOS/RHel
系统可参考官方文档:https://dev.Mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
配置 MysqL 多源复制,主要是需要在 MysqL 从服务器的主配置文件 [MysqLd]
段中添加以下两行:
以 dev-master-01
为例,另一台 Master 也是类似的配置方法.
注:server-id
每台必须配置为不一样,比如 dev-master-01
为1,dev-node-01
为2,dev-node-02
为3.这里没有给出全部配置,其它请根据实际情况自行配置.
在两台 MysqL Master 上创建
IO_THREAD
.对于每一个主服务器,我们需要运行不同的 CHANGE MASTER
命令和FOR CHAnnEL
这个参数来分别提供不同通信链接名字.
下面开始设置需要同步的源,同步两个主服务器的数据到从服务器上.
设置同步源到 Master1 (在 MysqL 从服务器上执行)
设置同步源到 Master2 (在 MysqL 从服务器上执行)
启动所有SLAVE
也可以单独启动需要同步的通道.
停止和 RESET 复制的命令也同 START 类似,可以操作所有的,也可以操作单个通道.
查看SLAVE信息
确认 Slave_IO_Running
和 Slave_sql_Running
两个参数都为 Yes 状态.
如果要查看单一信道的复制的详细状态,可以使用以下命令:
列出所有的复制信道的复制状态概况:
在 perfoRMANce_scheR_634_11845@a
库中,提供了复制相关的一些视图,可供查看复制相关的信息.
这些表里分别有多源通道的配置信息和多源通道的状态信息,另外还有连接配置信息和连接状态信息,如果配置了多线程复制的话,还会有多线程配置信息和多线程状态信息.
文章来源微信公众号:运维之美
以上是大佬教程为你收集整理的MySQL 5.7多源复制实践全部内容,希望文章能够帮你解决MySQL 5.7多源复制实践所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。