最近由於也無需求需要將mongodb數據庫數量進行備份到另一臺機器中,所以開啓了研究之路,期間也多方進行谷歌,但是發現很多教程不太詳細,所以經過實踐和總結,將步驟描述如下。
導出數據
這裏我是通過操作遠程數據庫的方式進行導出
- 需要身份認證方式
mongodump -h 主機名 -u mongo用戶名 -p mongo密碼 -d 操作的數據庫 -o 文件存放到本地的路徑 --authenticationDatabase 認證數據庫名稱
- 不需要進行身份認證
mongodump -h 主機名 -u mongo用戶名 -p mongo密碼 -d 操作的數據庫 -o 文件存放到本地的路徑
eg:
mongodump -h 888.888.888.888 -u root -p ****** -d userdatabase -o /Users/workfile/userdatabase --authenticationDatabase admin
導入數據庫
新建一臺服務器,安裝好mongodb數據庫,執行restore操作。
mongorestore -h 主機名 -u mongo用戶名 -p mongo密碼 --authenticationDatabase 認證數據庫 -d 備份的目標數據庫 數據文件地址
eg:
mongorestore -h 888.888.888.888 -u root -p ***** --authenticationDatabase admin -d userdatabase /Users/workfile/userdatabase
查看操作結果
- 查看備份數量
登錄到備份機中,通過show dbs;可以查看我們備份出的數據庫,通過use userdatabase;進入到該數據庫中,可以通過 db.tables.find().count();查看備份數量。 - 查看備份機器中的索引
`db.tablename.getIndexes();`
我們可以發現這種操作方式類似於完全導出數據與結構並執行導入操作。
如果有什麼不同的意見,可以評論留言,不嫌棄的點贊加關注哦。