MySQL数据库,恢复truncate清理掉的表数据

本文介绍了如何使用MySQL的binlog日志恢复误删数据。首先,通过`show binary logs`和`show binlog events in 'log_name'`查询清理表操作的位置。然后,利用`mysqlbinlog`命令创建备份数据库和表,并将数据恢复到备份中。接着,将特定范围的日志内容生成SQL文件,最后将数据从备份导入原数据库,完成数据恢复。
摘要由CSDN通过智能技术生成

#在数据库可视化工具中,通过以下两条语句,查询mysql操作日志,查找最近两次truncate清理表数据的节点,准备恢复两次truncate之间新建的数据,并新建备份数据库和表,表结构要和原数据库表结构一致
show binary logs;
show binlog events in 'log_name';

#在DOS命令行窗口,把原数据库truncate清除掉的数据,恢复到备份数据库中
mysqlbinlog --rewrite-db="原数据库->备份数据库" --start-position=503860 --stop-position=507768 log_name|mysql -S /tmp/mysql.sock 备份数据库 -uroot -p(数据库登录密码)


#在DOS命令行窗口,把truncate清除掉的某个表数据,恢复到备份表中
mysqlbinlog --rewrite-db="原表->备份表" --start-position=503860 --stop-position=507768 log_name|mysql -S /tmp/mysql.sock 备份表 -uroot -p(数据库登录密码)

#备份用数据库数据,拷贝回原数据库
INSERT INTO 原数据库.表 SELECT * FROM 备份数据库.备份表;

#数据恢复时,也可把操作日志内容,进行截取,生成sql文件
mysqlbinlog --start-position=503860 --stop-position=507768 log_name > sql文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值