Mongodb

如何將MongoDB數據庫從伺服器複製到本地機器?

  • October 18, 2021

我需要將數據庫轉儲到伺服器上的文件夾,然後將其scp到本地電腦。我嘗試了以下方法:

mongodump --ssl -u root -p password --authenticationDatabase name -d databaseName -o /database

失敗:連接到數據庫伺服器時出錯:沒有可訪問的伺服器

mongodump -u root -p password --authenticationDatabase name -d databaseName -o /database

失敗:連接到數據庫伺服器時出錯:伺服器在 SASL 身份驗證步驟中返回錯誤:身份驗證失敗。

tried to do --host=ip.ad.re.ss:27017
tried to do --host=host-name:27017
           --host=127.0.0.1:27017
           --host=web-address:27017

嘗試關閉 mongodb 並手動複製文件,但最終在本地電腦上出現空數據庫。

我也嘗試使用:

mongo --> db.copydatabase(from, to, name)

如何使用mongodump?可以使用任何其他方式。只有通過終端,ubuntu 安裝程序沒有任何 gnu。

正如你所說 - 更無錯誤的方法:

  • 連接到伺服器並在那裡創建轉儲(像這樣, mongodump -u root -p password --authenticationDatabase admin -d databaseName -o /database
  • scp 數據庫從伺服器轉儲到 vm
  • 在 VM 上還原數據庫 mongorestore --authenticationDatabase=admin -u=root -p=password ./dump/

根據您的錯誤:

  • 你在參數中做錯了什麼(你使用過--authenticationDatabase admin)嗎?
  • 您在地點(伺服器,網路)方面做錯了

基本上,您的變體應該可以工作,只需要確定調整參數即可。

引用自:https://dba.stackexchange.com/questions/292294