云计算运维

Windows Server 2003 - Windows Server 2019 系统工具,Linux系统脚本,Mysql、Nginx、PHP、Redis、K8S、Seafile、Weblogic 、Jenkins、DNS、DHCP、FTP、IIS、Zookeeper、Rabbitmq、Oracle、Tomcat、Mavrn等服务搭建维护,请关注我.

MariaDB 级联复制


上篇文章中(MariaDB主从复制)完成了⼀主⼀从的 MariaDB 主从复制架构,但是有的时候,我们期望有⼀个后备的 MariaDB 节点,只⽤作备份存储数据,不需要对外提供服务。为了实现该功能,我们可以在之前的⼀主⼀从架构上进⾏调整,即将从节点的⼆进制⽂件打开,然后给他配置⼀个远程同步数据⽤户,接着使⽤⼀台新的服务器做为从服务器的 slave,同步从服务器的数据即可, 下⾯我们在原来的架构上 添加⼀台新的 CentOS7.6,作为 slave2,ip地址为192.168.99.20

1.准备一台名称为 slave-2 的mysql服务器

创建⼀台新的服务器,安装和 master 和 slave-1 同版本的 MariaDB 服务

2.修改slave-1的配置文件

# 打开⼆进制⽇志⽂件和⼆进制同步给⾃⼰的 slave 的功能,重启 MariaDB 服务
shell> vim /etc/my.cnf.d/server.cnf
[mysqld]
server_id=2
log_bin
log_slave_updates
read_only
# 重启
shell> systemctl restart mysql
# 创建⼀个 replslave 账号⽤于同步数据
mysql> grant replication slave on *.* to replslave@'192.168.99.%' identified by '123456';
# ⼆进制⽂件名称和大小
mysql> show master logs;
+--------------------+-----------+
| Log_name           | File_size |
+--------------------+-----------+
| slave-1-bin.000001 |       532 |
+--------------------+-----------+

3.修改slave-2的配置文件

shell> vim /etc/my.cnf.d/server.cnf
[mysqld]
server_id=3
read_only
shell> systemctl start mysql

4.配置复制线程

# 使用有复制权限的用户账号连接至主服务器,并启动复制线程
CHANGE MASTER TO
  MASTER_HOST='192.168.99.10',
  MASTER_USER='replslave',
  MASTER_PASSWORD='123456',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='slave-1-bin.000001',
  MASTER_LOG_POS=532;

5.启动复制线程

mysql> start slave;

6查看复制进程是否成功

mysql>  show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.99.10
                  Master_User: replslave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: slave-1-bin.000001
          Read_Master_Log_Pos: 532
               Relay_Log_File: slave-2-relay-bin.000002
                Relay_Log_Pos: 557
        Relay_Master_Log_File: slave-1-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

当Slave_IO_Running 和 Slave_SQL_Running 为yes时表示mysql级联复制成功

  • 分享:
评论
还没有评论
    发表评论 说点什么