准备工作:
备份与恢复本地数据库 (localhost):
- 在想要备份的应用目录下,
meteor run
。 - 还是在相应的应用目录下,
meteor mongo
,查看相应的端口号,比如:如果显示的是connecting to: 127.0.0.1:3001/meteor
,那么端口号就是3001
,下一步要用到。 - 开始备份,在应用目录下,
mongodump -h 127.0.0.1 --port 3001 -d meteor
,将3001
改为上一步的端口号。数据库会备份到dump/meteor
目录下。 - 以后恢复,在应用目录下,
mongorestore -h 127.0.0.1 --port 3001 -d meteor dump/meteor
,将3001
改为上上步的端口号。
备份与恢复远程数据库:
ssh root@SERVER_IP
登录后进入备份存放目录。- 开始备份,
mongodump -d dbname
,将dbname
改为待备份的数据库名,数据库将备份在dump/dbname
目录下。 tar -zcvf dbname.tar.gz dump
,将数据库文件打包,便于下载。- 在本地命令行下,
scp root@SERVER_IP:/BACKUP_PATH/dbname.tar.gz ~/downloads
,将打包好的文件下载到本地。 - 以后恢复,
scp ~/downoads/dbname.tar.gz root@SERVER_IP:/BACKUP_PATH
,将打包好的文件上传到服务器。 tar -zxvf dbname.tar.gz
解压缩。mongorestore -d dbname dump/dbname
,将dbname
改为待恢复的数据库名。
实例示范:
为了更安全更具有实战意义地练习操作 MongoDB 数据库,现将远程数据库上的数据备份下来,并恢复至本地数据库。
- 备份,在远程服务器的备份存放目录下,
mongodump -d dbname
,等待片刻,数据库便已备份至 dump 目录下。 - 打包,
tar -zcvf dbname.tar.gz dump
。 - 下载,
scp root@SERVER_IP:/BACKUP_PATH/dbname.tar.gz ~/downloads
。 - 恢复,在本地应用目录下,先后分别
meteor run
和meteor mongo
,找到端口号(比如为 3001);进入~/downloads
目录,先解压tar -zxvf dbname.tar.gz
,再恢复mongorestore -h 127.0.0.1 --port 3001 -d meteor dump/dbname
,浏览器访问 localhost:3000,便可判断恢复是否成功。
相应的,也可以备份本地数据库,并恢复至远程数据库,方法类似,不再累述。
如遇到问题,或有简便的备份/恢复方法,欢迎在下方留言补充。
服务器每日自动备份 MongoDB 数据库的配置方法