温馨提示×

docker怎么搭建mysql主从

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

要在Docker中搭建MySQL主从复制,可以按照以下步骤操作:

  1. 创建MySQL主从复制的网络(可选):
docker network create mysql-replication
  1. 启动MySQL主服务器:
docker run -d --name mysql-master --network mysql-replication -e MYSQL_ROOT_PASSWORD=password mysql:latest
  1. 启动MySQL从服务器:
docker run -d --name mysql-slave --network mysql-replication -e MYSQL_ROOT_PASSWORD=password mysql:latest
  1. 配置主服务器: 登录到主服务器容器中,创建用于复制的用户,并开启二进制日志记录和GTID:
docker exec -it mysql-master bash
mysql -u root -p

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

SET GLOBAL binlog_format = 'ROW';
SET GLOBAL log_slave_updates = 1;
SET GLOBAL gtid_mode = ON;
SET GLOBAL enforce-gtid-consistency = ON;
  1. 配置从服务器: 登录到从服务器容器中,配置从服务器连接主服务器并开始复制:
docker exec -it mysql-slave bash
mysql -u root -p

CHANGE MASTER TO MASTER_HOST='mysql-master', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1;
START SLAVE;
  1. 检查主从复制状态: 在主服务器上执行以下命令检查主从复制状态:
SHOW MASTER STATUS;

在从服务器上执行以下命令检查主从复制状态:

SHOW SLAVE STATUS \G;

如果输出结果中的Slave_IO_RunningSlave_SQL_Running均显示Yes,则表示主从复制已成功搭建。

通过以上步骤,您可以在Docker中成功搭建MySQL主从复制的环境。

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

推荐阅读:怎么搭建mysql主从同步

0