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

MySQL基于binlog和gtid主从搭建方案

MySQL基于binlog和gtid主从搭建方案

一.主库配置

1.1 确认 binlog 是否开启
SHOW VARIABLES LIKE '%log_bin%';
1.2 创建日志目录并设置权限
mkdir -p /opt/mysql/log_bin
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
1.3 修改 my.cnf 配置文件

基于二进制日志(Binlog)文件:

[mysqld]
server-id = 1 #主库的唯一标识
log-bin = /opt/mysql/log_bin/mysql-bin #开启二进制日志,指定文件路径
log_bin_basename = /opt/mysql/log_bin/mysql-bin
log_bin_index = /opt/mysql/log_bin/mysql-bin.index
binlog_format = ROW # 推荐设置为 ROW 格式,确保复制一致性

基于全局事务标识符(GTID):

[mysqld]
server_id = 1
gtid_mode = on
enforce_gtid_consistency = 1
# binlog group commit
binlog_group_commit_sync_delay = 100
binlog_group_commit_sync_no_delay_count = 20
binlog_format = ROW # 建议设置为ROW模式,确保复制时的一致性
log_bin = mysql-bin # 必须开启二进制日志,确保主库有日志可供从库读取
sync_binlog = 1

1.4 创建用于复制的账户并授予权限

CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
flush privileges;
1.5 查看主库的二进制日志状态
SHOW MASTER STATUS\G;
  • File:表示当前二进制日志文件。

  • Position:表示二进制日志的位置。

1.6 全库导出

使用 mysqldump 进行全库导出。

基于二进制日志(Binlog)文件:

mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --master-data=2 --all-databases > /home/mysql/quanbei.sql

基于全局事务标识符(GTID):

5.7版本及以上。

mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --all-databases > /home/mysql/quanbei.sql

从库配置

2.1 修改从库的 my.cnf 配置文件

基于二进制日志(Binlog)文件:

[mysqld]
server-id = 2
read-only = 1  # 设置只读模式
relay_log = /opt/mysql/log_bin/relay-bin # 指定中继日志路径

基于全局事务标识符(GTID):

[mysqld]
server_id = 561013307
gtid_mode = on
enforce_gtid_consistency = 1
report_host = 'slave1' #别名
log_slave_updates = 1
relay_log = /opt/mysql/log_bin/relay-bin # 建议显式指定中继日志
read_only = 1  # 确保从库为只读模式,防止误写
2.2 重启 MySQL 服务
2.3 导入主库的全库数据

将从主库导出的 quanbei.sql 文件复制到目标机器。

mysql -u<用户名> -p<密码>

source /quanbei.sql

开启同步并验证

3.1 配置主从关系

基于二进制日志(Binlog)文件:

CHANGE REPLICATION SOURCE TOSOURCE_HOST = '主库IP',SOURCE_USER = 'xxxxx',SOURCE_PASSWORD = '123456',SOURCE_LOG_FILE = 'mysql-bin.000269',SOURCE_LOG_POS = 604612268;

基于全局事务标识符(GTID):

CHANGEMASTERTOMASTER_HOST='123.123.123.123', -- 主库的 IP 地址MASTER_PORT=3306, -- 主库的端口(通常是 3306)MASTER_USER='repl', -- 用于复制的用户名MASTER_PASSWORD='123456', -- 用于复制的用户密码MASTER_CONNECT_RETRY=10, -- 连接主库失败时的重试间隔时间(秒)MASTER_AUTO_POSITION=1; -- 启用基于 GTID 的复制,自动定位日志位置

-- MySQL 5.7 的命令为 CHANGE MASTER TO,而 MySQL 8.0 则使用 CHANGE REPLICATION SOURCE TO。

3.2 启动从库同步
START SLAVE;  -- 
MySQL 5.7 使用START REPLICA;  -- 
MySQL 8.0 使用
3.3 验证主从同步状态

在主库上查看二进制日志状态:

SHOW MASTER STATUS\G;

在从库上查看复制状态:

SHOW SLAVE STATUS\G;  --
MySQL 5.7SHOW REPLICA STATUS\G;  -- 
MySQL 8.0

