在Docker中安装MySQL并配置主从复制是实现高可用数据库系统的有效方法。以下是详细步骤:
1. 准备MySQL主服务器
- 启动MySQL主节点容器:
bash docker run --name mysql-master -e MYSQL_ROOT_PASSWORD=rootpassword -d mysql:latest
- 配置主服务器的MySQL配置文件,允许主从复制。编辑
my.cnf
文件,确保启用了server-id
和log-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
命令查看从服务器状态,确保主从同步正常。