解决: Command failed with error 18: ‘Authentication failed.‘ on server localhost:2

原因:

角色无权限

解决:

修改角色 为 包含读权限的角色

db.createUser({user:"root",pwd:"1234",roles:[{"role":"readWrite","db":"demo"}]})

解决: Command failed with error 18: ‘Authentication failed.‘ on server localhost:2_第1张图片

角色 role

角色分类 取值 描述
超级用户角色 root 超级账户和权限,只在admin中可用
数据库用户角色 read 授权User只读数据的权限,允许用户读取指定的数据库
readWrite 授权User读/写数据的权限,允许用户读/写指定的数据库
数据库管理角色 dbAdmin 在当前的数据库中执行管理操作,如索引的创建、删除、统计、查看等
dbOwner 在当前的数据库中执行任意操作,增、删、改、查等
userAdmin 在当前的数据库中管理User,创建、删除和管理用户。
集群管理角色 clusterAdmin 授权管理集群的最高权限,只在admin中可用
clusterManager 授权管理和监控集群的权限
hostManager 管理server
clusterMonitor 授权监控集群的权限,对监控工具具有readonly的权限
备份恢复角色 backup
restore
所有数据库角色 readAnyDatabase 授权在所有的数据库上读取数据的权限,只在admin 中可用
readWriteAnyDatabase 授权在所有的数据库上读写数据的权限,只在admin 中可用
userAdminAnyDatabase 授权在所有的数据库上管理User的权限,只在admin中可用
dbAdminAnyDatabase 授权管理所有数据库的权限,只在admin 中可用

你可能感兴趣的:(bug记录,MongoDB,Java,java,数据库)