我对 MySQL 比较熟悉,但在我的新工作场所,我必须照顾 MongoDB 数据库(在 Ubuntu 18.04.6 上运行的 MongoDB 4.2.18 和 Mongosh 1.1.9 —— 是的,它很旧;升级是一个问题另一天)。我对 MongoDB 一无所知。不幸的是,创建它的人没有留下任何文档。现在,我需要照顾它。
我拥有的是用户名和密码。这样,我就可以像这样登录:
mongosh --port 27017 --authenticationDatabase "admin" -u "XXX" -p
我可以通过执行 来列出所有数据库show databases
。但是,我无法执行命令show users
:
admin> show users
MongoServerError: not authorized on admin to execute command { usersInfo: 1, lsid: { id: UUID("b2c4e061-1b54-4b27-bdf2-bef330b38b4d") }, $db: "admin" }
然后我尝试获取用户列表。我认为这是执行此操作的命令:
admin> show collections
system.users
system.version
admin> db.system.users.find().pretty ()
MongoServerError: not authorized on admin to execute command { find: "system.users", filter: {}, lsid: { id: UUID("1801ce09-5c09-44eb-9b04-86eb35817eaa") }, $db: "admin" }
总而言之,这感觉就像我的帐户不是管理员帐户。这是正确的吗?
如果是这样,是否可以创建一个具有完全管理员权限的新帐户?我可以sudo
访问主机。如果是这样,我该怎么做?
谢谢你!