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  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM