Docker中安装MySQL并配置主从复制是实现高可用数据库系统的有效方法。以下是详细步骤:

1. 准备MySQL主服务器

  • 启动MySQL主节点容器: bash docker run --name mysql-master -e MYSQL_ROOT_PASSWORD=rootpassword -d mysql:latest
  • 配置主服务器的MySQL配置文件,允许主从复制。编辑 my.cnf 文件,确保启用了 server-idlog-bin

2. 设置MySQL从服务器

  • 启动MySQL从节点容器: bash docker run --name mysql-slave -e MYSQL_ROOT_PASSWORD=rootpassword -d mysql:latest
  • 配置从服务器的my.cnf,确保 server-id 不同于主服务器。

3. 配置主从复制

  • 在主服务器中创建一个复制用户: sql CREATE USER 'replica'@'%' IDENTIFIED BY 'replicapassword'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
  • 在从服务器上执行 CHANGE MASTER TO 命令,链接主服务器: sql CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replica', MASTER_PASSWORD='replicapassword'; START SLAVE;

4. 验证主从同步

  • 使用 SHOW SLAVE STATUS\\G 命令查看从服务器状态,确保主从同步正常。