W swoim komentarzu wspominasz, że używasz mViewer. Wersja 0.9.1 programu mViewer nie obsługuje uwierzytelniania. Według tego problemu na mViewer GitHub, zostało to rozwiązane w wersji 0.9.2, która miała zostać wydana w październiku.
Przed uruchomieniem węzła z uwierzytelnianiem zaloguj się do węzła i dodaj użytkownika. Następnie uruchom węzeł za pomocą --auth
i połącz się z powłoką bez mViewer.
W tym momencie możesz połączyć się z bazą danych administratora i uwierzytelnić swojego administratora:
use admin
db.auth('root', 'root')
Ponieważ skonfigurujesz administratora, który będzie miał dostęp do wszystkich baz danych, musisz uwierzytelnić się w bazie danych administratora. Gdy to zrobisz, będziesz mieć dostęp do wszystkich baz danych. Będziesz także mógł tworzyć nowych użytkowników w dowolnej bazie danych lub tworzyć nowych użytkowników tylko do odczytu dla wszystkich baz danych.
Jeśli utworzysz nowego użytkownika, który ma dostęp tylko do jednej bazy danych, ten użytkownik będzie musiał use
ta baza danych i db.auth(name, pass)
przeciwko niemu.
Jeśli utworzysz nowego użytkownika, który ma dostęp tylko do odczytu do wszystkich baz danych, use admin
a następnie db.auth(name, pass)
aby uzyskać dostęp tylko do odczytu do wszystkich baz danych
Więcej informacji na temat konfigurowania uwierzytelniania znajdziesz tutaj i więcej informacji o konfigurowaniu użytkowników tutaj
Uwaga:po uruchomieniu węzła bez --auth
wtedy uwierzytelnianie nie jest włączone. Oznacza to, że możesz połączyć się z powłoką i db.auth('root','root')
ale nic nie zrobi, jeśli chodzi o dostęp. MongoDB nie odmówi dostępu do baz danych bez --auth
opcja wiersza poleceń (--keyFile
w konfiguracjach sharded lub zestawach replik)