Mongodb tạo cơ sở dữ liệu và người dùng

MongoDB sử dụng DATABASE_NAME được sử dụng để tạo cơ sở dữ liệu. Lệnh sẽ tạo cơ sở dữ liệu mới nếu nó chưa tồn tại, ngược lại nó sẽ trả về cơ sở dữ liệu hiện có

cú pháp

Cú pháp cơ bản của câu lệnh use DATABASE như sau -

use DATABASE_NAME

Ví dụ

Nếu bạn muốn sử dụng cơ sở dữ liệu có tên , thì hãy sử dụng câu lệnh DATABASE như sau -

>use mydb
switched to db mydb

Để kiểm tra cơ sở dữ liệu hiện được chọn của bạn, hãy sử dụng lệnh db

>db
mydb

Nếu bạn muốn kiểm tra danh sách cơ sở dữ liệu của mình, hãy sử dụng lệnh show dbs

>show dbs
local     0.78125GB
test      0.23012GB

Cơ sở dữ liệu đã tạo của bạn (mydb) không có trong danh sách. Để hiển thị cơ sở dữ liệu, bạn cần chèn ít nhất một tài liệu vào đó

>db.movie.insert({"name":"tutorials point"})
>show dbs
local      0.78125GB
mydb       0.23012GB
test       0.23012GB

Trong cơ sở dữ liệu mặc định của MongoDB là test. Nếu bạn không tạo bất kỳ cơ sở dữ liệu nào, thì các bộ sưu tập sẽ được lưu trữ trong cơ sở dữ liệu thử nghiệm

Trong MongoDB, chúng tôi được phép tạo người dùng mới cho cơ sở dữ liệu. Mỗi người dùng MongoDB chỉ truy cập dữ liệu cần thiết cho vai trò của họ. Vai trò trong MongoDB cấp đặc quyền để thực hiện một số hoạt động trên một tài nguyên nhất định. Trong MongoDB, người dùng được tạo bằng phương thức createUser(). Phương thức này tạo một người dùng mới cho cơ sở dữ liệu, nếu người dùng được chỉ định đã có trong cơ sở dữ liệu thì phương thức này sẽ trả về lỗi

cú pháp

db. createUser(người dùng, writeConcern)

Thông số.  

1. người dùng. Nó chứa thông tin xác thực và truy cập về người dùng để tạo. Nó là một tài liệu

  • người dùng. Tên người dùng
  • pwd. Mật khẩu người dùng. Trường này không bắt buộc nếu bạn sử dụng phương pháp này trên cơ sở dữ liệu $external để tạo người dùng có thông tin xác thực được lưu trữ bên ngoài. Giá trị của trường này có thể là kiểu chuỗi hoặc passwordPrompt()
  • dữ liệu tùy chỉnh. Thông tin liên kết người dùng. Nó là một lĩnh vực tùy chọn
  • vai trò. Cấp truy cập hoặc Đặc quyền của người dùng. Bạn cũng có thể tạo người dùng không có vai trò bằng cách chuyển một mảng trống[]. Trong trường này, bạn sử dụng vai trò tích hợp sẵn hoặc bạn có thể tạo vai trò của riêng mình bằng cách sử dụng db. phương thức createRole(vai trò, writeConcern). Để chỉ định vai trò, bạn có thể sử dụng bất kỳ cú pháp nào sau đây

Chỉ cần chỉ định tên vai trò

"đọc"

Hoặc bạn có thể chỉ định một tài liệu chứa các trường vai trò và db. Nó thường được sử dụng khi vai trò được chỉ định trong một cơ sở dữ liệu khác

{role:, db: }

  • xác thựcHạn chế. Quyền xác thực của người dùng. Nó là một lĩnh vực tùy chọn
  • cơ chế. Nó được sử dụng để chỉ định các cơ chế hoặc cơ chế SCRM để tạo thông tin xác thực người dùng SCRM. Nó là một lĩnh vực tùy chọn
  • mật khẩuDigestor. Nó được sử dụng để kiểm tra xem máy chủ hoặc máy khách có hiểu mật khẩu hay không. Nó là một lĩnh vực tùy chọn

2. viếtQuan tâm. Nó là một tham số tùy chọn. Nó quản lý mức độ Ghi mối quan tâm cho hoạt động tạo. Nó chiếm cùng một trường với lệnh getLastError.  

ghi chú

  • Trong MongoDB, người dùng được tạo đầu tiên trong cơ sở dữ liệu phải là người dùng quản trị. Người dùng quản trị có các đặc quyền để duy trì tất cả người dùng. Ngoài ra, bạn không được phép tạo người dùng trong cơ sở dữ liệu cục bộ
  • db. createUser() Gửi mật khẩu và tất cả dữ liệu khác tới phiên bản MongoDB mà không cần bất kỳ mã hóa nào. Để mã hóa mật khẩu trong khi truyền, hãy sử dụng TLS/SSL để mã hóa nó

