明道云用 root 用户访问数据库报错:
2024-09-10T14:19:42.338+0800 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:814:19
shellHelper@src/mongo/shell/utils.js:704:15
@(shellhelp2):1:1

问题下午已解决,感谢老师答疑。
联系下你的销售顾问,创建个服务群,远程看下吧
帐号mingdao,密码*****连接也是提示 not authorized;算,默认不会有这个变量,只有开启 MongoDB 认证后,才会加。
mongo mongodb://mingdao:*****@127.0.0.1:27017/mdapps你这样在容器内测试连接 mdapps 库,应该可以连的上如果你要以管理员身份登录到 mognodb,那么就换成你创建的 admin 库的用户密码,认证库参数为 admin
YAML 文件里的 url 是这个,这个算配置了认证吗
ENV_MONGODB_URI`:mongo mongodb://mingdao:******@127.0.0.1:27017
ENV_MONGODB_URI变量值应该是你业务库的连接 url,可以在容器内,通过mongo mongodb://hap:*****@127.0.0.1:27017/mdapps就可以进入 mdapps 库;或者 通过mongo -u hap -p ****** --authenticationDatabase mdapps也可以进入到 mdapps;上面是以 mdapps 为例,如果你要以管理员身份登录到 mognodb,那么就换成你创建的 admin 库的用户密码,认证库参数为 admin,例如:
mongo -u root -p ****** --authenticationDatabase rootdocker-compose.yaml 里定义的 URI 里的 user 和 pwd 是业务库的
你可以先查一下 MongoDB 的连接 url 语法,可以参考:https://www.runoob.com/mongodb/mongodb-connections.html
或者你直接连接 admin 管理员库,以示例的文档为例,创建的 admin 库下账号是 root,就用
mongo -u root -p root密码 --authenticationDatabase admin方式登录到 MongoDB 中老师我这连接就提示认证失败,用 docker-compose.yaml 里定义的 URI 里的 user 和 pwd 登录也是一样
mingdaoyun-sc 容器内执行
mongo命令即可登录到 MongoDB 数据库中,默认情况下没有认证的;如果你自定义开启了认证创建账号密码,就要通过
mongo -u 用户名 -p 密码 --authenticationDatabase admin方式登录到 MongoDB 中请教各位老师,这种情况应该如何定位和解决问题。