且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MySQL 级联复制(A->B->C)

更新时间:2022-10-05 08:15:17

这次的级联复制是在上一篇 MySQL 的主从基础上操作的。除了这个主从之外还需要有一台安装好 MySQL 的服务器,保证是可以正常登陆运行的。

MySQL 主从搭建,参考文章:http://aby028.blog.51cto.com/5371905/1892939

MySQL 二进制包安装,参考文章:http://aby028.blog.51cto.com/5371905/1892818

 

什么是级联复制?

简单理解就是 A->B->C , B 是 A 的从,C 是 B 的从。多用于主从的替换,就是 A 下马了,B,C 顶上。

 

环境介绍:

Blog-MySQL-1:master       IP:192.168.133.128      

Blog-MySQL-1: slave             IP:192.168.133.132

MySQL-2:slave                     IP:192.168.133.130

三台机器由上至下分别是:主,从,新创建的 mysql 服务器,没有任何配置

 

首先需要编辑 133.132 的 my.cnf 文件,做为主从环境中的从,是不需要记录 binlog,但是想要实现级联,它就必须开启了。

vim /etc/my.cnf         # 在 133.132 上操作

log-bin = mysql-bin

log-slave-updates

expire_logs_days = 7

MySQL 级联复制(A->B->C)

以上参数介绍

log-bin = mysql-bin          #这个之前介绍过,要想实现级联,必须开启

log-slave-updates           #这个选项跟上面一样,没有为啥必须开启

expire_logs_days = 7       #表示自动删除7天前的log文件

 

修改 my.cnf 后需要重启 mysqld

/etc/init.d/mysqld restart     

MySQL 级联复制(A->B->C)

 

登陆 133.132 的 mysql,进行锁表,并查看 binlog 文件名和 pos 位置节点

flush table with read lock;

show master status;

MySQL 级联复制(A->B->C)

 

另外在开一个远程端口,进行数据的备份并远程传送给 C (133.130)

mysqldump -uroot -p123456 --events -A -B > /root/test.sql

scp test.sql root@192.168.133.130:/root     

MySQL 级联复制(A->B->C)

 

在 133.130 上将刚才的的 test.sql 文件导入到 mysql 数据库中

mysql -uroot -p123456 < test.sql      

MySQL 级联复制(A->B->C)

 

修改 133.130 的 my.cnf 文件,使其 server-id=3

vim /etc/my.cnf

server-id = 3

MySQL 级联复制(A->B->C)

 

上之前一样,修改了 my.cnf 文件,需要重启mysql

/etc/init.d/mysqld restart     

MySQL 级联复制(A->B->C)

 

登陆 133.130 的 mysql,配置参数

mysql -uroot –p123456

CHANGE MASTER TO

MASTER_HOST='192.168.133.132',       

MASTER_PORT=3306,

MASTER_USER='yuci',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000002',

MASTER_LOG_POS=107

 

返回 133.132 上解表

unlock tables;     

MySQL 级联复制(A->B->C)

 

在 133.130 上 开启 slave,并查看是否正常

MySQL 级联复制(A->B->C)

 

在 133.128 上登陆数据库,创建一个名为 yucitest 的数据库,查询其余的两台机器是否正常

create database yucitest;

show databases;

MySQL 级联复制(A->B->C)

MySQL 级联复制(A->B->C)MySQL 级联复制(A->B->C)

本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1893197