数据库不小心删除恢复

数据库不小心删除或者表不小心删除,通过mysql恢复的话需要确保删除前是mysql是开启binlog。

具体步骤:

1.查询binlog状态以及位置。

在/etc/my.cfg查看binlog开启状态:

cat /etc/my.cnf


可以看到binlog开始状态是开启的。

2. mysql查询执行的binlog文件。

目标文件是mysql-bin.000053

3.利用mysqlbinlog转化文件格式,获取想要恢复的位置。

cd /usr/local/mysql/bin
mysqlbinlog 执行文件在以上路径

mysql-bin.000053在/usr/local/mysql/var中。

执行,test需要恢复的数据库

mysqlbinlog --no-defaults --base64-output='decode-rows' -d test -v mysql-bin.000053 > /home/test
4.在导出的test文件中查找需要回退的位置。

选取位置为817759979,由于我是整个数据库出现的数据混乱以及替换,全部回退。

5.恢复数据。

删除原有的数据库(以防万一,提前做好备份)。

./mysqlbinlog -d test --stop-position=817759979 /usr/local/mysql/var/mysql-bin.000053  | mysql -uroot -ppasswd
命令执行完成就已经恢复到需要恢复的指定点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuxizhou1994

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值