MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tôi cần có những đặc quyền người dùng MongoDB nào để thêm người dùng vào cơ sở dữ liệu mongo mới / khác?

Lỗi xảy ra là tôi đang sử dụng userAdminAnyDatabase người dùng KHÔNG PHẢI trong quản trị viên cơ sở dữ liệu (xem ghi chú này). Vì vậy, có PHẢI là cơ sở dữ liệu được gọi là quản trị viên trên máy chủ của bạn! Như tài liệu cho biết về các đặc quyền "AnyDatabase":

Nếu bạn thêm bất kỳ vai trò nào trong số này vào tài liệu đặc quyền người dùng bên ngoài cơ sở dữ liệu quản trị, đặc quyền sẽ không có hiệu lực.

Vì vậy, bạn phải:

  • thêm một userAdminAnyDatabase tới admin db

    $ mongo admin
    > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
    
  • bật xác thực

    auth = true
    setParameter = enableLocalhostAuthBypass=0
    
  • kết nối bằng myadmin mới người dùng vào bất kỳ cơ sở dữ liệu nào bạn muốn và thêm người dùng khác:

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

    hoặc

    > 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. mongoose save vs insert vs create

  2. Cách đặt mongod.conf bind_ip với nhiều địa chỉ ip

  3. Chạy MongoDB với Ops Manager

  4. Làm thế nào để giải quyết vấn đề thiếu giao dịch trong MongoDB?

  5. Aggregate $ lookup không trả về thứ tự mảng ban đầu của các phần tử