MySQL 误操作恢复表

说来好巧~前段时间正在写数据恢复应急预案,周一开发就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  
posted @ 2018-07-03 09:41  Time.catcher  阅读(2697)  评论(0编辑  收藏  举报