当前位置: 首页 > 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.lryc.cn/news/606217.html

相关文章:

  • Java设计模式之《命令模式》
  • 【LY88】ubuntu下的常用操作
  • 常用的ROS(Robot Operating System,机器人操作系统)包,用于机器人软件开发的工具和库
  • Prometheus监控多个MySQL及服务器性能:配置指南与最佳实践
  • 【YOLOv1】
  • 使用realsense进行目标检测并标识目标深度
  • 计算机视觉CS231n学习(1)
  • SAM模型细节分析 (附录内容)
  • Nuitka:将源码编译为 `.pyd`
  • YOLOv13 汉化优化部署版本:超图增强自适应视觉感知的目标检测系统
  • 智慧交通中目标检测 mAP↑28%:陌讯多模态融合算法实战解析
  • LLM——使用 LangGraph 构建 ReAct 智能体:多轮对话 + 工具调用 + 可视化流程图
  • 编译Openssl
  • Linux软件包管理器深度解析:从概念到实战
  • PyTorch L2范数详解与应用
  • system.conf linux用于启动和管理系统进程的初始化系统和服务管理器的配置文件
  • MySQL 8.0 OCP 1Z0-908 题目解析(38)
  • NFLSOI 7.25 题解
  • 2025电赛e题:openmv识别过程丢失矩形
  • laravel下phpunit的使用
  • Web开发-PHP应用Cookie脆弱Session固定Token唯一身份验证数据库通讯
  • 分享低功耗单火线开关语音识别方案
  • Python 程序设计讲义(49):组合数据类型——字典类型:字典的方法
  • Linux/Ubuntu 系统中打开火狐firefox、chromium浏览器失败
  • 33.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--记账
  • Python Day20 os模块 和 文件操作 及 例题分析
  • 智能文本抽取技术:精准识别、定位并提取出关键信息
  • 学以致用——用Docker搭建ThinkPHP开发环境
  • linux线程互斥和同步
  • 在处理大数据列表渲染时,React 虚拟列表是提升性能的关键技术,但在实际实现中常遇到渲染抖动和滚动定位偏移等问题。