docker/mysql/Demo/TwoMasterNodes
2022-04-18 11:21:20 +08:00
..
2022-04-18 11:21:20 +08:00
2022-04-18 11:21:20 +08:00
2022-04-18 11:21:20 +08:00
2022-04-18 11:21:20 +08:00

部署 MySQL 两节点互为主从+高可用

  • 在每台服务器上执行如下操作

  • 按实际环境修改

    • docker-compose.yml
    • keepalived/conf/keepalived.conf
    • mysql/my.cnf
  • 创建目录

    grep '\<source:' docker-compose.yml | cut -d: -f2 | xargs mkdir -p
    
  • 启动

    docker-compose up -d
    
  • 查看日志,直至出现 "MySQL is ready for connections."

    docker-compose logs mysql
    
  • 配置 mysql 互相同步

    # 进入mysql终端
    docker exec -ti mysql mysql
    
    # 设置同步源
    CHANGE REPLICATION SOURCE TO 
        SOURCE_HOST = '对方 host',
        SOURCE_PORT = 3306,
        SOURCE_USER = 'replicator',
        SOURCE_PASSWORD = 'China_19$(10)!',
        SOURCE_AUTO_POSITION = 1;
    
    # 启动同步
    START REPLICA;
    
    # 查看同步状态
    SHOW REPLICA STATUS\G
    # 如果输出Replica_IO_Running: Yes和Replica_SQL_Running: Yes则同步正常
    
    # 退出 mysql
    quit
    
  • 在其中一台 mysql 服务器上导入初始数据