10 如何通过MySQL日志提取某个表的操作记录

发布于 2020-08-07 11:46:40

有时候误删了某个表或某个表的一些记录,需要恢复单表,但MYSQL BINLOG日志都是整体的,而且是二进制形式存在的,请问怎样恢复单表数据?

查看更多

关注者
0
被浏览
173
冯工
冯工 认证专家 2020-08-07
十年数据库运维优化经验,服务各行业数据库,成功案例5000+

可直接使用mysqlbinlog工具解析BINLOG日志文件
执行sql部分的sql显示为base64编码格式
固生成sql记录的时候 不能用常规的办法去生成 需要加上相应的参数才能显示出sql语句
--base64-output=decode-rows -v
参考下面实例(包括时间范围定义):

mysqlbinlog --base64-output=decode-rows -v --start-datetime='2017-05-15 00:00:00' --stop-datetime='2017-05-15 06:00:00' mysql-bin.000014 >/home/oa_0414_sql.txt

mysqlbinlog --base64-output=decode-rows -v --start-datetime='2017-05-26 08:00:00' --stop-datetime='2017-05-26 20:00:00' mysql-bin.000007 >/home/fulecp_0526.sql

--最后在上面的生成sql文件的基础上,恢复指定表的SQL

grep -B3 -w xy_members fule_0525_sql.txt >xy_member.sql

上述意思是提取xy_members表的操作记录,用于单表恢复!

1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览