Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

This entry is part 21 of 24 in the series MongoDB

  • MongoDB là gì? Các khái niệm trong MongoDB
  • Hướng dẫn cài đặt, cấu hình MongoDB trên Windows 10
  • Cài đặt và sử dụng Robo 3T (RoboMongo) trên Windows
  • Hướng dẫn cài đặt MongoDB trên Linux (Ubuntu 16.04)
  • Hướng dẫn MongoDB – Tạo database trong MongoDB
  • Hướng dẫn MongoDB – Xóa, DROP database trong MongoDB
  • Tạo bảng, collections trong MongoDB (Tạo bằng dòng lệnh, Robo3t)
  • Xóa bảng, collections trong MongoDB (Xóa bằng lệnh/ Robo3T)
  • Insert document, bản ghi trong MongoDB (Insert bằng lệnh, Robo3T)
  • Truy vấn dữ liệu/document, find(), Select, Where trong MongoDB
  • Xóa document, row trong MongoDB (bằng dòng lệnh, Robo3T)
  • Update document, dữ liệu trong MongoDB
  • Projection trong MongoDB (SELECT field/column trong MongoDB)
  • Sắp xếp trong MongoDB(orderBy, sorting() trong MongoDB)
  • Ưu nhược điểm của MongoDB, khi nào nên dùng MongoDB
  • Xóa cột, field, trường của collections trong MongoDB ($unset)
  • Kiểm tra null, check tồn tại trong MongoDB với $exists
  • Đổi tên field trong MongoDB với $rename
  • Tạo user/roles, phân quyền người dùng trên MongoDB
  • Các loại roles, vai trò, quyền trong MongoDB.
  • Đăng nhập mongodb với username và password (database mongo)
  • Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB
  • Replication, Replica Set trong MongoDB là gì?
  • Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)

Đăng nhập mongodb với username và password (database mongo)

Tạo Replica Set trong MongoDB, Ví dụ Replica Set MongoDB

Replication, Replica Set trong MongoDB là gì?

Phân trang trong MongoDB (skip(), limit() paging trong MongoDB)

(Xem lại: Bật, tắt chức năng đăng nhập MongoDB với username, password.)

(Xem lại: Tạo user/roles, phân quyền người dùng trên MongoDB)

Ví dụ mình có user kai/123456 với role cao nhất là 

mongo -u kai -p 123456 localhost:27017/admin
0 trên database
mongo -u kai -p 123456 localhost:27017/admin
1

mongo -u username -p password host:port/database_name

Bây giờ mình sẽ đăng nhập mongodb bằng account trên:

mongo -u kai -p 123456 localhost:27017/admin

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

Trên giao diện dòng lệnh (command line):

Ta đăng nhập mongodb theo 2 cách sau:

mongo
use admin
db.auth('kai','123456')

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

Ví du:

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb
Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb
Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

Bật, tắt chức năng đăng nhập MongoDB với username, password.

Mặc định, sau khi cài MongoDB, bạn có thể truy cập MongoDB mà không cần username/password. Tuy nhiên trong nhiều trường chúng ta muốn sử dụng account (username/password) để quản lý việc truy cập database (cho phép xóa, đọc, chỉnh sửa…) thì chúng ta cần phải enable chức năng xác thực (authorization) của MongoDB lên.

(Xem thêm: Tạo user, phân quyền trên MongoDB)

Đăng nhập với username/password trên Robo3T (RoboMongo)

Trên tab

mongo -u kai -p 123456 localhost:27017/admin
8 bạn tick vào ô
mongo -u kai -p 123456 localhost:27017/admin
9 sau đó nhập thông tin database, username, password.

Cách 1: với trường hợp start MongoDB bằng tay

Ta sử dụng  tham số

mongo
use admin
db.auth('kai','123456')
0 khi start MongoDB bằng lệnh
mongo -u kai -p 123456 localhost:27017/admin
4.

mongod -auth

Cách 2: disable cấu hình security trong file config của MongoDB.

Trong file config của MongoDB (

mongo -u kai -p 123456 localhost:27017/admin
5) ta thêm đoạn sau và lưu lại.

security:
  authorization: enabled

(Thông thường file mongod.cfg nằm trong folder cài đặt MongoDB, ví dụ trên máy của mình: 

mongo -u kai -p 123456 localhost:27017/admin
6)

Sau đó khởi động lại MongoDB hoặc restart lại máy tính:

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

Sau khi enable chức năng xác thực, nếu bạn không dùng username/password để đăng nhập thì khi thực hiện lệnh nào đó sẽ bị báo lỗi

mongo -u kai -p 123456 localhost:27017/admin
7

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

Để đăng nhập MongoDB bạn cần phải cung cấp account(username/ password) và database chứa account đó với cú pháp:

mongo -u username -p password host:port/database_name

Ví dụ: đăng nhập MongoDB với account (kai/123456)

mongo -u kai -p 123456 localhost:27017/admin

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

(Xem thêm: Tạo user, phân quyền trên MongoDB)

Đăng nhập với username/password trên Robo3T (RoboMongo)

Trên tab

mongo -u kai -p 123456 localhost:27017/admin
8 bạn tick vào ô
mongo -u kai -p 123456 localhost:27017/admin
9 sau đó nhập thông tin database, username, password.

Hướng dẫn mongodb username password - mật khẩu tên người dùng mongodb

Tắt chức năng xác thực của MongoDB

Mặc định chức năng xác thực của MongoDB bị disable, nhưng nếu MongoDB của bạn đang bật chức năng đó mà muốn tắt đi thì làm như sau:

Cách 1: với trường hợp start MongoDB bằng tay

Ta sử dụng  tham số

mongo
use admin
db.auth('kai','123456')
0 khi start MongoDB bằng lệnh
mongo -u kai -p 123456 localhost:27017/admin
4.

mongod -noauth

Cách 2: disable cấu hình security trong file config của MongoDB.

Trong file config của MongoDB (

mongo -u kai -p 123456 localhost:27017/admin
5) ta xóa hoặc comment lại đoạn sau và lưu lại.

security:
  authorization: enabled

Okay, Done!

Referecnes:

https://docs.mongodb.com/…/#security-options