温馨提示×

docker怎么部署mysql主从复制

小亿
86
2024-01-13 15:02:33
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

要在Docker中部署MySQL主从复制,需要执行以下步骤:

  1. 创建一个网络(可选):

    docker network create mysql-net
    
  2. 启动MySQL主节点容器:

    docker run -d --name mysql-master --network mysql-net -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql
    
  3. 启动MySQL从节点容器:

    docker run -d --name mysql-slave --network mysql-net -p 3307:3306 -e MYSQL_ROOT_PASSWORD=password mysql
    
  4. 在主节点容器中启用二进制日志和主从复制功能:

    docker exec -it mysql-master bash
    mysql -u root -p
    GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;
    

    记下FilePosition的值。

  5. 在从节点容器中配置主从复制:

    docker exec -it mysql-slave bash
    mysql -u root -p
    CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='[File]', MASTER_LOG_POS=[Position];
    START SLAVE;
    

    [File][Position]替换为主节点的相应值。

现在,你已经成功部署了MySQL主从复制。可以通过连接到主节点容器的3306端口或从节点容器的3307端口来访问数据库。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:MySQL主从复制如何配置

0