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

mysql通过binlog恢复数据

原文地址

一、查看是否开启binlog

是否开启

SHOWVARIABLESLIKE'log_bin';

开启的模式

SHOWVARIABLESLIKE'binlog_format';

查看当前使用的哪个文件

showmasterstatus

查看所有
我们通过文件的最后修改时间,可以看出binlog覆盖的时间范围。一般后缀的数字越大,表示越新。

showmaster logs

查看保存位置

SHOWVARIABLESLIKE'log_bin_basename';

查看内容分析

mysqlbinlog --base64-output=decode-rows-v--start-datetime="2024-09-12 11:59:00"--stop-datetime="2024-09-12 12:01:00"mysql-bin.000213>binlog.sql


mysqlbinlog命令即可直接恢复等

二、删除命令恢复python脚本

自己改下脚本的表什么的

importreif__name__=='__main__':# 读取文件withopen(r'D:\pythonTools\Models\test.txt','r',encoding='utf-8')asf:content=f.read()# 分割每条 DELETE 记录blocks=content.split('DELETE FROM `dhgx_cloud_test`.`sys_user`')[1:]inserts=[]forblockinblocks:# 提取所有 @N=xxx 行matches=re.findall(r'###\s+@(\d+)=(.*)',block)ifnotmatches:continue# 构建字典 {位置: 值}values={}forpos,valinmatches:pos=int(pos)val=val.strip()ifval=='NULL':values[pos]='NULL'elifval.startswith("'")andval.endswith("'"):values[pos]=val# 保留引号else:values[pos]=f"'{val}'"# 非 NULL 且非字符串(如数字)也加引号更安全(MySQL 允许)# 确保有26个字段(缺失的设为 NULL)row=[]foriinrange(1,27):row.append(values.get(i,'NULL'))sql=f"""INSERT INTO `dhgx_cloud_test`.`sys_user` ( `user_id`, `dept_id`, `user_name`, `nick_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`, `login_ip`, `login_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`, `version`, `custom_id`, `is_ent_admin`, `ent_id`, `ent_name`, `position`, `enti_identity` ) VALUES ({', '.join(row)});"""inserts.append(sql)# 输出到文件withopen('./recover_sys_user.sql','w',encoding='utf-8')asf:f.write('\n'.join(inserts))print(f"已生成{len(inserts)}条 INSERT 语句,保存至 recover_sys_user.sql")
http://www.cnnetsun.cn/news/2005289.html

相关文章:

  • HarmonyOS 6.0 开发实战:ArkTS 新特性与 AI 智能体开发指南(2026 最新版)
  • 低光照图像增强预处理优化:让YOLOv5在暗光环境下也能精准检测
  • Java抽象类深度解析(面试必备)
  • 别再被4K、8K忽悠了!聊聊电视行(TVLine)和水平清晰度,这才是画面清晰度的老底
  • LeetCode 热题 100-----4. 移动零
  • 《每个女孩都是生活家》
  • Qwen-Image-Edit-2509保姆级入门:手把手教你用AI智能编辑图片,小白也能变大神
  • 3分钟永久激活Windows和Office:KMS_VL_ALL_AIO智能脚本终极指南
  • HTML函数在旧版Windows跑得动吗_系统版本与硬件协同影响【指南】
  • Spring Cloud Eureka停更后,我们团队是如何平滑迁移到Nacos的(附完整配置对比)
  • WooCommerce 多联盟站点动态追加 Affiliate ID 教程
  • 适合放在简历上的开源项目与练手项目Idea清单
  • 技术债务:识别、度量与管理策略
  • RTX 4090跑Stable Diffusion终极配置:从显存分配到LoRA训练避坑全攻略
  • Go语言的sync.RWMutex中的策略性能优化
  • GitX智能版本控制助手:告别Git命令行,让版本控制更高效
  • 高效解密网易云音乐NCM格式:ncmdumpGUI专业实战指南
  • AGV机械臂功率链路设计实战:动态响应、功率密度与可靠性的平衡之道
  • 短信验证码接口被刷如何防范?
  • Harness 架构 与 LangChain、LangGraph 三者联动 的底层逻辑 。<Harness 学习圣经> 之二
  • mfc140.dll文件丢失损坏怎么办? 免费下载方法分享
  • STNN算法研究
  • 卷积改进与轻量化:自适应任意采样:AKConv(可改变核卷积)在 YOLOv11 中的实战,应对极度形变目标
  • 考虑极端天气线路脆弱性的配电网分布式电源配置优化模型【IEEE33节点】(Matlab代码实现)
  • Dify车载问答系统开发全链路拆解:从语音唤醒适配到车规级响应优化的7大关键决策点
  • CSS如何高效引入样式表_对比link标签与import指令的性能差异
  • STM32串口调试流程讲解
  • 告别死记硬背:用Python+SymPy从焦点和顶点自动生成三维旋转抛物面方程
  • mysql如何使用like进行模糊查询_mysql模糊匹配实例
  • Chrome-QRCode:浏览器中的智能二维码助手,让跨设备分享变得如此简单