mysql5.7主从部署(docker-compose版本)

news2025/3/21 3:36:56

mysql5.7主从部署(docker-compose版本)

1:docker-compose-test.yml 文件信息

version: '3'

services:
  # MySQL 数据库
  mysql-master:
    image: mysql:5.7
    container_name: mysql-master
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: nacos
    ports:
      - 23306:3306
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./mysql-master/conf.d:/etc/mysql/conf.d
      - ./mysql-master/data:/var/lib/mysql
    networks:
      - nacos_net

  mysql-slave:
    image: mysql:5.7
    container_name: mysql-slave
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: nacos
    ports:
      - 33306:3306
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./mysql-slave/conf.d:/etc/mysql/conf.d
      - ./mysql-slave/data:/var/lib/mysql
    networks:
      - nacos_net
     
networks:
  nacos_net:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16

2: 在 ./mysql-master/conf.d 下创建my.cnf, 内容如下

[mysqld]

## 设置server_id,同一局域网中需要唯一

server_id=101 

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能

log-bin=mall-mysql-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed  

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062

3:重启主节点

docker restart mysql-master

4.进入mysql-master容器,并在容器内创建数据同步用户(指定那个用户能够同步我的数据即授权)

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

5:启动从节点

docker-compose -f docker-compose-test.yml up -d mysql-slave

6: 在 ./mysql-slave/conf.d 下创建my.cnf, 内容如下

[mysqld]

## 设置server_id,同一局域网中需要唯一

server_id=102

## 指定不需要同步的数据库名称

binlog-ignore-db=mysql  

## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用

log-bin=mall-mysql-slave1-bin  

## 设置二进制日志使用内存大小(事务)

binlog_cache_size=1M  

## 设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed  

## 二进制日志过期清理时间。默认值为0,表示不自动清理。

expire_logs_days=7  

## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。

## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致

slave_skip_errors=1062  

## relay_log配置中继日志

relay_log=mall-mysql-relay-bin  

## log_slave_updates表示slave将复制事件写进自己的二进制日志

log_slave_updates=1  

## slave设置为只读(具有super权限的用户除外)

read_only=1

7:重启从节点

docker restart mysql-salve

8:主节点查看数据同步状态

show master status;

在这里插入图片描述

9:进入slave(从数据库)中,在从数据库中配置主从复制(主从同步)

#配置主从
change master to master_host='mysql-master',master_user='slave',master_password='hyyt@2024',master_port=3306,master_log_file='mall-mysql-bin.000001',master_log_pos=154,master_connect_retry=30;


#解释
master_host:主数据库的IP地址(注意docker-compose 自定义桥接网络可以通过名称访问,所以我这边用的名称代替ip);

master_port:主数据库的运行端口;

master_user:在主数据库创建的用于同步数据的用户账号;

master_password:在主数据库创建的用于同步数据的用户密码;

master_log_file:指定从数据库要复制数据的日志文件,通过查看主数据的状态,获取File参数;

master_log_pos:指定从数据库从哪个位置开始复制数据,通过查看主数据的状态,获取Position参数;

master_connect_retry:连接失败重试的时间间隔,单位为秒。

10:从从数据库中查看主从同步状态

show slave status \G;

在这里插入图片描述

11.在从数据库中开启主从同步,并再次查看状态是否变为开启状态

start slave;

在这里插入图片描述

12:最后就是测试(可以在主库新增数据,在从库也是可以看到的)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2318740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java+Html实现前后端客服聊天

文章目录 核心组件网络通信层事件调度层服务编排层 Spring实现客服聊天技术方案对比WebScoket建立连接用户上线实现指定用户私聊群聊离线 SpringBootWebSocketHtmljQuery实现客服聊天1. 目录结构2. 配置类3. 实体类、service、controller4. ChatWebSocketHandler消息处理5.前端…

解锁 DeepSeek 安全接入、稳定运行新路径

背景 目前,和 DeepSeek 相关的需求总结为两类: 因官方 APP/Web 服务经常无法返回结果,各类云厂商、硬件或软件企业提供满血版或蒸馏版的 API 算力服务,还有不少基于开源家用计算和存储设备的本地部署方案,以分担 De…

【LangChain入门 1】安装

文章目录 一、安装LangChain二、安装Ollama三、Ollama下载DeepSeekR1-7b模型 本学习系列以Ollama推理后端作为大语言模型,展开对LangChain框架的入门学习。 模型采用deepseek-r1:7b。 毕竟是免费开源的,下载过程耐心等待即可。 如果可以连接外网&#x…

IvorySQL 增量备份与合并增量备份功能解析

1. 概述 IvorySQL v4 引入了块级增量备份和增量备份合并功能,旨在优化数据库备份与恢复流程。通过 pg_basebackup 工具支持增量备份,显著降低了存储需求和备份时间。同时,pg_combinebackup 工具能够将多个增量备份合并为单个完整备份&#x…

【css酷炫效果】纯CSS实现故障文字特效

