mysql数据库如何用binlog日志恢复到指定时间点

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

mysql数据库如何用binlog日志恢复到指定时间点

一 问题

从xtrabackup备份的数据已经恢复了,但是备份后插入的数据没有出现,这时我们需要通过binlog日志进行恢复这部分数据。

二 方案

查看备份时的pos点和binlog的文件名

cd  /data/2023-07-17_09-40-54/

注意:备份路径换成对应的

查看具体的起始binlog

cat  xtrabackup_binlog_infomysql-bin.000007  1014

注意:1014是起始的pos

找到误操前的一个POS点进行恢复

找到drop table 前的POS点

mysqlbinlog  -v --base64-output=DECODE-ROWS  ../mysql-bin.000007 | grep -C 10 -i  "DROP"

注意:DROP换成对应的关键字,位置在DROP操作前的at后(# at 1323

通过binlog2sql进行标准SQL的生成

部署工具binlog2sql请参考链接如下

https://vip.kingdee.com/article/458646913491973632

生成recovery的sql语句

python binlog2sql.py  -uroot  -p123456  -dlanhai_drp  -ttest  --start-position=1014 --stop-position=1323  --start-file='mysql-bin.000007'  >  recovery_test.sql

注意:用户名,密码,库名,表名及起始的pos换成对应的。1323是关键字DROP对应操作前的pos# at 1323)。

导入恢复的sql文件即可进行备份后的数据恢复

mysql  -uroot  -p123456  <  recovery_test.sql

注意:用户密码换成对应的

查验表数据

select * from test

 


mysql数据库如何用binlog日志恢复到指定时间点

一 问题从xtrabackup备份的数据已经恢复了,但是备份后插入的数据没有出现,这时我们需要通过binlog日志进行恢复这部分数据。二 方案查看...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息