說來好巧~前段時間正在寫數據恢復應急預案,周一開發就delete掉表了,不慌不忙給恢復了,之后要經常做數據庫恢復預演,加快數據的恢復時間
開源工具地址: https://github.com/danfengcao/binlog2sql
誤drop表恢復,使用mysqldump備份
1.ddl刪除表不能開源binlog解析sql工具做恢復,需要配合備份一起來完成ddl恢復首先使用sed命令提取出建表的sql
sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `$table_name`/!d;q' $dbname.sql | mysql -u -p -h $dbname
2.提取出insert語句
grep --ignore-case 'insert into `$table_name`' $dbname.sql | mysql -u -p -h $dbname
3.使用binlog2sql找到drop之前的操作
python binlog2sql.py -h -u -p -P -d -t --start-file='' --start-file '' | mysql -u -p -h $dbname
DML恢復
python binlog2sql.py --flashback -h -u -p -P -d -t --start-file 'bin-log-mysqld.000011' | mysql -u -p -h
