mariadb 主從複製

1.準備兩臺服務器

利用docker-compose容器編排建立兩臺服務器,建立docker-compose.yml文件。mysql

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容器sql

docker-compose up -d

執行完成後會建立一個主從數據庫容器。使用docker ps -a查看運行狀態。docker

2.設置主服務器和從服務器mariadb配置

主服務器my.cnf文件中加入以下配置數據庫

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

從服務器my.cnf文件中配置bash

server-id               = 2

 

3.查看主服務器是否開啓log_bin日誌

進入主服務器容器服務器

docker exec -it home_mariadb-master_1 /bin/bash

進入mariadb數據庫3d

mysql -uroot -proot

查看log_bin是否開啓,執行「show variables like '%log_bin%';」rest

受權用戶讀取bin日誌日誌

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

查看主服務器BIN日誌的信息server

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 status\G;

當Slave_IO_Runing,Slave_SQL_Running都顯示yes時,主從複製配置成功。

相關文章
相關標籤/搜索