mysql主从复制级联

该博客详细介绍了如何在三个虚拟机上配置MySQL主从复制的级联结构。10.0.0.8作为主节点,10.0.0.18作为级联从节点,10.0.0.28作为普通从节点。配置过程包括在主节点上修改my.cnf,创建复制用户,备份数据库并分发到从节点。接着在级联从节点18上配置my.cnf,还原数据库,修改MASTER_LOG_FILE和MASTER_LOG_POS。最后,在普通从节点28上进行相同配置,完成级联复制的搭建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

级联需要三个虚拟机
10.0.0.8充当master
10.0.0.18充当级联slave
10.0.0.28充当slave

在master上配置my.cnf

vim /etc/my.cnf

[mysqld]
server-id=8
log-bin  

重启
systemctl restart mariadb

进入mysql创建复制用户

mysql -uroot -p000000

grant replication slave on *.* to test@'10.0.0.%' identified by '000000';

备份mysql所有,并发给两个slave

mysqldump -A -F --single-transaction --master-data=1 > /data/all.sql
scp -r /data/all.sql 10.0.0.18:/data
scp -r /data/all.sql 10.0.0.28:/data

在级联18上操作
在级联18上配置my.cnf

vi /etc/my.cnf
[mysqld]
server-id=18
log-bin
read-only
log_slave_updates  #级联复制中间节点的必选项

重启mysql
systemctl restart mariadb

还原数据库
进入master发过来的文件中修改CHANGE MASTER TO行

vim /data/all.sql
CHANGE MASTER TO
 MASTER_HOST='master节点的iP',  #这里写master节点ip
 MASTER_USER='test',           #这写在master数据库中建立的用户名
 MASTER_PASSWORD='000000',     #这写在master数据库中建立的用户密码
 MASTER_PORT=3306,
 MASTER_LOG_FILE='mysql-bin.000004', 
 MASTER_LOG_POS=523;

进入mysql

set sql_log_bin=0; #临时关闭二进制文件
source /data/all.sql
show master logs;  #这是记录二进制位置,给第三个节点使用
set sql_log_bin=0;
start slave;

在第三个节点slave上实现
配置my.cnf

vim /etc/my.cnf
[mysqld]
server-id=28
read-only

重启mysql
systemctl restart mariadb

修改master发过来的文件

#vim /data/all.sql
CHANGE MASTER TO
MASTER_HOST='中间节点的IP',  #写级联节点的ip
MASTER_USER='test',
MASTER_PASSWORD='000000',
MASTER_PORT=3306,
MASTER_LOG_FILE='mariadb-bin.000002', #写级联节点 show master logs显示的结果
MASTER_LOG_POS=344; #写级联节点 show master logs显示的结果

进入mysql执行
set sql_log_bin=0;
source /data/all.sql
start slave;
show slave status\G; #查看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值