为了在Docker中配置MySQL主从复制,你需要按照以下步骤进行操作:

步骤1:创建Docker镜像
首先,你需要创建两个MySQL Docker镜像,一个用作主服务器,另一个用作从服务器。可以使用以下命令来创建两个容器:

docker run --name mysql-master -e MYSQL_ROOT_PASSWORD=<root_password> -p 3306:3306 -d mysql:latest
docker run --name mysql-slave -e MYSQL_ROOT_PASSWORD=<root_password> -p 3307:3306 -d mysql:latest

请确保将 <root_password>替换为你想要设置的实际root密码。

步骤2:配置主服务器
进入主服务器的容器:

docker exec -it mysql-master bash

然后登录MySQL:

mysql -uroot -p<root_password>

在MySQL中创建用于主从复制的用户,并授予适当的权限。假设你的复制用户是 replication_user,密码是 replication_password

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

接下来,查看主服务器的状态:

SHOW MASTER STATUS;

将结果记录下来,包括 FilePosition的值。

步骤3:配置从服务器
进入从服务器的容器:

docker exec -it mysql-slave bash

然后登录MySQL:

mysql -uroot -p<root_password>

停止从服务器的复制进程:

STOP SLAVE;

配置从服务器连接主服务器:

CHANGE MASTER TO MASTER_HOST='<主服务器IP地址>', MASTER_PORT=3306, MASTER_USER='replication_user', MASTER_PASSWORD='replication_password', MASTER_LOG_FILE='<File值>', MASTER_LOG_POS=<Position值>;

请确保将 <主服务器IP地址>替换为你实际的主服务器IP地址,<File值><Position值>替换为之前记录的主服务器状态中的值。

启动从服务器的复制进程:

START SLAVE;

步骤4:验证复制状态
在从服务器上运行以下命令来验证复制状态:

SHOW SLAVE STATUS \G

确保 Slave_IO_RunningSlave_SQL_Running都显示为 Yes,这表示主从复制已成功配置。

以上是在Docker中配置MySQL主从复制的步骤。如果按照上述步骤进行操作,你应该能够成功地设置MySQL主从复制。记得根据实际情况进行替换,并且确保网络设置正确以允许主从服务器之间的通信。


香港五网CN2网络云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 07 月 15 日
如果觉得我的文章对你有用,请随意赞赏