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

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

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

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

version: '3'services:# MySQL 数据库mysql-master:image: mysql:5.7container_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: nacosports:- 23306:3306volumes:- /etc/localtime:/etc/localtime:ro- ./mysql-master/conf.d:/etc/mysql/conf.d- ./mysql-master/data:/var/lib/mysqlnetworks:- nacos_netmysql-slave:image: mysql:5.7container_name: mysql-slaveenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: nacosports:- 33306:3306volumes:- /etc/localtime:/etc/localtime:ro- ./mysql-slave/conf.d:/etc/mysql/conf.d- ./mysql-slave/data:/var/lib/mysqlnetworks:- nacos_netnetworks:nacos_net:driver: bridgeipam: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:最后就是测试(可以在主库新增数据,在从库也是可以看到的)

相关文章:

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

mysql5.7主从部署(docker-compose版本) 1:docker-compose-test.yml 文件信息 version: 3services:# MySQL 数据库mysql-master:image: mysql:5.7container_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: nacosports:- 23…...

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

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

实用工具-Another Redis Desktop Manager介绍

GitHub:https://github.com/qishibo/AnotherRedisDesktopManager/releases Gitee:AnotherRedisDesktopManager 发行版 - Gitee.com Another Redis Desktop Manager 是一款免费的 Redis 可视化管理工具,具有以下特点和功能: 特…...

MySQL如何存储表情符号?

存储表情符号 默认mysql的字符集是utf8,排序规则为 utf8_general_ci INSERT INTO department (name) VALUES (😄)在存储表情的时候会报 1366 - Incorrect string value: \xF0\x9F\x98\x84 for column name at row 1, Time: 0.007000s 这时需要修改字符…...

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

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

Spring Boot 配置属性 (Configuration Properties) 详解:优雅地管理应用配置

引言 Spring Boot 的 配置属性 (Configuration Properties) 是其另一个核心特性,它提供了一种 类型安全、结构化 的方式来管理应用的配置信息。 与自动配置相辅相成,配置属性允许开发者 以声明式的方式将外部配置 (如 properties 文件、YAML 文件、环境…...

【LangChain入门 1】安装

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

HTML中required与aria required区别

在HTML中,required和aria-required"true"都用于标识表单字段为必填项,但它们的作用和适用场景有所不同: 1. required 属性 • 功能属性:属于HTML5原生属性,直接控制表单验证逻辑。 • 作用: • …...

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)​…...

WebAssembly 技术在逆向爬虫中的应用研究

一、引言 1.1 Web 技术发展与性能需求 在当今数字化浪潮中,Web 应用已成为人们生活和工作中不可或缺的一部分。从简单的静态网页到功能复杂的单页面应用(SPA),Web 技术的发展日新月异。随着用户对 Web 应用交互性、实时性和复杂性的要求不断提高,传统的 Web 开发技术面临着…...

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

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

pyhton中 字典 元组 列表 集合之间的互相转换

在 Python 中,集合(set)、字典(dict)、元组(tuple)、列表(list)和序列(如字符串 str)之间可以互相转换。以下是它们之间转换的详细方法,涵盖从基础到高级的用法。 1. 列表(list)与其他类型的转换 1.1 列表 → 集合 my_list = [1, 2, 2, 3...

每日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)相结合,从而促进全局/…...

理一理Mysql日期

在 MySQL 数据库中,关于日期和时间的类型主要有以下几种: 1. **DATE**: 仅存储日期部分,格式为 YYYY-MM-DD,例如 2023-10-31。 2. **TIME**: 仅存储时间部分,格式为 HH:MM:SS,例如 14:30:00。 3. **DATE…...

数据结构:栈的应用举例——括号匹配的检验

2. 括号匹配的检验 如果表达式中包含括号,当程序中含有这类表达式时,在代码编译过程中,必然会检查括号是否匹配,这是一项必需的语法检查环节。 (1)迭代版 此处假设表达式中只含有左、右圆括号&#xff0…...

DeepSeek成功的秘诀:谈谈DeepSeek的算法创新

李升伟 整理 DeepSeek 是一家专注于人工智能技术研发的公司,其算法创新在业界引起了广泛关注。以下是 DeepSeek 使用的核心算法及其特点的详细解析: 1. 原生稀疏注意力(NSA)算法 DeepSeek 提出的 原生稀疏注意力(Na…...

初始OpenCV

OpenCV 是一个功能强大、应用广泛的计算机视觉库,它为开发人员提供了丰富的工具和算法,可以帮助他们快速构建各种视觉应用。随着计算机视觉技术的不断发展,OpenCV 也将会继续发挥重要的作用。 OpenCV 提供了大量的计算机视觉算法和图像处理工具,广泛应用于图像和视频的处理…...

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

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

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

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

Rust语言介绍和猜数字游戏的实现

文章目录 Rust语言介绍和猜数字游戏的实现cargo是什么使用Rust编写猜数字 Rust语言介绍和猜数字游戏的实现 Rust语言是一种系统编程语言,核心强调安全性、并发性以及高性能,由类似于C/C的底层控制能力,性能也非常接近,Rust有一些…...

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)测…...

【QT 多线程示例】两种多线程实现方式

文章目录 多线程实现方式一:继承QThread类方式二: 使用QObject::moveToThread()方法 多线程实现 在Qt中,实现多线程编程有两种常见的方式,它们分别是通过继承QThread类和使用QObject::moveToThread()方法。 方式一:继…...

excel文件有两列,循环读取文件两列赋值到字典列表。字典的有两个key,分别为question和answer。将最终结果追加到json文件

import pandas as pd import json import osdef excel_to_json_append(excel_path, json_path):# 1. 读取Excel数据到字典列表df pd.read_excel(excel_path, usecols["question", "answer"])new_data [{"question": str(row["question&qu…...

以太网 MAC 帧格式

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

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

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