PHP-PHP采用非超级管理员账号连接mongoDB问题

发布于 2016-11-23 15:51:08 字数 237 浏览 1279 评论 2

最近在研究MongoDB,采用PHP去连接MongoDB,发现只能采用超级管理员的账号去连接MongoDB,采用别的账号却提示Uncaught exception 'MongoConnectionException' with message 'Couldn't authenticate with database admin: username [mydb], password [mydb]',请教一下,怎么采用非admin表的用户去连接MongoDB。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

想挽留 2017-06-12 20:13:21

链接dsn中加上db名称, 因为此用户没有对admin库的权限.
mongodb://[username:password@]host1[:port1]/mydb

偏爱自由 2016-12-19 17:28:06

参考《Mongodb权威指南》p114 8.3安全和认证

你用超级管理员时,超级管理员可以读写所有的数据库,执行特定的管理命令。对于你添加的其他用户来说。你要设置相应的权限,如下例

use admin
switched to db admin
db.addUser("root", "abcd");
{
"user" : "root",
"readOnly" : false,
"pwd" : "aadsdsdsdd122"
}

你可以检查下你设置用户是否正确,或是密码是否输入正确,或是权限是否设置正确

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文