Bài trước mình hướng dẫn cài đặt mongodb vào vps ubuntu, trong bài này mình hướng dẫn cấu hình username và password để tương tác với mongodb

Cấu hình mật khẩu tên người dùng MongoDB - username password 

2021-01-05 2074 lượt xem
Trương thịnh

Phần 2 : Configuring MongoDB username/password

nếu bnaj chưa cài mongo thì bạn xem lại phần 1 nha: Cài mongo vào vps Ubuntu 18 04 Ubuntu 16 04

Bây giờ, bạn đã cài đặt tất cả các gói của MongoDB. Sau đó, tiếp theo là cấu hình tên người dùng và mật khẩu cho máy chủ cơ sở dữ liệu của bạn.

Mở mongo shell

Trước khi thiết lập username và password, bạn phải mở trình mongoDB shell cho database server của bạn.
Lệnh mở:

mongo

Sau khi đã vào bên trong, bạn tạo database bằng lệnh use.

Lưu ý là không giống với SQL language, mongo không có lệnh “create databases”, chỉ có lệnh use. Nếu database đã tồn tại, nó sẽ được dùng, nếu không lệnh này sẽ tạo ra database.

use [database_name]

chỉ đơn giản vậy thôi là bạn đã có db rồi.

thay đổi database administrator

Khi bạn đã mở mongo shell, hãy nhập lệnh bên dưới để chuyển sang cơ sở dữ liệu quản trị viên:

use admin

tạo user root cho mongo

Bây giờ bạn có thể tạo username admin, sau đó tạo password. Sử dụng lệnh sau:

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

Từ lệnh trên, rõ ràng bạn đã tạo một người dùng có tên là admin với mật khẩu được đặt là admin123. Người dùng có role/permission của rootuser trong database là admin.

# hoặc :
db.createUser({ user: "ebudezain", pwd: "admin123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

Có nhiều roles khác nhau cho user như dbAdmin, dbUser, read,... Nên tốt nhất là xem bộ tài liệu chính thức của MongoDB để xem cách dễ dùng nhất là gì

# Giờ bạn có thể hiển thị tất cả người dùng tới giờ bằng lệnh:
show users

Kích hoạt chứng thực từ xa trong MongoDB - remote mongo

Mặc định, MongoDB cho phép toàn bộ log ghi từ máy local. Không có vấn đề gì đối với ứng dụng đang triển khai trên đó.

Tuy nhiên, vì bạn cần chứng thực, bạn có thể gặp lỗi khi ứng dụng đã sẵn sàng và cần deploy.

Để tránh gặp lỗi, mở file /etc/mongodb.conf và đặt bình luận vào dòng bindIP: 127.0.0.1.

sudo nano /etc/mongodb.conf
#bindIP: 127.0.0.1.

Tiếp theo, khởi động lại dịch vụ. Bạn có thể chỉnh port mặc định của MongoDB trong cùng một file.

sudo systemctl restart mongodb 

Giờ chỉ có user local có thể login mà không cần chứng thực vào MongoDB. Nếu server bị xâm nhập, hoặc bạn muốn tăng bảo mật, bạn có thể bật dòng bindIP: 127.0.0.1 lên bằng cách gỡ dấu commen (#) ra.

Tổng kết - Cuối con đường

Hiển thị các database trong MongoDB bằng lệnh

show databases
# hoặc
show dbs 

Tạo mới database DB_NEW_TEST sau đấy hiển thị các database

# vào mongo shell 
mongo
# tạo db DB_NEW_TEST 
use DB_NEW_TEST 
# liệt kê các db có trong mongo
show dbs

lệnh đóng mongo shell

exit;
bài viết trong chủ đề