MongoDB là một cơ sở dữ liệu mã nguồn mở, mục đích chung, dựa trên tài liệu và phân tán được thiết kế cho các nhà phát triển ứng dụng hiện đại. Nó cũng được gọi là cơ sở dữ liệu NoSQL vì nó không dựa trên cấu trúc cơ sở dữ liệu quan hệ dựa trên bảng truyền thống. Nó lưu trữ dữ liệu ở định dạng JSON thay vì phương pháp kiểu bảng. Nó có thể dễ dàng tích hợp với nhiều ngôn ngữ lập trình khác nhau. Nó được sử dụng bởi nhiều công ty nổi tiếng bao gồm Facebook, Cisco, Forbes, Adobe, Nokia, v.v.
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt và bảo mật cơ sở dữ liệu MongoDB NoSQL trên Debian 11.
Đầu tiên, hãy cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Sau khi cài đặt xong tất cả các phụ thuộc, hãy tải xuống và thêm khóa GPG bằng lệnh sau:
Tiếp theo, hãy thêm kho lưu trữ MongoDB vào tệp danh sách nguồn APT bằng lệnh bên dưới:
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt máy chủ MongoDB bằng lệnh sau:
Sau khi cài đặt thành công, hãy khởi động dịch vụ MongoDB và cho phép dịch vụ này khởi động khi khởi động lại hệ thống:
Tiếp theo, hãy xác minh phiên bản MongoDB bằng lệnh bên dưới:
Bạn sẽ nhận được kết quả sau:
Để thực hiện, bạn sẽ cần tạo người dùng quản trị cho MongoDB.
Trước tiên, hãy kết nối với shell MongoDB bằng lệnh sau:
Sau khi kết nối, hãy tạo cơ sở dữ liệu có tên là admin bằng lệnh sau:
Tiếp theo, tạo một người dùng quản trị và đặt mật khẩu:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, nhấn CTRL+D để thoát khỏi shell MongoDB. Sau đó, chỉnh sửa tệp cấu hình MongoDB bằng lệnh sau:
Thêm các dòng sau để bật xác thực:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ MongoDB để áp dụng các thay đổi.
Sau khi xác thực thành công, bạn sẽ nhận được kết quả sau:
Tiếp theo, hãy đổi cơ sở dữ liệu thành admin và liệt kê tất cả người dùng bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Trước tiên, hãy dừng dịch vụ MongoDB bằng lệnh sau:
Tiếp theo, hãy xóa gói MongoDB bằng cách chạy lệnh sau:
Tiếp theo, hãy xóa nhật ký MongoDB và thư mục dữ liệu bằng cách chạy lệnh sau:
Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt và bảo mật cơ sở dữ liệu MongoDB NoSQL trên Debian 11.
Điều kiện tiên quyết
- Một máy chủ chạy Debian 11.
- Mật khẩu gốc được cấu hình trên máy chủ.
Thêm kho lưu trữ MongoDB
Theo mặc định, gói MongoDB không được bao gồm trong kho lưu trữ mặc định của Debian 11. Vì vậy, bạn sẽ cần thêm kho lưu trữ chính thức của MongoDB vào APT.Đầu tiên, hãy cài đặt các phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt-get install curl apt-transport-https software-properties-common gnupg2 -y
Mã:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
Mã:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org.list
Mã:
apt-get update -y
apt-get install mongodb-org -y
Mã:
systemctl start mongod
systemctl enable mongod
Mã:
mongod --version
Mã:
db version v4.4.9Thông tin bản dựng: { "version": "4.4.9", "gitVersion": "b4048e19814bfebac717cf5a880076aa69aba481", "openSSLVersion": "OpenSSL 1.1.1k 25 tháng 3 năm 2021", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "debian10", "distarch": "x86_64", "target_arch": "x86_64" }}
Bật xác thực MongoDB
Theo mặc định, xác thực không được bật trong MongoDB. Vì lý do bảo mật, bạn nên bật xác thực MongoDB.Để thực hiện, bạn sẽ cần tạo người dùng quản trị cho MongoDB.
Trước tiên, hãy kết nối với shell MongoDB bằng lệnh sau:
Mã:
mongo
Mã:
> sử dụng admin
Mã:
> db.createUser(
{
user: "madmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Mã:
Đã thêm người dùng thành công: { "user" : "madmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ]}
Mã:
nano /etc/mongod.conf
Mã:
security: authorization: enabled
Mã:
systemctl restart mongod
Xác minh kết nối MongoDB
Tại thời điểm này, xác thực MongoDB đã được bật. Bây giờ, hãy chạy lệnh sau để kết nối shell MongoDB bằng tên người dùng và mật khẩu:
Mã:
mongo -u madmin -p
Mã:
Phiên bản shell MongoDB v4.4.9Nhập mật khẩu:đang kết nối tới: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodbPhiên ngầm định: session { "id" : UUID("8366d28f-55d3-4471-bd94-331329828181") }Phiên bản máy chủ MongoDB: 4.4.9>
Mã:
> use admin
> hiển thị người dùng
Mã:
{ "_id" : "admin.madmin", "userId" : UUID("26dd5225-7bb6-4a57-96a0-7efc4e1a98ba"), "user" : "madmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ]}
Gỡ cài đặt MongoDB
Nếu bạn không cần MongoDB trong hệ thống của mình, bạn có thể gỡ cài đặt nó khỏi hệ thống của mình.Trước tiên, hãy dừng dịch vụ MongoDB bằng lệnh sau:
Mã:
systemctl stop mongod
Mã:
apt-get remove mongodb-org --purge
Mã:
rm -rf /var/lib/mongodb