mysql服务器被删了_在另一台服务器上还原被误删的 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

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

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 |

+---------------------+

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值