准备工作:
备份与恢复本地数据库 (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 数据库的配置方法