zoukankan      html  css  js  c++  java
  • mariadb 主从复制

    1.准备两台服务器

    利用docker-compose容器编排创建两台服务器,创建docker-compose.yml文件。

    version: "3"
    services:
      mariadb-master:
        image: "mariadb:latest"
        restart: always
        ports:
          - 3307:3306
        environment:
          MYSQL_ROOT_PASSWORD: root
        volumes:
          - /home/my.cnf:/etc/mysql/my.cnf
    
      mariadb-slave:
        image: "mariadb:latest"
        restart: always
        ports:
          - 3308:3306
        environment:
          MYSQL_ROOT_PASSWORD: root
        volumes:
          - /home/my1.cnf:/etc/mysql/my.cnf
    

    执行docker-compose命令创建mariadb容器

    docker-compose up -d

    执行完成后会创建一个主从数据库容器。使用docker ps -a查看运行状态。

    2.设置主服务器和从服务器mariadb配置

    主服务器my.cnf文件中加入如下配置

    server-id               = 1
    log_bin                 = /var/log/mysql/mariadb-bin
    

    从服务器my.cnf文件中配置

    server-id               = 2

    3.查看主服务器是否开启log_bin日志

    进入主服务器容器

    docker exec -it home_mariadb-master_1 /bin/bash
    

    进入mariadb数据库

    mysql -uroot -proot
    

    查看log_bin是否开启,执行“show variables like '%log_bin%';”

    授权用户读取bin日志

    GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY 'salve'; 
    

    查看主服务器BIN日志的信息

    show master status;
    

    记录file和Position信息,用于配置从服务器。

    进入从服务器,执行如下命令。

    CHANGE MASTER TO 
    MASTER_HOST='172.18.0.2', --主服务器端口
    MASTER_PORT=3306 , --主服务器对外暴露的端口
    MASTER_USER='root',
    MASTER_PASSWORD='root' ,
    MASTER_LOG_FILE='mariadb-bin.000003',
    MASTER_LOG_POS=532;
    

    查看是否配置成功

    show slave statusG;
    

    当Slave_IO_Runing,Slave_SQL_Running都显示yes时,主从复制配置成功。

  • 相关阅读:
    ElasticSearch工作原理
    prometheus监控es集群
    es索引调优
    ES中Refresh和Flush的区别
    网络服务器技术Apache与Nginx,IIS的不同
    shell里/dev/fd与/proc/self/fd的区别
    常用抓包工具
    Ubuntu Kubuntu Xubuntu Lubuntu Dubuntu Mythbuntu UbuntuBudgie区别
    Android的Looper.loop()消息循环机制
    申请读写sd卡权限shell
  • 原文地址:https://www.cnblogs.com/xxrl-c/p/11073657.html
Copyright © 2011-2022 走看看