【css酷炫效果】纯CSS实现故障文字特效 缘创作背景html结构css样式完整代码基础版进阶版(3D效果) 效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492053 缘 创作随缘,不定时更新。 创作背景 刚…

SpringSecurity配置(自定义认证过滤器)

文末有本篇文章的项目源码文件可供下载学习 在这个案例中,我们已经实现了自定义登录URI的操作,登录成功之后,我们再次访问后端中的API的时候要在请求头中携带token,此时的token是jwt字符串,我们需要将该jwt字符串进行解析,查看解析后的User对象是否处于登录状态.登录状态下,将…

设计模式(行为型)-备忘录模式

目录 定义 类图 角色 角色详解 (一)发起人角色(Originator)​ (二)备忘录角色(Memento)​ (三)备忘录管理员角色(Caretaker)​…

Advanced Intelligent Systems 软体机器手助力截肢者玩转鼠标

随着科技的不断进步,假肢技术在改善截肢者生活质量方面取得了显著成就。然而,截肢群体在就业方面仍面临巨大困难,适龄截肢群体的就业率仅为健全群体的一半。现有的肌电控制假肢手在与计算机交互时存在诸多挑战,特别是截肢者在使用…

每日Attention学习27——Patch-based Graph Reasoning

模块出处 [NC 25] [link] Graph-based context learning network for infrared small target detection 模块名称 Patch-based Graph Reasoning (PGR) 模块结构 模块特点 使用图结构更好的捕捉特征的全局上下文将图结构与特征切片(Patching)相结合,从而促进全局/…

深圳南柯电子|医疗设备EMC检测测试整改:保障患者安全的第一步

在医疗设备领域,电磁兼容性(EMC)是确保设备安全、有效运行的关键指标。随着医疗技术的飞速发展,医疗设备日益复杂,其电磁环境也愈发复杂多变。EMC检测测试及整改因此成为医疗设备研发、生产、销售过程中不可或缺的一环…

【笔记】计算机网络——数据链路层

概述 链路是从一个结点到相邻结点的物理路线,数据链路则是在链路的基础上增加了一些必要的硬件和软件实现 数据链路层位于物理层和网络层之间,它的核心任务是在直接相连的节点(如相邻的交换机,路由器)之间提供可靠且…

STM32-汇编

学习arm汇编的主要目的是为了编写arm启动代码,启动代码启动以后,引导程序到c语言环境下运行。换句话说启动代码的目的是为了在处理器复位以后搭建c语言最基本的需求。因此启动代码的主要任务有: 初始化异常向量表; 初始化各工作模…

利用通义灵码AI在VS Code中快速开发扫雷游戏:Qwen2.5-Max模型的应用实例

引言 随着人工智能技术的不断进步,开发过程中的自动化程度也在逐步提高。阿里云推出的通义灵码AI程序员,作为一款创新型的智能编程助手,现已全面上线并兼容VS Code、JetBrains IDEs等多种开发环境。本文将介绍如何利用最新的Qwen2.5-Max模型…

202503执行jmeter压测数据库(ScyllaDB,redis,lindorm,Mysql)

一、Mysql 1 、 准备MySQL 连接内容 2 、 下载连接jar包 准备 mysql-connector-java-5.1.49.jar 放到 D:\apache-jmeter-5.6.3\lib\ext 目录下面; 3 、 启动jmeter ,配置脚本 添加线程组---》JDBC Connection Configuration---》JDBC Request---》查看结果树。 1)测…

以太网 MAC 帧格式

文章目录 以太网 MAC 帧格式以太网帧间隔参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。 以太网 MAC 帧格式 以太网技术的正式标准是 IEEE 802.3,它规定了以太网传输数据的帧结…

【PCB工艺】基础:电子元器件

电子原理图(Schematic Diagram)是电路设计的基础,理解电子元器件和集成电路(IC)的作用,是画好原理图的关键。 本专栏将系统讲解 电子元器件分类、常见 IC、电路设计技巧,帮助你快速掌握电子电路…

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展,WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术,以其低延迟、跨平台兼容性和强大的音视频处理能力,成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…

前端样式库推广——TailwindCss

官方网址: https://tailwindcss.com/docs/installation/using-vite 中文官方文档:https://www.tailwindcss.cn/ github地址:tailwindcss 正在使用tailwindcss的网站:https://tailwindcss.com/showcase 一看github,竟然…

SpringBoot 第二课(Ⅰ) 整合springmvc(详解)

目录 一、SpringBoot对静态资源的映射规则 1. WebJars 资源访问 2. 静态资源访问 3. 欢迎页配置 二、SpringBoot整合springmvc 概述 Spring MVC组件的自动配置 中央转发器(DispatcherServlet) 控制器(Controller) 视图解…

OpenHarmony 开源鸿蒙北向开发——3.配置SDK

安装、配置完成之后我们就要配置SDK。 我们创建工程后,点击右上角设置 进入设置 进入OpenHarmony SDK,选择编辑 这里配置一下SDK安装位置 点击完成 这里我们API版本勾选第一个即可 确认安装 勾选接受 这里要等一会 安装完成后,点击完成