相关文章:

MySQL基于binlog和gtid主从搭建方案

MySQL基于binlog和gtid主从搭建方案 一.主库配置 1.1 确认 binlog 是否开启 SHOW VARIABLES LIKE %log_bin%; 1.2 创建日志目录并设置权限 mkdir -p /opt/mysql/log_bin chown -R mysql:mysql /usr/local/mysql chmod -R 755 /usr/local/mysql 1.3 修改 my.cnf 配置文件 …...

5 计算机网络

5 计算机网络 5.1 OSI/RM七层模型 5.2 TCP/IP协议簇 5.2.1:常见协议基础 一、 TCP是可靠的&#xff0c;效率低的&#xff1b; 1.HTTP协议端口默认80&#xff0c;HTTPSSL之后成为HTTPS协议默认端口443。 2.对于0~1023一般是默认的公共端口不需要注册&#xff0c;1024以后的则需…...

Vim跳转文件及文件行结束符EOL

跳转文件 gf 从当前窗口打开那个文件的内容&#xff0c;操作方式&#xff1a;让光标停在文件名上&#xff0c;输入gf。 Ctrlo 从打开的文件返回之前的窗口 Ctrlwf 可以在分割的窗口打开跳转的文件&#xff0c;不过在我的实验不是次次都成功。 统一行尾格式 文本文件里存放的…...

智能理解 PPT 内容,快速生成讲解视频

当我们想根据一版 PPT 制作出相对应的解锁视频时&#xff0c;从撰写解锁词&#xff0c;录制音频到剪辑视频&#xff0c;每一个环节都需要投入大量的时间和精力&#xff0c;本方案将依托于阿里云函数计算 FC 和百炼模型服务&#xff0c;实现从 PPT 到视频的全自动转换&#xff0…...

【鸿蒙开发】第二十四章 AI - Core Speech Kit(基础语音服务)

目录 1 简介 1.1 场景介绍 1.2 约束与限制 2 文本转语音 2.1 场景介绍 2.2 约束与限制 2.3 开发步骤 2.4 设置播报策略 2.4.1 设置单词播报方式 2.4.2 设置数字播报策略 2.4.3 插入静音停顿 2.4.4 指定汉字发音 2.5 开发实例 3 语音识别 3.1 场景介绍 3.2 约束…...

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案&#xff0c;包括 DTO语言 更全面更强大的缓存机制&#xff0c;以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力&#xff0c;包括Jimmer独创的远程异常 …...

番外02:前端八股文面试题-CSS篇

一&#xff1a;CSS基础 1&#xff1a;CSS选择器及其优先级 2&#xff1a;display的属性值及其作用 属性值作用none元素不显示&#xff0c;并且会从文档流中移除block块类型&#xff0c;默认元素为父元素宽度&#xff0c;可设置宽高&#xff0c;换行显示inline行内元素类型&a…...

Redis Copilot:基于Redis为AI打造的副驾工具

我们最近发布了Redis Copilot&#xff0c;以帮助开发者更快地使用Redis构建应用。我们的使命是使应用程序快速运行&#xff0c;并简化构建过程。为此&#xff0c;Redis Copilot作为您的AI助手&#xff0c;能够让您更迅速地完成与Redis相关的任务。您今天就可以在Redis Insight中…...

JavaScript遍历对象的7种方式

注&#xff1a;纯手打&#xff0c;如有错误欢迎评论区交流&#xff01; 转载请注明出处&#xff1a;https://blog.csdn.net/testleaf/article/details/145523427 编写此文是为了更好地学习前端知识&#xff0c;如果损害了有关人的利益&#xff0c;请联系删除&#xff01; 本文章…...

如何避免NACK重传风暴

策略 1&#xff0c;10 次 NACK 模块对同一包号的最大请求次数&#xff0c;超过这个最大次数限制&#xff0c;会把该包号移出 nack_list&#xff0c;放弃对该包的重传请求。 策略 2&#xff0c;20 毫秒 NACK 模块每隔 20 毫秒批量处理 nack_list&#xff0c;获取一批请求包号…...

