千家信息网

docker中怎么搭建mysql主从复制

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天就跟大家聊聊有关docker中怎么搭建mysql主从复制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、通过docker安装mysql,
千家信息网最后更新 2026年11月02日docker中怎么搭建mysql主从复制

今天就跟大家聊聊有关docker中怎么搭建mysql主从复制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

一、通过docker安装mysql,我在这里选择是的5.6版本

1)搜索从docker啦取mysql镜像

docker pull mysql:5.6

2)使用本镜像启动两个mysql容器(主、从容器)

master(主)

docker run -p 3316:3306 --name master-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

slave(从)

docker run -p 3317:3306 --name slave-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

参数解析:

-p 将容器的 3306 端口映射到主机的 3306 端口。

--name 使用docker镜像mysql:5.6,将容器命名为mastermysql。

-e -e MYSQL_ROOT_PASSWORD=123456 初始化密码。

-d 后台运行容器,并返回容器ID。

查看容器是否正常运行:docker ps

二、配置mysql主服务器(Master)

1)进入mysql主服务器内部

docker exec -it e8355163bbbc /bin/bash

2)编辑my.cnf

cd /etc/mysql

编辑 my.cnf(vim my.cnf)

注意:可能会提示vim没有安装,可以运行 apt-get install vim 安装,然后再执行vim my.cnf

在末尾处添加

[mysqld]
server-id=100
log-bin=mysql-bin

配置完成后需要重启mysql,重启过程中docker镜像也会停止,所以也需要重启一下镜像

service mysql restart

docker start mysql-master

3)下一步在Master数据库创建数据同步用户,授予用户 slave REPLICATION SLAVE权限和REPLICATION CLIENT权限,用于在主从库之间同步数据。

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

三、配置mysql从服务器(Slave)

1)进入mysql从服务器内部

docker exec -it 从服务器id /bin/bash

2)编辑my.cnf

cd /etc/mysql

编辑 my.cnf(vim my.cnf)

注意:可能会提示vim没有安装,可以运行 apt-get install vim 安装,然后再执行vim my.cnf

在末尾处添加

[mysqld]
server-id=101
log-bin=mysql-slave-bin

relay_log=edu-mysql-relay-bin

配置完成后需要重启mysql,重启过程中docker镜像也会停止,所以也需要重启一下镜像

service mysql restart

docker start mysql-slave

四、其他设置

1)链接Master(主)和Slave(从)

在Master进入mysql,执行show master status;

File和Position字段的值后面将会用到,在后面的操作完成之前,需要保证Master库不能做任何操作,否则将会引起状态变化,File和Position字段的值变化。

2)在Slave中进入mysql,执行

change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 433, master_connect_retry=30;

命令说明:

master_host :Master的地址,指的是容器的独立ip,可以通过docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称|容器id查询容器的ip

master_port:Master的端口号,指的是容器的端口号

master_user:用于数据同步的用户

master_password:用于同步的用户的密码

master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值

master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值

master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒

3)在Slave 中的mysql终端执行 show slave status \G; 用于查看主从同步状态。

正常情况下,SlaveIORunning 和 SlaveSQLRunning 都是No,因为我们还没有开启主从复制过程。使用start slave;开启主从复制过程,然后再次查询主从同步状态show slave status \G;。

看完上述内容,你们对docker中怎么搭建mysql主从复制有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

容器 主从 镜像 同步 数据 服务器 服务 字段 用户 过程 运行 配置 内容 状态 上文 口号 密码 末尾 权限 端口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 互联网科技公司排名 广州为想互联网科技有限公司 蓝思科技飞鸽互联网 麻工互联网科技 深圳科技互联网 互联网 科技创新 恒生科技互联网指数分析 富国互联网科技创新基金 上海电发互联网科技有限公司 互联网汽车科技小镇 农村开互联网科技讲堂 北京大学互联网科技怎么样 中国的互联网科技企业的崛起 成都互联网科技公司工作好不好 中国科技创新与世界互联网大会 互联网在线教育科技创业 上海科技产业互联网平台 智帮互联网科技公司最近动向 宁波允成互联网科技有限公司 亿人帮互联网科技有限公司 互联网巨头科技公司 唐信互联网科技 顶级互联网科技成果有哪些 知域互联网科技有限公司大骗子 消费医药和互联网科技 陕西彩京云互联网科技有限公司 上海旺乐尼互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 颐高云石互联网科技
0