如何从全备中恢复单库或者单表

第一种方法(从全备中恢复单库):

在测试环境中恢复出整个实例,然后再单独备份出所需要的库或者表,最后拿着这些库或者表的备份sql去生产环境进行恢复。

第二种方法使用--one-database(从全备中恢复单库):

[root@instance-r5y0pf5d /data/backup]# mysqldump -uroot -p123456 -A -R -E --triggers --master-data=2 --single-transaction >/data/backup/full2021.sql

mysql> drop database world;

mysql> create database world default character set utf8mb4 collate utf8mb4_general_ci;

mysql> use world;

mysql> reset master;

mysql> exit

[root@instance-r5y0pf5d ~]# mysql -uroot -p123456 --one-database world </data/backup/full2021.sql

第三种方法:

使用sed和grep命令从全备文件中筛选出单库或者单表语句进行恢复

暂时为试验成功

[root@instance-r5y0pf5d /data/backup]# ls
bin20210202.sql  full2021.sql
[root@instance-r5y0pf5d /data/backup]# sed -n '/^-- Current Database: `world`/,/^-- Current Database: `/p' /data/backup/full2021.sql > /data/backup/world.sql
[root@instance-r5y0pf5d /data/backup]# ls
bin20210202.sql  full2021.sql  world.sql
[root@instance-r5y0pf5d /data/backup]# 

 

1

1

 

1

posted @ 2021-02-03 17:16  linuxTang  阅读(159)  评论(0)    收藏  举报