并发工具CountDownLatch、CyclicBarrier、Semaphore

文章目录 学习链接CountDownLatchCountDownLatch类的作用类的主要方法介绍图解await和countDown方法两个典型用法注意点总结示例CountDownLatchDemo1CountDownLatchDemo2CountDownLatchDemo1And2 CyclicBarrierCyclicBarrier循环栅栏CyclicBarrier和CountDownLatch的区别示例Cy…...

十二. Redis 集群操作配置(超详细配图,配截图详细说明)

十二. Redis 集群操作配置(超详细配图&#xff0c;配截图详细说明) 文章目录 十二. Redis 集群操作配置(超详细配图&#xff0c;配截图详细说明)1. 为什么需要集群-高可用性2. 集群概述(及其搭建)3. Redis 集群的使用4. Redis 集群故障恢复5. Redis 集群的 Jedis 开发(使用Java…...

网络工程师 (26)TCP/IP体系结构

一、层次 四层&#xff1a; 网络接口层&#xff1a;TCP/IP协议的最底层&#xff0c;负责网络层与硬件设备间的联系。该层协议非常多&#xff0c;包括逻辑链路和媒体访问控制&#xff0c;负责与物理传输的连接媒介打交道&#xff0c;主要功能是接收数据报&#xff0c;并把接收到…...

TensorFlow域对抗训练DANN神经网络分析MNIST与Blobs数据集梯度反转层提升目标域适应能力可视化...

全文链接&#xff1a;https://tecdat.cn/?p39656 本文围绕基于TensorFlow实现的神经网络对抗训练域适应方法展开研究。详细介绍了梯度反转层的原理与实现&#xff0c;通过MNIST和Blobs等数据集进行实验&#xff0c;对比了不同训练方式&#xff08;仅源域训练、域对抗训练等&am…...

保姆级教程--DeepSeek部署

以DeepSeek-R1或其他类似模型为例&#xff0c;涵盖环境配置、代码部署和运行测试的全流程&#xff1a; 准备工作 1. 注册 Cloud Studio - 访问 [Cloud Studio 官网](https://cloudstudio.net/)&#xff0c;使用腾讯云账号登录。 - 完成实名认证&#xff08;如需长期使用…...

机器学习之心的创作纪念日

机缘 今天&#xff0c;是我成为创作者的第1460天。 在这段时间里&#xff0c;获得了很大的成长。 虽然日常忙碌但还在坚持创作、初心还在。 日常 创作已经成为我生活的一部分&#xff0c;尤其是在我的工作中&#xff0c;创作是不可或缺的&#xff0c;创作都是核心能力之一。…...

VeryReport和FastReport两款报表软件深度分析对比

在当今数据驱动的商业环境中&#xff0c;报表软件已经成为企业管理和数据分析的重要工具。无论是中小型企业还是大型企业&#xff0c;都需要依赖高效的报表工具来快速生成、分析和展示数据。市面上有许多报表工具&#xff0c;其中VeryReport和FastReport是两款备受关注的报表软…...

libtorch的c++,加载*.pth

一、转换模型为TorchScript 前提&#xff1a;python只保存了参数&#xff0c;没存结构 要在C中使用libtorch&#xff08;PyTorch的C接口&#xff09;&#xff0c;读取和加载通过torch.save保存的模型&#xff08; torch.save(pdn.state_dict()这种方式&#xff0c;只保存了…...

去除 RequestTemplate 对象中的指定请求头

目录 目标实现获取 RequestTemplate 对象去除请求头 目标 去除 RequestTemplate 对象中的指定请求头&#xff0c;如 Authorization 等。 实现 获取 RequestTemplate 对象 获取 RequestTemplate 对象的方式有很多种&#xff0c;如 通过 feign 虚拟客户端配置器&#xff1a; …...

b s架构 网络安全 网络安全架构分析

目录 文章目录 目录网络安全逻辑架构 微分段&#xff08;Micro-segmentation&#xff09;防火墙即服务&#xff08;Firewall asa Service &#xff0c;FWaaS&#xff09;安全网络网关&#xff08;Secure web gateway&#xff09;净化域名系统&#xff08;Sanitized Domain Na…...

【DeepSeek论文精读】2. DeepSeek LLM:以长期主义扩展开源语言模型

欢迎关注[【AIGC论文精读】](https://blog.csdn.net/youcans/category_12321605.html&#xff09;原创作品 【DeepSeek论文精读】1. 从 DeepSeek LLM 到 DeepSeek R1 【DeepSeek论文精读】2. DeepSeek LLM&#xff1a;以长期主义扩展开源语言模型 【DeepSeek论文精读】3. DeepS…...

Spring Boot和SpringMVC的关系

Spring Boot和SpringMVC都是Spring框架的一部分&#xff0c;但它们的作用和使用方式有所不同。为了更好地理解它们的关系&#xff0c;我们可以从以下几个方面进行详细说明&#xff1a; 1. SpringBoot的作用 SpringBoot是一个开源框架&#xff0c;它的目的是简化Spring应用程序…...

java基础4(黑马)

一、方法 1.定义 方法&#xff1a;是一种语法结构&#xff0c;它可以把一段代码封装成一个功能&#xff0c;以便重复使用。 方法的完整格式&#xff1a; package cn.chang.define;public class MethodDemo1 {public static void main(String[] args) {// 目标&#xff1a;掌…...

nodejs - vue 视频切片上传,本地正常,线上环境导致磁盘爆满bug

nodejs 视频切片上传&#xff0c;本地正常&#xff0c;线上环境导致磁盘爆满bug 原因&#xff1a; 然后在每隔一分钟执行du -sh ls &#xff0c;发现文件变得越来越大&#xff0c;即文件下的mp4文件越来越大 最后导致磁盘直接爆满 排查原因 1、尝试将m3u8文件夹下的所有视…...

注意力机制(Attention Mechanism)和Transformer模型的区别与联系

注意力机制(Attention Mechanism) 和 Transformer 模型 是深度学习领域中的两个重要概念,虽然它们紧密相关,但有着明显的区别。下面我们将从 定义、作用、结构 和 应用 等多个维度来分析这两者的区别与联系。 1. 定义 注意力机制(Attention Mechanism): 注意力机制是一…...

C++,设计模式,【单例模式】

文章目录 一、模式定义与核心价值二、模式结构解析三、关键实现技术演进1. 基础版(非线程安全)2. 线程安全版(双重检查锁)3. 现代C++实现(C++11起)四、实战案例:全局日志管理器五、模式优缺点深度分析✅ 核心优势⚠️ 潜在缺陷六、典型应用场景七、高级实现技巧1. 模板化…...

C++:类和对象初识

C&#xff1a;类和对象初识 前言类的引入与定义引入定义类的两种定义方法1. 声明和定义全部放在类体中2. 声明和定义分离式 类的成员变量命名规则 类的访问限定符及封装访问限定符封装 类的作用域与实例化类的作用域类实例化实例化方式&#xff1a; 类对象模型类对象的大小存储…...

官网下载Redis指南

1.访问官网 https://redis.io/downloads/#stack 2.点击redis图标 拉到下面点击download 在新页面拉到最下面&#xff0c;点击install from source 找到需要的大版本后&#xff0c;点击releases page 最后点击下载需要的版本号即可...

活动预告 |【Part1】 Azure 在线技术公开课:迁移和保护 Windows Server 和 SQL Server 工作负载

课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课&#xff0c;掌握创造新机遇所需的技能&#xff0c;加快对 Microsoft 云技术的了解。参加我们举办的“迁移和保护 Windows Server 和 SQL Server 工作负载”活动&#xff0c;了解 Azure 如何为将工作负…...

【Linux系统编程】五、进程创建 -- fork()

文章目录 前言Ⅰ. 重温fork函数一、fork()的概念二、如何理解fork()有两个返回值 Ⅱ.fork的常规用法Ⅲ. fork调用失败的原因Ⅳ. 写时拷贝为什么存在写时拷贝❓❓❓ 前言 现阶段我们知道进程创建有如下两种方式&#xff0c;其实包括在以后的学习中这两种方式也是最常见的&#…...