分场景,对于mysql的数据恢复做一下总结:
一、有全备份
1、物理备份
比如使用xtrabackup,库级别的恢复,直接新搭建一个库,进行恢复就行。
对于表级别的快速恢复,可以使用恢复表空间,直接拷贝ibd文件就ok(myisam直接拷贝授权即可,innodb还需要执行alter table t discard/import tablespace)
2、逻辑备份
比如使用mydumper,库级别可以直接恢复。表级别可以恢复单个的sql文件。
对于mysqldump,恢复单表可以使用如下方法
sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `order`/!d;q' /backup/order.sql
grep 'INSERT INTO `order`' /backup/dbname.sql > order_data

本文总结了MySQL在不同故障场景下的数据恢复方法,包括有全备份时的物理和逻辑备份恢复,无全备份但有binlog的情况,以及丢失数据如DELETE、DROP操作后的恢复策略,甚至面对rm删除文件的应急措施。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



