mysql主从断开后问题排查及修复
服务器mysql主从同步断开后,进行主从恢复
问题:mysql的主从断开了,在从服务器上通过以下命令查看状态,发现Slave_SQL_Running为No
SHOW SLAVE STATUS\G;
Slave_IO_Running:表示从服务器读取主服务器日志的线程
Slave_SQL_Running:表示从服务器执行日志的线程(一般都是这个失效导致主从不同步)
解决思路:
因为本地的主从数据库很早就断开了,导致后面很多数据不一致,索性直接将主库的数据先拷贝一份(项目已上线,所以会一直有数据操作。备份主服务器数据库的数据时需先查看主服务器的当前日志文件及偏移量),然后将主服务器拷贝的数据同步到从服务器,之后在从服务器重新配置与主服务器的关系(一般是需要调整,应为查看主服务器状态和备份数据存在一点时间差,所以这个阶段的操作可能会多备份一点数据)。
ps:测试服是一台服务器配置的主从,正式是两台。
单台服务器配置主从和参开前期文章[单机一主一从配置],
单机一主一从解决方案:
- 查看主服务器的状态(登录mysql后操作)
SHOW MASTER STATUS;
- 主服务器数据备份(mysql安装bin目录下执行,需指定端口)
./mysqldump -u root -p --host=127.0.0.1 --port=3307 --all-databases --master-data=2 > dump.sql
- 备份的数据同步至从服务器(mysql安装bin目录下执行,需指定端口)
./mysql -u root -p --host=127.0.0.1 --port=3308 < dump.sql
- 从服务器暂停后重置(需登录mysql操作)
-- 暂停从服务器
STOP SLAVE;-- 从服务重置
RESET SLAVE ALL;
- 从服务器建立与主服务器绑定关系(需登录mysql操作)
CHANGE MASTER TOMASTER_HOST = '主服务器ip',MASTER_PORT = 3306, --主服务器端口MASTER_USER = 'copy', --之前设置的从用户账户 MASTER_PASSWORD = 'XXXXXXX', -- 主服务器密码MASTER_LOG_FILE = 'master1-bin.000048', -- 你需要确认日志文件名(参考第一步)MASTER_LOG_POS = 190395145; -- 日志文件位置(参考第一步)
- 重新启动从服务器
START SLAVE;
- 查看从服务器状态
SHOW SLAVE STATUS\G;
若重启后还是存在问题,继续按照下面的方法逐步排查修复(若两个都是Yes,则表示主从已经配置好了,不用继续执行下面的步骤了)
- 执行下面的命令,查询是什么数据导致的失败(一般就是找不到记录、逐渐冲突等)
select * from performance_schema.replication_applier_status_by_worker\G;
上面就表示日志中主库有一个修改操作,然后操作同步至从库时,在从库中未找到对应记录,解决方法就是将主库的这条数据单独拷贝到从库。
但是不知道具体是哪一条,需要看第9步骤对应的命令
- 查看主库日志文件,定位错误
./mysqlbinlog --no-defaults -v -v --base64-output=decode-rows /usr/local/mysql-8.0.31/data/3307/master1-bin.000048 | grep -A 20 "end_log_pos 190437215" --color
/usr/local/mysql-8.0.31/data/3307/master1-bin.000048:表示主库对应的错误日志位置
end_log_pos 190437215:表示日志中的位置偏移
可以看到@n对应的值就是数据表的字段,查询xxl_job.xxl_job_log表第一个字段值为“1689280”对应的记录,并拷贝至从库
- 再次执行4-7步骤,直至Slave_IO_Running=Yes, Slave_SQL_Running=Yes
相关文章:

mysql主从断开后问题排查及修复
服务器mysql主从同步断开后,进行主从恢复 问题:mysql的主从断开了,在从服务器上通过以下命令查看状态,发现Slave_SQL_Running为No SHOW SLAVE STATUS\G;Slave_IO_Running:表示从服务器读取主服务器日志的线程 Slave_…...

[2025] 如何在 Windows 计算机上轻松越狱 IOS 设备
笔记 1. 首次启动越狱工具时,会提示您安装驱动程序。单击“是”确认安装,然后再次运行越狱工具。 2. 对于Apple 6s-7P和iPad系列(iOS14.4及以上),您应该点击“Optinos”并勾选“允许未经测试的iOS/iPadOS/tvOS版本”&…...

计算机网络—————考研复试
第一章、计算机网络体系结构 1. OSI参考模型和TCP/IP模型: OSI与TCP/IP的记忆方法:只需把OSI的七层记住,将应用层、表示层、会话层一起记,到TCP/IP变成应用层。物理层和数据链路层换成网络接口层。把网络层换个字变成网际层。 而…...

[pdf、epub]260道《软件方法》强化自测题业务建模需求分析共216页(202412更新)
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 260道《软件方法》强化自测题业务建模需求分析共216页(202412更新) 已上传到本CSDN账号的资源 如果下载不到,也可以访问以下链接: ht…...

