MySQL通过binlog恢复误删数据
背景:binlog记录数据库所有的DDL和DML语句,当误删除数据时可以通过binlog找回,不过当binlog超过过期时间则无法再找回过期时间前的日志。
1.binlog存放位置:show variables like "%log_bin_basename%";
2.binlog过期时间:show variables like "%expire_logs_days%";
示例:
当2021-07-10 03:34:53时误删了数据,找到此时间段的binlog日志,将其放到tmp目录下/tmp/mysql_bin_39998.000682,将此时间区间(时间范围可以自定义,2021-07-10 03:34:47到021-07-10 03:35:00)执行过的sql语句生成到/tmp/binlog1.sql里,然后在生成的binlog1.sql文件里找到当时的删除记录,再手工转换为insert语句补回数据。
(注: 时间区间越精确、越小越好,生成的sql文件会很有几十M到几百M不等)
/usr/local/mysql/bin/mysqlbinlog --no-defaults --base64-output=decode-rows -d 库名 /tmp/mysql_bin_39998.000682 -v --start-datetime='2021-07-10 03:34:47' --stop-datetime='2021-07-10 03:35:00'> /tmp/binlog1.sql
MySQL通过binlog恢复误删数据
背景:binlog记录数据库所有的DDL和DML语句,当误删除数据时可以通过binlog找回,不过当binlog超过过期时间则无法再找回过期时间前的日志。...
点击下载文档
上一篇:部署包将增加pg部署配置下一篇:苍穹MySQL数据库用户权限
本文2024-09-23 01:13:43发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144596.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章