当前位置:网站首页>使用docker容器搭建MySQL主从复制
使用docker容器搭建MySQL主从复制
2022-08-03 02:59:00 【woshihedayu】
1、拉取mysql镜像
docker pull mysql
2、创建主节点docker容器
docker run --name mysql-master -p 3306:3306 -v /root/docker/mysql/master:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
创建从节点docker容器
docker run --name mysql-slave -p 3307:3306 -v /root/docker/mysql/slave:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql
这里通过挂载目录的方式使mysql的配置文件生效。然后,分别在两个节点导入数据库user_db。
3、在/root/docker/mysql/master下创建主节点的配置文件mysql.cnf
[mysqld]
log-bin=mysql-bin # 启用二进制日志
server-id=1 # 服务器唯一ID,可以任意设置,但必须唯一
binlog-ignore-db=mysql # 不要复制的数据库
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
binlog-do-db=user_db # 要复制的数据库名
注意,mysql的配置文件开头要加上[mysqld],我就是一开始没加这个东西导致配置怎么改都不生效,浪费了很多时间。这里设置了复制数据库user_db。重启容器,使配置生效。
4、在/root/docker/mysql/slave下创建从节点的配置文件mysql.cnf
[mysqld]
server-id=2
relay-log=mysql-relay
重启容器,使配置生效。
5、使用客户端连接主节点,执行如下命令
show master status
查看节点状态
在从节点执行如下命令
change master to
master_host='192.168.182.128',master_port=3306, master_user='root',master_password='123456',
master_log_file='mysql-bin.000003',master_log_pos=157;
实现复制。其中,master_log_file和master_log_pos分别对应上图中的File和Position。
6、在从节点执行
start slave
开启复制。执行
show slave status
查看复制状态,
出现两个Yes,说明主从复制已经搭建完成。
尝试向主节点的表中添加记录,会自动复制到从节点上。
边栏推荐
- nVisual信息基础设施可视化管理
- Jenkins2.328+sonarqube7.9 实现代码自动化检测
- 【UE4】Build VR live broadcast in LAN UE4.27
- 机器学习【KNN案例、API、总结】
- 【GO记录】从零开始GO语言——用GO语言做一个示波器(二)基于arduino的简易示波器
- QCheckBox、margin、border、pandding、QHoxLayout、QSplitter、QSpacerItem
- 【obs】启动推流失败 : Output.StartStreamFailed 调用流程
- compose 位移视图
- kubernetes部署ldap
- 【TA-霜狼_may-《百人计划》】先行部分 手搓视差体积云
猜你喜欢
【原创】Auto.js get和post 案例
Sentinel vs Hystrix 限流对比,到底怎么选?
Wei Dongshan Digital Photo Frame Project Learning (5) Transplantation of libjpeg-turbo
IDEA如何创建同级工程
vant-field中colon属性为true报错
JWT入门学习
leetcode:162. 寻找峰值
The LVS load balancing cluster and the deployment of the LVS - NAT experiment
Summary of some interviews
【云原生】灰度发布、蓝绿发布、滚动发布、灰度发布解释
随机推荐
有大佬知道 使用flinksql是 同步的日期字段为null的话怎么处理吗
Go新项目-编译项目的细节(4)
kubernetes部署ldap
Interconversion between numpy PIL tensors
Kook机器人开发日志01
Guys, I don't understand a bit: why the documentation of oracle-cdc writes that the connector can be done exactly-o
智能健身动作识别:PP-TinyPose打造AI虚拟健身教练!
用 SQL 做数据分析的十大常用功能,附面试原题解答!!
nVisual信息基础设施可视化管理
C语言——结构体(声明、内存对齐、自引用)、位段、联合体、枚举常量合集
zyMedia系列之播放视频
MySQL-Explain详解
网易数帆陈谔:云原生“牵手”低代码,加速企业数字化转型
ClickHouse删除表
JS高级 之 Proxy-Reflect 使用详解
【leetcode热题Hot100】——任务调度器
信号和槽的绑定
【原创】Auto.js get和post 案例
企业上云规划与云原生环境设计
leetcode:149. 直线上最多的点数