Làm cách nào để tạo người dùng quản trị?

Trong MongoDB, bạn có thể tạo người dùng quản trị bằng phương thức createUser(). Trong phương pháp này, chúng ta có thể tạo tên, mật khẩu và vai trò của người dùng quản trị. Hãy để chúng tôi thảo luận về khái niệm này với sự trợ giúp của một ví dụ

Ví dụ

Trong ví dụ này, chúng tôi sẽ tạo một người dùng quản trị trong cơ sở dữ liệu quản trị và cấp cho người dùng quyền truy cập readWrite vào cơ sở dữ liệu cấu hình, cho phép người dùng thay đổi một số cài đặt nhất định cho các cụm được phân đoạn

db.createUser(
{ 
 user: "hello_admin",
 pwd:  "hello123",
 roles:
 [
 { role:"readWrite",db:"config"},
 "clusterAdmin"
 ] } );

Vì vậy, để tạo người dùng quản trị trước tiên chúng tôi sử dụng cơ sở dữ liệu quản trị. Trong cơ sở dữ liệu này, chúng tôi tạo một người dùng quản trị bằng cách sử dụng phương thức createUser(). Trong phương pháp này, chúng tôi đặt tên người dùng là “hello_admin”, mật khẩu là “hello123” và vai trò của người dùng quản trị là readWrite, config, clusterAdmin.  

Mongodb tạo cơ sở dữ liệu và người dùng

Làm cách nào để tạo một người dùng bình thường mà không có bất kỳ vai trò nào?

Trong MongoDB, chúng ta có thể tạo một người dùng không có bất kỳ vai trò nào bằng cách chỉ định một mảng trống[] trong trường vai trò trong phương thức createUser()

cú pháp

db. người dùng tạo ({ người dùng. ”User_Name”, pwd. ”Your_Password”, vai trò. []});

Hãy để chúng tôi thảo luận về khái niệm này với sự trợ giúp của một ví dụ

Ví dụ

Trong ví dụ sau, chúng ta sẽ tạo một người dùng không có vai trò

db.createUser({user:"geeks", pwd: "computer", roles:[]});

Ở đây, chúng tôi đang làm việc trên cơ sở dữ liệu “ví dụ” và đã tạo một người dùng có tên là “geeks” không có vai trò

Mongodb tạo cơ sở dữ liệu và người dùng

Làm cách nào để tạo người dùng với một số vai trò cụ thể?

Trong MongoDB, chúng ta có thể tạo một người dùng với một số vai trò được chỉ định bằng phương thức createUser(). Trong phương pháp này, chúng ta có thể chỉ định các vai trò mà người dùng sẽ thực hiện sau khi tạo. Hãy để chúng tôi thảo luận về khái niệm này với sự trợ giúp của một ví dụ

Ví dụ

Trong ví dụ này, chúng tôi sẽ tạo một người dùng với một số vai trò được chỉ định

db.createUser(
...{
...user: "new_one_role",
...pwd: with_roles",
...roles:["readWrite", "dbAdmin"]
...}
...);

Ở đây, chúng tôi tạo một người dùng có tên là “new_one_role”, mật khẩu là “with_roles” và các vai trò được chỉ định là

  • Vai trò readWrite. Vai trò này cung cấp tất cả các đặc quyền của vai trò đọc cộng với khả năng sửa đổi dữ liệu trên tất cả các bộ sưu tập không thuộc hệ thống
  • Vai trò dbAdmin. Vai trò này cung cấp cho người dùng khả năng thực hiện các tác vụ quản trị, chẳng hạn như các tác vụ liên quan đến lược đồ, lập chỉ mục. Nó không cấp đặc quyền cho Quản lý người dùng và vai trò

Mongodb tạo cơ sở dữ liệu và người dùng

Làm cách nào để tạo người dùng cho một cơ sở dữ liệu?

Trong MongoDB, chúng ta cũng có thể tạo người dùng cho một cơ sở dữ liệu bằng phương thức createUser(). Hãy để chúng tôi thảo luận về khái niệm này với sự trợ giúp của một ví dụ

Ví dụ

________số 8

Ở đây, chúng tôi tạo một người dùng có tên người dùng là “Robert”, mật khẩu là “hellojose” và chúng tôi gán vai trò cho người dùng, trong trường hợp này cần phải là quản trị viên cơ sở dữ liệu nên nó được gán cho vai trò “userAdmin”. Vai trò này sẽ cho phép người dùng chỉ có các đặc quyền quản trị đối với cơ sở dữ liệu được chỉ định trong tùy chọn db, tôi. e. , "ví dụ"

