Estou mais familiarizado com o MySQL, mas no meu novo local de trabalho, tenho que cuidar de um banco de dados MongoDB (MongoDB 4.2.18 com Mongosh 1.1.9 rodando no Ubuntu 18.04.6 - sim, é antigo; a atualização é um problema para outro dia). Não sei nada sobre MongoDB. Infelizmente, a pessoa que o criou não deixou nenhuma documentação. Agora preciso cuidar disso.
O que eu tenho é um nome de usuário e uma senha. Com isso, posso fazer o login assim:
mongosh --port 27017 --authenticationDatabase "admin" -u "XXX" -p
Posso listar todos os bancos de dados fazendo show databases
. Mas não consigo executar o comando 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" }
Tentei então obter uma lista de usuários. E acho que este é o comando para fazer isso:
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" }
Juntos, parece que minha conta não é uma conta de administrador. Isso estaria correto?
Em caso afirmativo, é possível criar uma nova conta com privilégios totais de administrador? Eu tenho sudo
acesso na máquina host. Se sim, como eu faria isso?
Obrigado!