执行逻辑备份(dump)
Oracle
expdp system/password DIRECTORY=dpump_dir \
SCHEMAS=hr DUMPFILE=hr_%U.dmp LOGFILE=hr_exp.log PARALLEL=4使用 Data Pump。必须事先通过 CREATE DIRECTORY 定义 DIRECTORY 对象。物理备份请使用 RMAN。
PostgreSQL
pg_dump -U postgres -h localhost -Fc -f db.dump mydb
# -Fc = compressed custom format (restored with pg_restore)-Fc 支持灵活恢复(选择性表/并行)。整个集群(包括角色)使用 pg_dumpall。
MySQL
mysqldump -u root -p --single-transaction \
--routines --triggers --events mydb > db.sql--single-transaction 可在 InnoDB 上获得无锁的一致性备份。大数据量的并行方案:mydumper/myloader 或 MySQL Shell util.dumpInstance()/dumpSchemas()(mysqlpump 已在 8.0.34 中弃用,并在 8.4 中移除)。
SQL Server
BACKUP DATABASE [MyDB]
TO DISK = N'C:\backup\MyDB_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;INIT 会覆盖现有文件;追加使用 NOINIT。日志备份使用 BACKUP LOG(FULL 恢复模式下)。
MongoDB
mongodump --uri="mongodb://localhost:27017" \
--archive=db.archive.gz --gzip --db=mydb在分片集群上,为保证一致性,应在停止 balancer 后通过 mongos 执行。
Redis
BGSAVE
# Takes an RDB snapshot in the background (dump.rdb).
# Non-blocking copy: redis-cli --rdb /backup/dump.rdbBGSAVE 通过 fork 在后台运行;SAVE 会阻塞服务器(生产环境勿用)。启用 AOF 时丢失的数据更少。