LeetCode - 初级算法 数组(只出现一次的数字)
只出现一次的数字 这篇文章讨论如何找到一个数组中只出现一次的数字,确保算法的时间复杂度为线性,且只使用常量额外空间。 免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 描述 给定一个非空整数数组 nums,除了某个元素只出现一次以外,其余每个元素均出现两…...
Android性能优化概述
应用启动速度慢页面加载慢交互卡顿CrashANR 针对这些问题,可以逐一进行优化 1.启动优化 Android应用启动分为冷启动和热启动以及初次安装启动,此处只分析冷启动及热启动 冷启动:当设备无该应用进程时,用户操作拉起应用ÿ…...
C++ 实现map容器从大到小排序
map容器默认从小到大排序 利用仿函数可以修改map容器的排序规则为从大到小 示例: #include<iostream> #include<string> #include<map> using namespace std; class MyCompare { public: bool operator()(const int v1, const int v2) co…...
java中的文件操作
基础知识 1.File类对象的常用方法 一、 创建文件和目录 1.createNewFile() 用于创建一个新的文件,如果文件已经存在,则返回 false File file new File("C:\\Users\\P51\\Desktop\\file.txt"); file.createNewFile(); 2.mkdir() 用于创建一个…...

修复OpenHarmony系统相机应用横屏拍照按钮点不到的问题
适配OpenHarmony系统相机应用横屏UI, 相关pr: https://gitee.com/openharmony/applications_camera/pulls/233/files 适配效果 如何安装 编译好的hap提供在附件中 1.预置在源码,随固件安装 2.安装hap hdc shell "mount -o remount,rw /"…...

2024165读书笔记|《飞花令·合》——人生飘忽百年内,且须酣畅万古情
2024165读书笔记|《飞花令合》—— 人生飘忽百年内,且须酣畅万古情 屈原班婕妤曹植刘绘卢思道卢照邻苏味道刘希夷李白高适杜甫司空曙白居易温庭筠韦庄窦叔向张泌林逋柳永晏殊欧阳修李觏舒亶秦观陈瓘李清照陆游辛弃疾姜夔蒋捷吴伟业纳兰性德张惠言邓廷桢 《飞花令合》…...

哈夫曼编码(Huffman Coding)与哈夫曼树(Huffman Tree)
已知字符集{a,b,c,d,e,f},若各字符出现的次数分别为6,3,8,2,10,4,则对应字符集中各字符的哈夫曼编码可能是( )。 A.00,1011,01࿰…...
Django项目中高效管理和使用选择常量
引言 在开发Django项目时,我们经常需要处理各种选择字段,比如用户类型、订单状态或产品分类等。如何有效地管理这些选择常量,使其在整个项目中保持一致性,同时又易于维护和更新呢?本文将介绍一种在Django项目中集中管理和使用选择常量的方法。 正文 © ivwdcwso (I…...
拦截器(Interceptor)的使用
在Java Web开发中,拦截器(Interceptor)是一种动态拦截请求和响应的对象,它可以在请求被控制器处理之前和之后执行一些预处理和后处理逻辑。要定义一个拦截器并使其生效,通常需要以下几个步骤: 1. 定义拦截…...
线段树例题题解
卫星覆盖(NOI1997) 题面: SERCOI(Space-Earth Resource Cover-Observe lnstitute) 是一个致力于利用卫星技术对空间和地球资源进行覆盖观测的组织。现在他们研制成功一种新型资源观测卫星 -SERCOI-308。这种卫星可以…...
AI提示词工程的“优化背后”:如何通过精准提示提升模型性能?
提示词工程(Prompt Engineering)已经成为推动AI模型如GPT等发挥其强大能力的核心。AI模型的输出质量与输入的提示词密切相关。因为之前已经大致用过一段时间提示词,所以这篇文章集中在有一定基础,起码对提示词不陌生,想要去设计和优化提示词+处理复杂问题的时候不知道如何…...
c# Record关键字
在 C# 9.0 中引入了 record 关键字,用于定义记录类型(Record Types)。记录类型是一种轻量级的数据载体,专注于表示数据,它提供了内置的相等性比较、生成属性和方法等功能,使得编写数据类更加简洁和高效。 …...

高效管理 Nginx 的利器:nginxWebUI 指南和 Docker 部署安装过程
前言 Nginx WebUI 是一个为 Nginx 提供图形化管理界面的工具。通过 WebUI,用户可以轻松管理 Nginx 配置,而无需直接编辑配置文件,尤其适合新手用户和频繁修改配置的场景。 官网文档:nginxWebUI - 文档 本文将分享为什么选择 ngin…...

家政预约小程序04活动管理表结构设计
目录 1 创建活动表2 创建活动规则表3 创建活动参与记录表总结 为了满足我们日常的营销,我们通常需要搞一些活动,比如满减、折扣、团购等。启动活动后,会在首页进行显示,当用户访问小程序的时候,就可以参与活动…...

谷歌浏览器的在线存储功能使用方法
谷歌浏览器不仅是目前全球使用最广泛的网络浏览器之一,它还集成了许多实用的功能来提升用户体验。其中,谷歌浏览器的在线存储功能允许用户将数据保存在云端,实现跨设备的无缝同步和共享。本文将详细介绍如何在谷歌浏览器中使用这一功能。 一、…...

HT-HaiBOX边缘计算盒 智慧工厂方案,智慧医疗方案,智慧加油站方案,智慧安防方案,智慧城市方案;方案定制开发
背景介绍 在当今数字化时代,各个行业对于智能化视频监控设备的需求日益增长。无论是安防监控,还是智慧工厂、智慧城市等领域,都需要高效、智能的设备来保障安全和提高生产效率。然而,传统的视频监控设备存在诸多痛点:…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...