天天看点

MySQL5.7.10多元复制功能搭建MySQL5.7.10多元复制功能搭建

1.环境:centos6.5

[root@mysql-m1 mysql-5.7.10]# cat /etc/redhat-release 

CentOS release 6.5 (Final)

主机:

现在是mysql-m1数据库已经搭建好,我使用自己的虚拟机进行clone 就省去多次安装数据库。

2.确保两个主库的server_id log-bin 开启 并且三个库的server_id 不同:

3.master上创建测试库和表:

3.1登陆数据库mysql-m1创建库test01 和表h1:

[root@mysql-m1 tmp]# mysql -uroot -p -S /tmp/mysql.sock

3.2登陆数据库mysql-m2创建库test01 和表和h2:

以下不停库锁表,自动切割bin-log日志,全量备份bin-log,导入从库中(此方法只适合5.5版本以下的数据库备份,不适合5.7版本的数据库备份,有待验证)(不是这篇文档的步骤)

适合5.7版本的多元同步的数据库备份(不同的表同步到一个数据库中):

4.slave上操作:

分别在Slave上把Master_1和Master_2的数据导入Slave服务器,在导入前先修改从库的MySQL存储master-info和relay-info的方式,即从文件存储改为表存储,在my.cnf里添加以下选择:(注意此修改的是从库)

或者再MySQL从库命令行操作:

把数据导入数据库:

[root@mysql-s tmp]# mysql -uroot -p -S /tmp/mysql.sock </tmp/m2.sql

[root@mysql-s tmp]# mysql -uroot -p -S /tmp/mysql.sock </tmp/m1.sql

5.在mysql-m1和mysql-m2上创建复制账号:

这个操作跟MySQL 5.7之前版本一样:

在mysql-m1上创建

在mysql-m2上创建

6.在slave从库上操作进行change master :

[root@mysql-s ~]# mysql -uroot -p123456 -S /tmp/mysql.sock -e "SHOW SLAVE STATUS FOR CHANNEL 'mysql-m1'\G"|egrep "Slave_IO_Running|Slave_SQL_Running"

mysql: [Warning] Using a password on the command line interface can be insecure.

Slave_IO_Running: Connecting (报错) 此处为yes才是正常的

Slave_SQL_Running: Yes

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

7.同步报错解决方法:

7.1.看错误日志:

[root@mysql-s ~]# cat /aliyun/data/mysql/mysql_3306.err

7.2.检查防火墙是否关闭:

(从库本地和主库本地的防火墙)

7.3. 修改/ect/my.cnf中server_id 未生效:

7.4.但是还是报错:

原因是mysql-s 虚拟机是基于mysql-m1的虚拟机克隆过来的,mysqlm1上的文件auto.cnf和mysql-s /mysql=m2上文件的auto.cnf 是一样的,所以报错

可以通过查看performance_schema相关的表查看同步状态,执行命令:

mysql> stop slave;(停止时必须同时开启各个slave,否则不能同步)

8.MySQL 5.7的多源复制用处:

8.1、MySQL 5.7的多源复制,能有效的解决分库分表的数据统计问题,同时也可以实现在一台从服务器对多台主服务器的数据备份。

8.2、MySQL 5.7的多源复制的出现,我们就不需要使用MariaDB 的多主一从的架构了,让很多小伙伴又看到了新的希望。

参考资料:

<a href="http://dev.mysql.com/doc/refman/5.7/en/change-master-to.html">http://dev.mysql.com/doc/refman/5.7/en/change-master-to.html</a>

<a href="http://www.longlong.asia/2015/10/21/mysql57-new-features.html">http://www.longlong.asia/2015/10/21/mysql57-new-features.html</a>

MySQL-5.7文档看考资料:

<a href="http://www.cnblogs.com/xuanzhi201111/p/5148113.html">http://www.cnblogs.com/xuanzhi201111/p/5148113.html</a>

mysql多元复制资料地址

<a href="http://www.mamicode.com/info-detail-1189601.html">http://www.mamicode.com/info-detail-1189601.html</a>

mysql 数据库5.7编译安装

 本文转自 wjw555 51CTO博客,原文链接:http://blog.51cto.com/wujianwei/2066178