117.info
人生若只如初见

docker怎么搭建mysql主从

要在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主从复制的环境。

未经允许不得转载 » 本文链接:https://www.117.info/ask/feee2AzsIAAJTB1Q.html

推荐文章

  • mysql groupreplication安全性怎样

    MySQL Group Replication 是一种高可用性、高扩展性的解决方案,通过多主复制、自动故障转移和强一致性等特性,提供了数据的可靠性和安全性。以下是其相关介绍:...

  • mysql groupreplication性能如何

    MySQL Group Replication(MGR)是一种高可用性和高扩展性的解决方案,它基于原生复制技术和Paxos协议实现,支持多主复制和自动故障转移。以下是关于MySQL Group...

  • mysql groupreplication配置复杂吗

    MySQL Group Replication(MGR)的配置因环境而异,但总体来说,配置过程是相对直接的。以下是其相关介绍:
    MySQL Group Replication配置的复杂性 对于熟悉...

  • mysql groupreplication优缺点是什么

    MySQL Group Replication(G-Replication)是MySQL提供的一种高可用性和可扩展性的解决方案,它允许在多个服务器之间复制数据以实现负载均衡和故障切换。以下是M...

  • linux系统时间怎么修改

    在Linux系统中,可以使用date命令来修改系统时间。以下是一些常见的用法: 修改系统时间: sudo date -s "YYYY-MM-DD HH:MM:SS" 其中,YYYY-MM-DD HH:MM:SS是你要...

  • java如何获取三个月前的日期

    在Java中,可以使用Calendar类来获取三个月前的日期。以下是一个示例代码:
    import java.util.Calendar;
    import java.util.Date; public class Main {...

  • java怎么创建二维数组

    在Java中创建二维数组的方式有两种: 使用静态初始化: int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}
    }; 使用动态初始化: int rows = 3;
    int ...

  • java数据库备份方法是什么

    在Java中备份数据库通常可以通过以下方法来实现: 使用数据库管理工具:通过数据库管理工具如MySQL Workbench、Navicat等,可以方便地进行数据库备份操作。这些工...