恢复 mongo 数据库但 mongo shell 不显示它
Posted
技术标签:
【中文标题】恢复 mongo 数据库但 mongo shell 不显示它【英文标题】:Restoring a mongo database but mongo shell does not show it 【发布时间】:2021-08-21 19:30:49 【问题描述】:mongodump
很久以前用来创建备份,现在为了恢复一个Meteor应用程序的数据库,使用了这个命令:
ais2> mongorestore C:\Users\AAA\Documents\meteor\apps\dump\dump\
PS C:\Users\empl1\Documents\meteor\apps\ais2> mongorestore C:\Users\AAA\Documents\meteor\apps\dump\dump\
preparing collections to restore from
reading metadata for dbais2.dataTeckAllMatchCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\dataTeckAllMatchCol.metadata.json
reading metadata for dbais2.makeModelCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\makeModelCol.metadata.json
reading metadata for dbais2.usageCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\usageCol.metadata.json
reading metadata for dbais2.vehiclesDetailsCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\vehiclesDetailsCol.metadata.json
restoring dbais2.dataTeckAllMatchCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\dataTeckAllMatchCol.bson
restoring dbais2.makeModelCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\makeModelCol.bson
restoring dbais2.usageCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\usageCol.bson
restoring dbais2.vehiclesDetailsCol from C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\vehiclesDetailsCol.bson
finished restoring dbais2.dataTeckAllMatchCol (11705 documents, 0 failures)
因为我有一个目录“dbais2”,所有数据库文件都位于上述路径中。
在新的 shell 中 ais2> meteor mongo
打开一个 mongo shell,但 show dbs
不显示“dbais2”。如何使用新恢复的数据库?还是没有正确恢复?如果是这样的话。如何正确恢复?
谢谢
【问题讨论】:
转储的数据库是本地数据库还是在生产服务器中运行的数据库? 生产服务器并在服务器上恢复,然后复制到本地机器。 【参考方案1】:当您按原样运行mongorestore
时,它将连接到在您的本地计算机(如果有)上的端口 27017 上运行的 mongo 实例。这就是您将在生产中使用的。既然恢复成功了,那一定是你有这样一个实例在运行。在这种情况下,运行mongo ais2
以连接到该实例和数据库。
在开发中,meteor 在端口 3001 上运行自己的 mongo 实例(假设您在默认端口 3000 上使用了 meteor)。当您运行 meteor mongo
时,您的 shell 将连接到该实例。如果你想恢复到那个,然后用指定的端口重新运行你的命令:
mongorestore --port=3001 -d meteor C:\Users\AAA\Documents\meteor\apps\dump\dump\
之后,您应该会在 meteor mongo
打开的 shell 中看到您的数据。请注意,在此命令中,我还覆盖了数据库名称,以便将数据导入流星在开发中使用的数据库(也称为meteor
)。
【讨论】:
对我有用的是 mongorestore --port=3001 -d meteor C:\Users\AAA\Documents\meteor\apps\dump\dump\dbais2\以上是关于恢复 mongo 数据库但 mongo shell 不显示它的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB - The mongo Shell, mongo Shell Quick Reference
MongoDB - The mongo Shell, Configure the mongo Shell
MongoDB - The mongo Shell, Write Scripts for the mongo Shell