MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jakie uprawnienia użytkownika MongoDB są potrzebne, aby dodać użytkownika do nowej/innej bazy danych Mongo?

Popełniony błąd polegał na tym, że używałem userAdminAnyDatabase użytkownik, który NIE w sekcji administrator bazy danych (patrz ta uwaga). Więc tam MUSI być bazą danych o nazwie admin na twoim serwerze! Jak mówi dokumentacja dla uprawnień „AnyDatabase”:

Jeśli dodasz którąkolwiek z tych ról do dokumentu uprawnień użytkownika poza bazą danych administratora, uprawnienia nie będą miały żadnego wpływu.

Musisz więc:

  • dodaj userAdminAnyDatabase do admin db

    $ mongo admin
    > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
    
  • włącz uwierzytelnianie

    auth = true
    setParameter = enableLocalhostAuthBypass=0
    
  • połącz się za pomocą nowego myadmin użytkownika do dowolnej bazy danych i dodaj kolejnych użytkowników:

    $ mongo another -u myadmin -p 1234
    > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
    

    lub

    > use another
    > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
    


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sterownik Mongodb C# zwraca tylko pasujące dokumenty podrzędne w tablicy

  2. Wstaw wartość w określonej pozycji w tablicy w MongoDB

  3. Jak zwrócić format daty ISO w PHP dla MongoDB?

  4. Najszybszy sposób na usunięcie duplikatów dokumentów w mongodb

  5. mongodb sprawdź, czy punkt jest w wieloboku