“快速恢复数据库(restore)”取决于数据库类型、备份方式和数据量。下面按常见场景给你一一套实用方案,主打“快”。
# 准备备份
xtrabackup --prepare --target-dir=/backup/
# 恢复
xtrabackup --copy-back --target-dir=/backup/
chown -R mysql:mysql /var/lib/mysql
systemctl start mysql
⏱ 几百 GB 通常分钟级
mysql -u root -p dbname < dump.sql
加速技巧:
SET FOREIGN_KEY_CHECKS=0;
SET UNIQUE_CHECKS=0;
SET autocommit=0;
恢复完再:
SET FOREIGN_KEY_CHECKS=1;
SET UNIQUE_CHECKS=1;
COMMIT;
或并行导入(mydumper/myloader):
myloader -d /backup -o -t 8
systemctl stop postgresql
rm -rf /var/lib/pgsql/data/*
cp -r /backup/data/* /var/lib/pgsql/data/
systemctl start postgresql
psql dbname < dump.sql
或并行:
pg_restore -j 8 -d dbname dump.dir
RESTORE DATABASE db
FROM DISK = 'D:\backup.bak'
WITH REPLACE, STATS = 10;
ALTER DATABASE db SET RECOVERY SIMPLE;
-- 恢复后
ALTER DATABASE db SET RECOVERY FULL;
rman target /
RMAN> shutdown immediate;
RMAN> startup mount;
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open;
告诉我:
我可以直接给你一条可用的恢复命令。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。