使用 mysqldump 实现 MySQL 5.7 基于时间点的恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 mysqldump 实现 MySQL 5.7 基于时间点的恢复相关的知识,希望对你有一定的参考价值。

创建测试数据
技术分享图片
全备数据库

mysqldump --single-transaction --flush-logs --master-data=2 --all-databases --triggers --routines --events --set-gtid-purged=off> backup.sql

再新增测试数据
技术分享图片
删除表中所有数据
技术分享图片
确认最近一次备份后的二进制日志保存文件
技术分享图片
技术分享图片

确认删除数据的时间点

mysqlbinlog --base64-output=decode-rows -v mysql01-bin.000011 > result.sql
vim result.sql 

技术分享图片
还原数据库

mysql < backup.sql 

检查表中的数据,说明还原成功
技术分享图片
恢复删除的数据

mysqlbinlog --stop-datetime="2018-09-06 16:42:36" --skip-gtids mysql01-bin.000011 | mysql

检查表中的数据,说明已经恢复成功
技术分享图片

以上是关于使用 mysqldump 实现 MySQL 5.7 基于时间点的恢复的主要内容,如果未能解决你的问题,请参考以下文章

通过 mysqldump 完全恢复 MySQL 5.7 数据库

通过 mysqldump 搭建基于 gtid MySQL 5.7 主从复制

MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟

mysqldump 仅数据

如何将 MySQL 5.5.40 升级到 MySQL 5.7

mac mysql5.5升级5.7记录