在vmware中使用docker搭建mysql主从复制 --步步为营

本文介绍如何使用Docker部署MySQL主从复制环境,包括拉取MySQL镜像、配置主从服务器、解决连接问题等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拉取mysql镜像

#docker pull daocloud.io/library/mysql:5.7.7


查看镜像


启动master和slave容器
docker run -it -p  3306:3306 -e  MYSQL_ROOT_PASSWORD=123456 --name mastermysql  -d  daocloud.io/library/mysql:5.7.7
docker run -it -p  3307:3306 -e  MYSQL_ROOT_PASSWORD=123456 --name slavemysql  -d  daocloud.io/library/mysql:5.7.7



在master和slave容器里分别安装vim
apt-get update && apt-get install vim -y


修改master容器的my.cnf配置文件 ,在mysqld下加入

修改slave容器的my.cnf配置文件 ,在mysqld下加入



容器重启
docker restart mastermysql

docker restart slavemysql


连接master数据库,创建同步用户名并查看服务器二进制文件名与位置
create user 'dbsync'@'%' IDENTIFIED BY '123456';
GRANT select, REPLICATION SLAVE ON *.* TO 'dbsync'@'%'


在slave数据库配置二进制文件的文件名和位置
CHANGE MASTER TO MASTER_HOST='192.168.198.129', 
MASTER_USER='dbsync',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=4929;
在slave数据库启动slave模式


在slave数据库查看主从复制是否配置成功,连接错误 Slave_IO_Running: Connecting


查看slave容器日志,无法连接master数据库 [ERROR] Slave I/O for channel '': error connecting to master

在slave容器里用ip地址连不上mysql


使用mysql客户端可以连接数据库


在docker宿主机关闭防火墙 service firewalld stop,在slave中重新配置二进制文件名和位置,Start slave,查看日志,连接成功,问题解决



在master容器创建database

slave容器同步成功


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值