Comment ajouter un utilisateur admin à Mongo dans 2.6?
J'ai mis à jour de 2.4 à 2.6 et l'authentification s'est cassé. Ce tutoriel semble assez simple, mais je continue à recevoir des lock-out de ma propre base de données. Ma situation est assez simple, j'ai un seul Mongo serveur et ont besoin d'un user/pwd combinaison pour se connecter.
J'ai d'abord vous connecter via le localhost exception comme mentionné. Puis-je créer l'utilisateur admin, comme l'a suggéré:
use admin
db.createUser(
{
user: "myadmin",
pwd: "mysecret",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
Maintenant, il est temps d'ajouter de nouveaux utilisateurs, de sorte à la santé mentale vérifier moi-même, je déconnexion de la coquille. Maintenant, quand je tape "mongo" il échoue. Utilisé pour travailler, mais OK, ce n'est pas de voir un nom d'utilisateur, mot de passe et je crois que le localhost exception n'est-il pas plus donc j'ai suivi les instructions décrites ici:
mongo --port 27017 -u myadmin -p mysecret --authenticationDatabase admin
Et j'obtiens:
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:27017/test
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
>
Aucune idée sur la façon d':
- Installation de Mongo 2.6 donc je peux facilement entrer et sortir de la coquille de gestion de bases de données (je pense que c'est le "système de l'utilisateur administrateur")
- Permettre à un utilisateur à partir d'un client distant à se connecter? (Juste le mongo côté, aucune aide n'est nécessaire avec iptables ...)
Merci!
source d'informationauteur Tony
Vous devez vous connecter pour publier un commentaire.
Apparemment, le "système de l'utilisateur administrateur" n'est pas suffisant. Créer un utilisateur root:
Puis ajouter votre utilisateur de base de données:
Plus de détails sur ce gist. Commentaires sur l'essentiel et de meilleures réponses sur bienvenue - je ne suis pas un sys admin
1) Le rôle que vous attribuez à l'utilisateur admin - userAdminAnyDatabase - ne doit pas avoir des privilèges illimités. C'est juste un rôle qui est autorisé à créer et gérer des utilisateurs sur une base de données. Apparemment, par défaut, il est restreint à partir de l'exécution de certaines commandes qui ne sont pas directement liés à la gestion de la base de données des utilisateurs (comme aller chercher le démarrage des mises en garde du journal, l'interrogation de l'état du serveur, etc.).
Vous pouvez utiliser le 'root' rôle, plutôt que Tony suggère. Si vous allez utiliser le compte root pour faire de gestion et de configuration et puis juste avoir un peu de lecture/écriture de base des comptes privilégiés de parler à la base de données, c'est probablement ce qui fait le plus de sens.
2) En général, la connexion sur le côté client, il suffit d'appeler la db.authenticate() la fonction après la connexion à partir de votre code client. Il y a différentes façons de le faire selon le pilote/la langue que vous utilisez pour un client. L'node.js code de pilote est assez typique: http://mongodb.github.io/node-mongodb-native/api-generated/db.html#authenticate
Même après suivant @Tony méthode j'ai été faire un
Ajoutant
dans la Dépendance de la section de BuildConfig.groovy cependant résolu le problème.