Mongodb tạo cơ sở dữ liệu và người dùng

Làm cách nào để tạo người dùng có giới hạn xác thực?

Trong MongoDB, xác thực là một quá trình kiểm tra xem người dùng/máy khách đang cố truy cập cơ sở dữ liệu đã biết hay chưa. Nếu người dùng được biết thì nó cho phép họ kết nối với máy chủ. Chúng tôi cũng có thể tạo người dùng với các hạn chế xác thực bằng phương thức createUser() bằng cách đặt giá trị của trường authenticationRestrictions. Trường này cung cấp quyền xác thực của người dùng và chứa các trường sau

  • nguồn khách hàng. Nếu giá trị của trường này xuất hiện, thì khi người dùng đang xác thực, máy chủ sẽ xác minh IP của máy khách bằng cách kiểm tra địa chỉ IP trong danh sách đã cho hoặc phạm vi CIDR trong danh sách. Nếu IP của máy khách có trong danh sách thì máy chủ sẽ xác thực máy khách hoặc nếu không thì máy chủ sẽ không xác thực người dùng
  • địa chỉ máy chủ. Đó là danh sách các địa chỉ IP hoặc phạm vi CIDR mà máy khách có thể kết nối. Nếu giá trị của trường này có trong danh sách, thì máy chủ sẽ xác minh kết nối máy khách và nếu kết nối được thiết lập qua địa chỉ IP không được nhận dạng, thì máy chủ sẽ không xác thực người dùng

Hãy để chúng tôi thảo luận về khái niệm này với sự trợ giúp của một ví dụ

Ví dụ

Trong ví dụ này, chúng tôi sẽ tạo một người dùng với các hạn chế xác thực

use admin
db.createUser(
   {
     user: "restrict",
     pwd: passwordPrompt(),      
     roles: [ { role: "readWrite", db: "example" } ],
     authenticationRestrictions: [ {
        clientSource: ["192.168.65.10"],
        serverAddress: ["198.157.56.0"]
     } ]
   }
)

Ở đây chúng tôi tạo một người dùng có tên là “hạn chế” trong cơ sở dữ liệu quản trị. Vì vậy, người dùng này chỉ có thể xác thực nếu kết nối từ địa chỉ IP 192. 168. 65. 10 đến địa chỉ máy chủ này Địa chỉ IP 198. 157. 56. 0

Mongodb tạo cơ sở dữ liệu và người dùng

Làm cách nào để thả Người dùng?

Trong Mongodb, chúng ta cũng có thể loại bỏ người dùng bằng phương thức dropUser(). Phương thức này trả về true khi người dùng bị xóa nếu không trả về false

Làm cách nào để tạo db và người dùng trong MongoDB?

Bắt đầu .
Lấy thông tin đăng nhập của ứng dụng và máy chủ
Bắt đầu với MEAN
Truy cập ứng dụng máy chủ MEAN
Tạo một dự án MEAN mới
Lấy thông tin đăng nhập gốc MongoDB
Kết nối với MongoDB
Hiểu cấu hình Redis mặc định
Kết nối với Redis

Làm cách nào để tạo cơ sở dữ liệu MongoDB bằng tên người dùng và mật khẩu?

Trong MongoDB, người dùng được tạo bằng phương thức createUser(). .
người dùng. Tên người dùng
pwd. Mật khẩu người dùng. .
dữ liệu tùy chỉnh. Thông tin liên kết người dùng. .
vai trò. Cấp truy cập hoặc Đặc quyền của người dùng

Làm cách nào để tạo xác thực người dùng trong MongoDB?

Cách bật xác thực trong MongoDB .
Tạo quản trị viên trong cơ sở dữ liệu quản trị với vai trò userAdminAnyDatabase. .
Ngắt kết nối khỏi vỏ mongo ( Ctrl+D )
Định vị đoạn mã sau trong tệp cấu hình mongod ( /etc/mongod. .
Thay đổi ủy quyền bị vô hiệu hóa thành được kích hoạt và lưu tệp

Làm cách nào để thêm người dùng quản trị vào MongoDB?

Sau khi được tạo, bạn phải xác thực là quản trị viên người dùng để tạo thêm người dùng khi cần. .
Thủ tục
Kết nối với ví dụ
Tạo quản trị viên người dùng
Khởi động lại phiên bản MongoDB với quyền kiểm soát truy cập
Kết nối và xác thực với tư cách là quản trị viên người dùng
Để xác thực sau khi kết nối