zoukankan      html  css  js  c++  java
  • Mariadb或者Msql实现级联复制架构方案

    三台Centos8主机实现级别复制 10.0.0.8:Master 10.0.0.18:Slave1 10.0.0.28:Slave2

    全部安装Mariadb:yum -y install mariadb-server

    在Master实现
    [root@master ~]# vim /etc/my.cnf.d/mariadb-server.cnf
    ##[mysqld]中 添加
    server-id=1
    log-bin

    [root@master ~]# systemctl start mariadb
    [root@master ~]# mysql
    MariaDB [(none)]> show master logs;
    +--------------------+-----------+
    | Log_name | File_size |
    +--------------------+-----------+
    | mariadb-bin.000001 | 28198 |
    | mariadb-bin.000002 | 344 |
    +--------------------+-----------+
    2 rows in set (0.000 sec)

    MariaDB [(none)]> grant replication slave on*.* to repluser@'10.0.0.%' identified by 'tianze';
    Query OK, 0 rows affected (0.000 sec)

    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.000 sec)

    [root@master ~]# mysqldump -A -F --single-transaction --master-data=1 > /data/all_`date +%F`.sql

    [root@master ~]# scp /data/all_2020-09-03.sql 10.0.0.18:/data
    [root@master ~]# scp /data/all_2020-09-03.sql 10.0.0.28:/data

    在中间级联Slave1实现
    [root@slave1 ~]# vim /etc/my.cnf.d/mariadb-server.cnf
    ##[mysqld]中 添加
    server-id=2
    log-bin
    read-only
    log_slave_updates ##级联复制中间节点的必选项

    [root@slave1 ~]# systemctl start mariadb

    ##还原数据库
    [root@slave1 ~]# vim /data/all_2020-09-03.sql
    CHANGE MASTER TO MASTER_HOST='10.0.0.8',MASTER_USER='repluser',MASTER_PASSWORD='tianze',MASTER_PORT=3306,MASTER_LOG_FILE='mariadb-bin.000003', MASTER_LOG_POS=389;
    [root@slave1 ~]# mysql
    MariaDB [(none)]> set sql_log_bin=0;
    Query OK, 0 rows affected (0.000 sec)
    MariaDB [mysql]> source /data/all_2020-09-03.sql
    MariaDB [mysql]> show master logs; ## 记录二进制日志给第三个节点同步使用
    +--------------------+-----------+
    | Log_name | File_size |
    +--------------------+-----------+
    | mariadb-bin.000001 | 28198 |
    | mariadb-bin.000002 | 663 |
    +--------------------+-----------+
    2 rows in set (0.000 sec)


    MariaDB [mysql]> set sql_log_bin=1; ##恢复开启二进制日志
    MariaDB [mysql]> start slave; ##开启同步
    MariaDB [mysql]> show slave statusG ##查看同步状态

    在第三个节点配置
    [root@slave2 ~]# vim /etc/my.cnf.d/mariadb-server.cnf
    ##[mysqld]中 添加
    server-id=3
    read-only

    [root@slave2 ~]# systemctl start mariadb.service
    [root@slave2 ~]# vim /data/all_2020-09-03.sql

    CHANGE MASTER TO MASTER_HOST='10.0.0.18',MASTER_USER='repluser',MASTER_PASSWORD='tianze',MASTER_PORT=3306,MASTER_LOG_FILE='mariadb-bin.000002', MASTER_LOG_POS=663;


    [root@slave2 ~]# mysql
    MariaDB [(none)]> source /data/all_2020-09-03.sql
    MariaDB [mysql]> start slave; ##开启同步
    MariaDB [mysql]> show slave statusG ##查看同步状态


    ##测试同步 在第一个master创建数据库
    MariaDB [(none)]> create database test;
    Query OK, 1 row affected (0.000 sec)

    在第三个节点查看数据库,发现已经同步,配置完成
    MariaDB [mysql]> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | test |
    | information_schema |
    | mysql |
    | performance_schema |

     

    把生命浪费在美好的事物上
  • 相关阅读:
    MySQL之ORM
    MySQL之索引补充
    MySQL存储过程
    c primer plus 7编程练习
    c语言中统计单词数目程序
    c语言统计输入字符数及行数
    c语言中getchar()、putchar()函数例子
    c primer plus 6编程练习
    c语言 %c 一次输出多个字符 (特殊程序)
    c语言 复合赋值运算符的优先级低于算术运算符
  • 原文地址:https://www.cnblogs.com/tz66/p/13606617.html
Copyright © 2011-2022 走看看