docker高级篇1-dockeran安装mysql主从复制
- Docker
- 时间:2022-12-16 15:01
- 4243人已阅读
🔔🔔好消息!好消息!🔔🔔
有需要的朋友👉:微信号
大家好,咱们前面通过十篇的文章介绍了docker的基础篇,从本篇开始,咱们的《docker学习系列》将要进入到高级篇阶段(基础篇大家可以查看之前发布的文章)。
咱们先来介绍:docker复杂方式安装软件。通过按照mysql\redis两个案例来讲解
插播一条
下面这个公众号是凯哥开发的,福利号:外卖、买菜、电商领Q的
本文咱们就先来实现第一个案例:mysql主从复制
大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~
docker run -p 3307:3306 --name mysql-master \
-v /mydata/mysql-master/log:/var/log/mysql \
-v /mydata/mysql-master/data:/var/lib/mysql \
-v /mydata/mysql-master/conf:/etc/mysql \
2:进入/mydata/mysql-master/conf目录下新建my.cnf
## 设置使用的二进制日志格式(mixed,statement,row)
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
修改后,重新启动容器。
4:进入mysql-master容器
docker exec -it mysql-master /bin/bash
命令模板:CREATE USER '用户名'@'可以访问的ip' IDENTIFIED BY '密码'
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
赋权命令模板:GRANT REPLICATION 权限 on 访问ip端口 TO '用户名'@‘ip’
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';
docker run -p 3308:3306 --name mysql-slave \
-v /mydata/mysql-slave/log:/var/log/mysql \
-v /mydata/mysql-slave/data:/var/lib/mysql \
-v /mydata/mysql-slave/conf:/etc/mysql \
7:进入/mydata/mysql-slave/conf目录下新建my.cnf
## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
## 设置使用的二进制日志格式(mixed,statement,row)
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
docker exec -it mysql-slave /bin/bash
在mysql从库的镜像中,进入从mysql,然后执行命令公式:
change master to master_host='宿主机ip', master_user='在主库上创建用于主从同步的用户账号', master_password='在主数据库创建的用于同步数据的用户密码', master_port=master库的端口, master_log_file='masterlog文件名称', master_log_pos=当前开始点, master_connect_retry=重试;
master_user:在主数据库创建的用于同步数据的用户账号
master_password:在主数据库创建的用于同步数据的用户的密码
master_log_file:指定从数据库要复制数据的日志文件。通过查看主数据库的状态,获取File参数;
master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数
master_connect_retry:连接失败充值的时间间隔,单位:秒
show slave status \G;
13:在从数据库中开启主从同步
15:主从复制测试
结束语
如操作有问题欢迎去 我的 个人博客(www.kaigejava.com)留言或者 微信公众号(凯哥Java)留言交流哦。
直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:
【图文教程】Windows11下安装Docker Desktop
【填坑】在windows系统下安装Docker Desktop后迁移镜像位置
【Docker学习系列】Docker学习1-docker安装
【Docker学习系列】Docker学习2-docker设置镜像加速器
【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?
【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令
【Docker学习系列】Docker学习系列3:常用命令之容器命令
【Docker学习系列】Docker学习4-常用命令之重要的容器命令
【Docker教程系列】Docker学习5-Docker镜像理解
【Docker教程系列】Docker学习6-Docker镜像commit操作案例
【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云
【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?
「Docker学习系列教程」10-Docker容器数据卷案例