当前位置: 首页 > news >正文

mysql主从搭建(docker)

文章目录

      • 1.拉取镜像
      • 2.master节点配置
        • 2.1.创建挂载的目录:conf、data、log
        • 2.2.在conf目录中创建创建:my.cnf 文件
        • 2.3.启动容器,映射3306端口
        • 2.4.授权
        • 2.5.查询主库相关信息
      • 3.slave配置
        • 3.1.创建挂载的目录:conf、data、log
        • 3.2.在conf目录中创建创建:my.cnf 文件
        • 3.3.启动容器,映射3307端口
        • 3.4.告诉从库如何连接主库
        • 3.5.开启主从复制过程
        • 3.6.查看从库状态
      • 4.测试

环境:centos7、docker、mysql5.7.5

1.拉取镜像

docker pull mysql:5.7.5

2.master节点配置

2.1.创建挂载的目录:conf、data、log
mkdir /usr/local/mysql/conf /usr/local/mysql/data /usr/local/mysql/log 
2.2.在conf目录中创建创建:my.cnf 文件
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
skip-name-resolve#================主从配置==================
server-id=100
log-bin=mysql-bin
#================主从配置==================
2.3.启动容器,映射3306端口
docker run -d --name mysql-master -p 3306:3306 --privileged=true -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.5
2.4.授权
# 如果用户没有相关主从复制的权限,则授权,如果没用户,也可自行创建
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO ‘root’@‘%;
2.5.查询主库相关信息
# 查看当前主库正在写入的 binlog 文件名和位置(position),为从库配置复制起点。
show master status;

在这里插入图片描述

3.slave配置

3.1.创建挂载的目录:conf、data、log
mkdir /usr/local/mysql/mysql-slave/conf /usr/local/mysql/mysql-slave/data /usr/local/mysql/mysql-slave/log 
3.2.在conf目录中创建创建:my.cnf 文件
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
skip-name-resolve#====================主从配置===================
server-id=101
log-bin=mysql-slave-bin
relay_log=edu-mysql-relay-bin
#====================主从配置===================
3.3.启动容器,映射3307端口
docker run -d --name mysql-slave -p 3307:3306 --privileged=true -v /usr/local/mysql/mysql-slave/log:/var/log/mysql -v /usr/local/mysql/mysql-slave/data:/var/lib/mysql -v /usr/local/mysql/mysql-slave/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.5
3.4.告诉从库如何连接主库
change master to master_host='192.168.159.100', master_user='root', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos=5848, 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.5.开启主从复制过程
start slave;
3.6.查看从库状态

在这里插入图片描述
在这里插入图片描述

4.测试

主库操作,查看从库是否有相应操作。

http://www.dtcms.com/a/307441.html

相关文章:

  • Verilog与SytemVerilog差别
  • 【爬虫实战】使用Python和JS逆向基于webpack的游戏平台
  • vue 中 props 直接解构的话会数据丢失响应式
  • 在 CentOS 7 安装中文字体
  • 法国声学智慧 ,音响品牌SK (SINGKING AUDIO) 重构专业音频边界
  • vue+ts 基础面试题 (二)
  • 正向运动学(Forward Kinematics,简称FK)和逆向运动学(Inverse Kinematics,简称IK)
  • Java项目:基于SSM框架实现的校园活动资讯网管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
  • 分类-鸢尾花分类
  • 佳维视工业显示器在除尘与过滤设备中的应用
  • 7800系列三端固定式线性稳压器的典型应用电路
  • MakeInstaller: 一款麒麟操作系统安装包制作工具
  • 进阶向:YOLOv11模型轻量化
  • TGD第九篇:三维应用——视频边缘检测
  • 爱普生002墨水与004墨水基本参数及支持机型
  • 【10】大恒相机SDK C++开发 ——对相机采集的原图像数据IFrameData裁剪ROI 实时显示在pictureBox中,3种方法实现(效率不同)
  • 零基础构建MCP服务器:TypeScript/Python双语言实战指南
  • 某讯视频风控参数逆向分析
  • 《C#与.NET Core跨平台开发的融合架构与实践逻辑》
  • 基于STM32的智能温控通风系统设计
  • Web 开发 08
  • 前端核心技术Node.js(四)——express框架
  • 【JavaEE】(7) 网络原理 TCP/IP 协议
  • 前端下载的EXCEL文件无法打开的解决办法
  • 9.Linux 调优与性能检测
  • 前端框架Vue3(四)——组件通信及其他API
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第一天(HTML5)
  • Java WEB技术-序列化和反序列化认识(SpringBoot的Jackson序列化行为?如何打破序列化过程的驼峰规则?如何解决学序列化循环引用问题?)
  • Amazon RDS for MySQL成本优化:RDS缓存降本实战
  • 三坐标测量机路径规划与补偿技术:如何用算法看见微米级误差?