mysql如何从全备份文件中恢复单库单表

mysql如何从全备份文件中恢复单库单表

从全备份中恢复单个库和单表方法

mysql -uroot -ppassword testdb --one-database 192.168.1.100_all_databases_dump_2021-11-18.sql

可以看出这里主要用到的参数是--one-database简写-o的参数,极大方便了我们的恢复灵活性

如何从全库备份中抽取某张表呢?可以利用正则表达式来进行快速抽取,具体实现方法如下:

第一步:(提取表结构schema语句)

sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `tbl_name`/!d;q' 192.168.1.100_all_databases_dump_2021-11-18.sql >/tmp/schema.sql &
#sed -i 's/tbl_name/tbl_name_20211117/g' schema.sql


第二步:从全库备份中抽取出表的data内容

grep 'INSERT INTO `tbl_name`' 192.168.1.100_all_databases_dump_2021-11-18.sql >/tmp/data.sql &
#sed -i 's/tbl_name/tbl_name_20211117/g' data.sql

 


 
后续,将数据恢复到需要的环境即可。

posted @ 2021-11-19 14:57  davie2020  阅读(593)  评论(0编辑  收藏  举报