Eu estava brincando com permissões e me tranquei do banco de dados do Mongo. Tenho certeza de que fiz isso tentando adicionar explicitamente acesso a um banco de dados, mas em vez disso, substituí apenas permitindo permissão ao banco de dados. Então, estou efetivamente bloqueado do meu banco de dados Mongo e tudo que leio me diz como criar um superusuário se eu tiver o privilégio de adicionar usuário. No momento, acho que não tenho nenhum usuário que tenha esse privilégio. Existe uma maneira de entrar no banco de dados como acesso total? Eu possuo o servidor e tenho acesso root.
Se você se bloqueou, então você precisa fazer o seguinte:
Eu tive um problema semelhante quando criei um usuário sem adicionar um superusuário primeiro. As etapas a seguir ajudaram a resolver o problema:
sudo
(sudo vi mongodb.conf
).O arquivo pode ser encontrado na
/etc/
pasta."auth = true"
.sudo service mongod stop
)sudo service mongod start
)Em seguida, crie o superusuário "root" usando o comando abaixo:
Para referência https://docs.mongodb.com/manual/reference/built-in-roles/#superuser-roles
Volte e descomente
"auth=true"
. Pare e inicie/reinicie o serviço mongodb.Se você usar um conjunto de réplicas com um
keyfile
Keyfile é usado para autenticação na replicação.
Você pode usar este comando para fazer login como administrador no mongod:
Depois disso, você pode criar ou modificar seu usuário administrador.
Confira as respostas para esta pergunta, elas podem ajudar
https://stackoverflow.com/questions/20117104/mongodb-root-user
Basicamente, se você ainda tiver acesso ao servidor, poderá acessar o
Admin
banco de dados.Há mais nesta página http://docs.mongodb.org/v2.4/reference/user-privileges/
Observe que a versão 2.6 muda completamente como isso funciona. Para 2.6, você precisará gastar mais tempo com http://docs.mongodb.org/manual/security/
A resposta do @Divya ajudou, mas não foi completa para mim. Aqui está o que eu tive que fazer:
Passos
/etc/
pasta usando:sudo nano mongod.conf
sudo service mongod stop
sudo service mongod start
Solução de problemas
systemctl --type=service --state=active
. Se tiver iniciado, estará na lista comomongod.service
./var/log/mongodb/mongodb.log
mas é menos provável que sejam úteis nessa situação.Você precisa parar o Mongo, remover os arquivos de administração e iniciar o Mongo