实验:三台主机实现级联复制
第一步:执行vim /etc/my.cnf
在8主机输入如下图
[mysqld]
server-id=8
log-bin
然后执行systemctl restart mariadb 重启mariadb
进入mysql 执行 show master logs;
记录下二进制文件:mariadb-bin.000001 | 330 (18级联slave要用)
创建用户和授权
MariaDB [(none)]> grant replication slave on *.* to repluser@'10.0.0.%' identified by '123456';
(在8.0里面是分两步执行)
在18的级联slave下
[mysqld]
server-id=18
log-bin
log-slave_updates #级联复制中间节点的必选项,MySQL8.0此为默认值,可以不要人为添加
设置好以后执行systemctl restart mariadb
进入mysql
获取二进制文件mariadb-bin.000001 | 330 (28slave要用)
在28slave上
[mysqld]
server-id=28
然后执行systemctl restart mariadb
第二步:执行CHANGE MASTER
8作为master服务器不需要设置
18上执行:
CHANGE MASTER TO
MASTER_HOST=‘10.0.0.8’, #这里是8主机的ip
MASTER_USER=‘repluser’,
MASTER_PASSWORD=‘123456’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘mariadb-bin.000001’, #这里是8主机的二进制文件
MASTER_LOG_POS=330;
然后开启slave: start slave;
28级联slave上执行:
CHANGE MASTER TO
MASTER_HOST=‘10.0.0.18’, #级联slave的ip
MASTER_USER=‘repluser’,
MASTER_PASSWORD=‘123456’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘mariadb-bin.000001’, #级联slave的二进制文件
MASTER_LOG_POS=330;
第三步:查询18的slave和28的slave状态; show slave status\G;
18的级联slave状态
28的slave状态
第四步:测试级联是否完成
在master上创建数据
执行create database db1和db2;
在18级联slave上查看;
在28slave上查看;
至此 级联设置完成
谢谢观赏