MongoDB备份与还原
备份命令
1 | mongodump -h <ip>:<port> -d <数据库名> -u root -p pass -o <备份目录> [--gzip] |
例如
1 | TRADE_DATE=`date "+%Y%m%d"` |
其中--gzip
表示压缩备份文件,对于压缩
还原备份
还原前我们先启动一个新的MongoDB的容器,把容器的27017端口映射到宿主机的47017。
1 | docker run -dit -p 47017:27017 --name=mongo_test -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=pass mongo:3.6.2 |
执行还原命令
1 | mongorestore -h <ip>:<port> -d <数据库名> -u root -p pass <备份目录> --drop --gzip |
例如
1 | mongorestore -h 127.0.0.1:47017 -u root -p pass /var/lib/mongodb/backup/20230709 [--drop] [--gzip] |
其中--drop
的意思是如果要还原的数据库已存在,则先删除。
--gzip
表示还原的是压缩备份,如果备份时没加--gzip
参数则还原时也不加。