mongodb數據庫備份遷移 windows -> linux
cd 到本機mongodb的安裝目錄 如:
C:\Program Files\MongoDB\Server\3.4\bin
可以發現里面除了可以啟動mongodb的mongod.exe
還有很多啟動程序
其中mongodump.exe
和mongorestore.exe
就分別是用來數據備份遷移的
mongodump備份數據庫
- 常用命令格
mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -o 文件存在路徑
如果沒有用戶,可以去掉-u和-p。
如果導出本機的數據庫,可以去掉-h。
如果是默認端口,可以去掉--port。
如果想導出所有數據庫,可以去掉-d。
如果不指定-o,文件備份在當前目錄下
- 導出所有數據庫
mongodump
- 導出指定數據庫
mongodump -h 192.168.1.108 -d movie
導出后會在當前的bin目錄下生成一個dump的文件夾,里面就是備份的數據打包上傳到服務器等待恢復
mongorestore還原數據庫
注意事項 mongorestore 並不是在mongo shell里執行
可以執行查看命令在哪
root@:~# whereis mongorestore
mongorestore: /usr/bin/mongorestore /usr/share/man/man1/mongorestore.1.gz
然后
cd /usr/bin
- 常用命令格式
mongorestore -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 --drop 文件存在路徑
--drop的意思是,先刪除所有的記錄,然后恢復。
- 恢復所有數據庫到mongodb中
root@bin:# mongorestore /root/dump/myblog/ #這里的路徑是所有庫的備份路徑
- 還原指定的數據庫
root@bin:# mongorestore -d movie /root/dump/myblog/movie/ #movie這個數據庫的備份路徑
root@bin:# mongorestore -d movie_new /root/dump/myblog/movie/ #將movie還有movie_new數據庫中
這二個命令,可以實現數據庫的備份與還原,文件格式是json和bson的。無法指寫到表備份或者還原。mongoexport
和mongoimport
實現表的導入導出。