windows 10 mongodb "show dbs" "missing ; before statement" 在Windows 10上使用MongoDB时,使用命令"show dbs"可能会出现"missing ; before statement"的错误信息。
windows 10 mongodb "show dbs" "missing ; before statement" 在Windows 10上使用MongoDB时,使用命令"show dbs"可能会出现"missing ; before statement"的错误信息。
是的,我刚开始了解MongoDB。因此,昨天我在“Program files”文件夹中安装了MongoDB,并尝试弄清楚如何使用它。
今天我简单地尝试重新启动它。但是出了些问题。为了更好地理解开头,我卸载了MongoDB,删除了MongoDB的数据和日志文件夹,并在c:/上重新安装了MongoDB。
启动服务器:
mongod --directoryperdb --dbpath c:\mongodb\data\db --logpath c:\mongodb\log\mongo.log --logappend --auth --rest --install
启动服务:
net start MongoDB
以及Mongo shell:
mongo
现在我尝试使用"show dbs"命令,结果如下:
>show dbs
2017-09-14T10:41:49.541+0200 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13,
"codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:769:19
shellHelper@src/mongo/shell/utils.js:659:15
@(shellhelp2):1:1
我还没有做更多的尝试。我该怎么做才能显示dbs?
当然,我还尝试了下面这篇帖子的学习方法,但没有成功:
在Windows 10操作系统中使用MongoDB时,出现了"show dbs"命令报错"missing ; before statement"的问题。该问题的原因是在启动数据库时使用了--auth参数,但在连接时未提供用户名和密码。如果尚未创建任何用户,可以将--auth参数移除并重新启动数据库,然后就能成功连接。
具体解决方法如下:首先,在msconfig中停用了MongoDB服务,然后使用以下命令重新启动数据库:mongod --directoryperdb --dbpath c:\mongodb\data\db --logpath c:\mongodb\log\mongo.log --logappend --rest --install。接下来,在连接数据库时出现了连接失败的情况,经过检查发现忘记重新启动了服务。重新启动服务后,连接成功并尝试处理管理员权限。
进一步发现,在初始阶段需要先添加一个管理员用户角色,然后才能使用"show dbs"命令列出数据库。如果有其他想法,请提出建议。编者真的希望能够理解MongoDB。
另外,还有一种解决方法是在首次启动MongoDB时不启用auth参数,这样就能成功连接。然后可以使用连接创建管理员用户,之后再重新启动MongoDB并启用auth参数。最后,使用之前创建的管理员用户进行连接,这样就不会出现任何问题。这只是一种解决方法,可能还有其他方式。
通过以上整理,我们可以了解到在Windows 10操作系统中使用MongoDB时,出现"show dbs"命令报错"missing ; before statement"的问题,原因是未正确配置用户名和密码导致连接失败。解决方法是移除--auth参数并重新启动数据库,或者在初始化阶段不启用auth参数,然后创建管理员用户,并重新启动数据库并启用auth参数。