误删MySQL 数据如何复原
admin
2023-04-21 06:23:28
0

本文主要给大家介绍误删MySQL 数据如何复原,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。

数据库备份语句

mysqldump -S /tmp/mysql3309.sock -u root -pMySQL8.0 \
--single-transaction \
--quick --flush-logs \
--triggers \
--routines \
--events \
--set-gtid-purged=OFF \
--databases testdb > testdb.dump

备份时表 nw 存在以下数据

mysql> select * from nw;
+---------------------+
| dt                  |
+---------------------+
| 2018-11-12 10:20:26 |
| 2018-11-12 10:20:27 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:29 |
| 2018-11-12 10:30:53 |
| 2018-11-12 10:30:54 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:56 |
| 2018-11-12 10:30:57 |
| 2018-11-12 10:30:57 |
+---------------------+

将最近的备份和备份后的二进制文件拷贝另一台有 MySQL 实例的云服务器B

将二进制文件提取为明文文件,查询数据删除的时间点

误删MySQL 数据如何复原

mysqlbinlog --base64-output=decode-rows -v binlog.000006 > result.sql
#181112 10:34:23 server id 3309  end_log_pos 2846       Delete_rows: table id 694 flags: STMT_END_F
### DELETE FROM `testdb`.`nw`
### WHERE
###   @1=1541989226
### DELETE FROM `testdb`.`nw`

在服务器B上还原数据库

mysql -S /tmp/mysql3309.sock -u root -pMySQL8.0 < testdb.dump

将删除数据前的二进制日志重新应用到数据库

mysqlbinlog --stop-datetime="2018-11-12 10:34:00" \
--skip-gtids binlog.000006 | \
mysql -S /tmp/mysql3309.sock -u root -pMySQL8.0

将表 nw dump 出来

mysqldump -S /tmp/mysql3309.sock -u root -pMySQL8.0 \
--single-transaction \
--quick --flush-logs \
--triggers \
--routines \
--events \
--set-gtid-purged=OFF \
testdb nw > nw.dump

提取 nw.dump 中的 insert 语句

grep "INSERT INTO \`nw\` VALUES" nw.dump > insert.sql

将 insert 语句在原数据库执行,查询结果数据已经恢复

mysql> use sbtest;
mysql> source insert.sql
mysql> select * from nw;
+---------------------+
| dt                  |
+---------------------+
| 2018-11-12 10:20:26 |
| 2018-11-12 10:20:27 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:28 |
| 2018-11-12 10:20:29 |
| 2018-11-12 10:30:53 |
| 2018-11-12 10:30:54 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:55 |
| 2018-11-12 10:30:56 |
| 2018-11-12 10:30:57 |
| 2018-11-12 10:30:57 |
| 2018-11-12 10:33:37 |
| 2018-11-12 10:33:38 |
| 2018-11-12 10:33:39 |
| 2018-11-12 10:33:40 |
| 2018-11-12 10:33:40 |
| 2018-11-12 10:33:41 |
| 2018-11-12 10:33:42 |
| 2018-11-12 10:33:42 |
| 2018-11-12 10:33:43 |
+---------------------+

注意:不要在原服务器上执行还原操作

看了以上关于误删MySQL 数据如何复原,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

相关内容

热门资讯

燃气发电与电池储能相结合,成为... 来源:市场资讯 (来源:i商周) 孟菲斯一座xAI数据中心的燃气轮机 人工智能的用电飙升,让数据中心...
景嘉微:JM11性能大幅提升,... 有投资者在互动平台向景嘉微提问:“董秘您好!关注到近期有用户反馈公司JM11显卡推出了适配windo...
原创 v... 影像的发展进一步推动,不少品牌推出了专业影像手机,拥有2亿像素摄像头、色彩还原摄像头、影像芯片、影像...
荣耀首款自研耳夹式耳机官宣即将... 快科技5月13日消息,日前,荣耀首席营销官关海涛宣布,荣耀全场景团队自研首款耳夹式耳机马上上市,并称...
谷歌推出Googlebooks... IT之家 5 月 13 日消息,2026 年 I/O 开发者大会下周(5 月 19~20 日)召开之...
自控所推动GNC专业智能化升级 来源:滚动播报 (来源:中国航空报) 本报讯 5月6日,航空工业自控所召开 GNC+AI关键技术研发...
华电电力申请数据库访问方法专利... 国家知识产权局信息显示,华电电力科学研究院有限公司申请一项名为“数据库访问方法、装置、设备及介质”的...
苏州率先打造数据流通利用新范式 数据,作为第五大生产要素 具有流动性强、非消耗性、非均质性等特点 苏州率先打造数据流通利用新范式 夯...
伊媒披露伊美新一轮谈判5个先决... 当地时间5月12日,据伊朗法尔斯通讯社援引知情人士消息报道,伊朗对与美国新一轮谈判提出的5个先决条件...
英国将向霍尔木兹海峡多国护航行... 当地时间12日,总台记者从英国国防部获悉,英国将向在霍尔木兹海峡执行任务的多国护航行动提供无人机、战...