MongoDB là một cơ sở dữ liệu NoSQL cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng tự động. Cơ sở dữ liệu NoSQL có nghĩa là, không giống như MySQL hoặc PostgreSQL, nó không hỗ trợ SQL (Ngôn ngữ truy vấn có cấu trúc) để truy xuất hoặc thao tác dữ liệu được lưu trữ.
MongoDB không lưu trữ dữ liệu trong các bảng. Thay vào đó, nó lưu trữ dữ liệu trong cấu trúc "tài liệu" tương tự như JSON (trong MongoDB gọi là BSON). MongoDB lần đầu tiên được giới thiệu vào năm 2009, sáu năm trước và hiện đang được MongoDB MongoDB Inc. phát triển.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình MongoDB 4.4 trên CentOS 8 Server. Chúng tôi sẽ cài đặt MongoDB, chỉnh sửa một số thiết lập hệ thống để sửa một số lỗi trên MongoDB, tạo người dùng quản trị viên cho MongoDB, sau đó là xác thực MongoDB.
Điều kiện tiên quyết
Bây giờ, hãy chuyển đến thư mục '/etc/yum.repos.d' và tạo tệp kho lưu trữ mới 'mongodb-4.4.repo' bằng trình soạn thảo vim.
Dán kho lưu trữ MongoDB 4.4 sau vào đó.
Lưu và đóng.
Tiếp theo, hãy kiểm tra tất cả các kho lưu trữ khả dụng trên hệ thống CentOS bằng lệnh dnf bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là kho lưu trữ MongoDB đã được thêm vào hệ thống CentOS 8.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động dịch vụ MongoDB và thêm dịch vụ này vào hệ thống khởi động.
Dịch vụ MongoDB đã hoạt động, hãy kiểm tra bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Như có thể thấy, dịch vụ MongoDB đang chạy trên cổng TCP mặc định '27017'.
Tạo một thư mục mới '/etc/tuned/virtual-guest-no-thp' cho cấu hình được điều chỉnh tùy chỉnh có tên là 'virtual-guest-no-thp'.
Tiếp theo, tạo cấu hình 'tuned.conf' trên thư mục '/etc/tuned/virtual-guest-no-thp/' bằng trình soạn thảo vim.
Dán cấu hình sau vào đó.
Lưu và đóng.
Bây giờ hãy kích hoạt cấu hình tùy chỉnh mới 'virtual-guest-no-thp' bằng lệnh tune-adm bên dưới.
Để xác minh trạng thái THP trên trạng thái Linux, hãy kiểm tra bằng lệnh sau.
Bây giờ hãy đảm bảo rằng bạn nhận được phản hồi '[never]' như bên dưới.
Như có thể thấy, Transparent Huge Pages trên hệ thống CentOS đã bị vô hiệu hóa thông qua cấu hình Tuned.
Bây giờ hãy vào thư mục '/etc/security/limits.d/' và tạo cấu hình mới 'monogd.conf' bằng trình soạn thảo vim.
Dán cấu hình sau vào đó.
Lưu và đóng.
Để áp dụng cấu hình mới, hãy chạy lệnh bên dưới.
Bây giờ hãy đảm bảo rằng bạn không gặp lỗi nào và cấu hình Ulimit cho MongoDB đã hoàn tất.
Để tắt cảnh báo này, hãy đăng nhập vào shell MongoDB bằng lệnh "mongo" bên dưới.
Bây giờ hãy chạy truy vấn sau.
Gõ 'exit' để đăng xuất khỏi shell MongoDB và bây giờ hãy khởi động lại máy chủ của bạn.
Và kết quả là, cảnh báo về dịch vụ MongoDB Cloud Monitoring đã biến mất.
Đăng nhập vào shell MongoDB bằng lệnh 'mongo' bên dưới.
Bây giờ chuyển sang cơ sở dữ liệu 'admin'.
Sau đó, tạo người dùng mới 'admin' với mật khẩu 'hakasepasswordformongodbadmin' bằng truy vấn sau.
Và người dùng MongoDB đã được tạo, hãy kiểm tra tất cả người dùng trên MongoDB bằng truy vấn bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
Kết quả là người dùng quản trị cho MongoDB đã được tạo, hãy nhập 'exit' để đăng xuất khỏi shell MongoDB.
Để bật xác thực MongoDB, hãy chỉnh sửa cấu hình '/etc/mongod.conf' bằng trình soạn thảo vim.
Bỏ chú thích tùy chọn 'security' và thêm cấu hình như bên dưới.
Lưu và đóng.
Tiếp theo, khởi động lại dịch vụ MongoDB để áp dụng cấu hình mới.
Đảm bảo không có lỗi và xác thực MongoDB đã được bật.
Đăng nhập vào shell MongoDB bằng lệnh bên dưới.
Tiếp theo, chuyển sang cơ sở dữ liệu 'admin' và hiển thị tất cả người dùng trên MongoDB bằng các truy vấn sau.
Dưới đây là kết quả bạn sẽ nhận được.
Như có thể thấy, bạn không được phép hiển thị tất cả danh sách người dùng trên cơ sở dữ liệu 'admin'.
Tiếp theo, xác thực với máy chủ MongoDB bằng truy vấn sau.
Bây giờ hãy đảm bảo rằng bạn nhận được số phản hồi '1', điều này có nghĩa là xác thực thành công.
Tiếp theo, bạn có thể hiển thị và kiểm tra tất cả người dùng khả dụng trên máy chủ MongoDB của mình bằng truy vấn bên dưới.
Và bạn sẽ nhận được quản trị viên MongoDB mà chúng ta vừa tạo ở trên cùng.
Kết quả là, quá trình cài đặt và cấu hình của MongoDB NoSQL Database Server trên hệ thống CentOS 8 đã hoàn thành thành công.
MongoDB không lưu trữ dữ liệu trong các bảng. Thay vào đó, nó lưu trữ dữ liệu trong cấu trúc "tài liệu" tương tự như JSON (trong MongoDB gọi là BSON). MongoDB lần đầu tiên được giới thiệu vào năm 2009, sáu năm trước và hiện đang được MongoDB MongoDB Inc. phát triển.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình MongoDB 4.4 trên CentOS 8 Server. Chúng tôi sẽ cài đặt MongoDB, chỉnh sửa một số thiết lập hệ thống để sửa một số lỗi trên MongoDB, tạo người dùng quản trị viên cho MongoDB, sau đó là xác thực MongoDB.
Điều kiện tiên quyết
- Máy chủ CentOS 8
- Quyền root
- Hiểu lệnh Linux/CentOS cơ bản
- Thêm kho lưu trữ MongoDB
- Cài đặt MongoDB trên CentOS 8
- Sửa một số lỗi MongoDB
- Tạo người dùng quản trị MongoDB
- Bật MongoDB Xác thực
- Kiểm tra
Bước 1 - Thêm kho lưu trữ MongoDB
Trước tiên, hãy đăng nhập vào máy chủ của bạn bằng tên người dùng và mật khẩu SSH, sau đó cập nhật tất cả các gói lên phiên bản mới nhất bằng lệnh bên dưới.
Mã:
ssh [emailprotected]
sudo dnf update
Mã:
cd /etc/yum.repos.d/
vim mongodb-4.4.repo
Mã:
[mongodb-org-4.4]
name=MongoDB Kho lưu trữ
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
Tiếp theo, hãy kiểm tra tất cả các kho lưu trữ khả dụng trên hệ thống CentOS bằng lệnh dnf bên dưới.
Mã:
sudo dnf repolist
Kết quả là kho lưu trữ MongoDB đã được thêm vào hệ thống CentOS 8.
Bước 2 - Cài đặt MongoDB NoSQL Database Server
Để cài đặt MongoDB NoSQL Database, hãy chạy lệnh dnf bên dưới.
Mã:
sudo dnf install -y mongodb-org
Mã:
systemctl start mongod
systemctl enable mongod
Mã:
ss -plnt
systemctl status mongod
Như có thể thấy, dịch vụ MongoDB đang chạy trên cổng TCP mặc định '27017'.
Bước 3 - Sửa lỗi MongoDB
Ở giai đoạn này, dịch vụ MongoDB đã hoạt động trên hệ thống CentOS 8. Và đối với bước này, chúng ta sẽ nâng cao cài đặt MongoDB bằng cách thay đổi một số cấu hình hệ thống để sửa một số lỗi.- Vô hiệu hóa Transparent Huge Pages (THP) bằng Tuned
Để tăng hiệu suất cài đặt MongoDB, chúng ta cần vô hiệu hóa THP hay Transparent Huge Pages trên hệ thống của mình. Và đối với hệ thống CentOS, bạn có thể vô hiệu hóa THP thông qua cấu hình cấu hình được điều chỉnh.Tạo một thư mục mới '/etc/tuned/virtual-guest-no-thp' cho cấu hình được điều chỉnh tùy chỉnh có tên là 'virtual-guest-no-thp'.
Mã:
sudo mkdir -p /etc/tuned/virtual-guest-no-thp
Mã:
vim /etc/tuned/virtual-guest-no-thp/tuned.conf
Mã:
[main]
include=virtual-guest
[vm]
transparent_hugepages=never
Bây giờ hãy kích hoạt cấu hình tùy chỉnh mới 'virtual-guest-no-thp' bằng lệnh tune-adm bên dưới.
Mã:
sudo tune-adm profile virtual-guest-no-thp
Mã:
cat /sys/kernel/mm/transparent_hugepage/enabled
Như có thể thấy, Transparent Huge Pages trên hệ thống CentOS đã bị vô hiệu hóa thông qua cấu hình Tuned.
- Thiết lập UNIX Ulimit
Ulimits hoặc Giới hạn người dùng được sử dụng để xác định lượng tài nguyên trên toàn hệ thống mà người dùng có thể sử dụng. Để cải thiện và nâng cao hiệu suất của MongoDB, bạn cần tăng cài đặt ulimit cho dịch vụ MongoDB.Bây giờ hãy vào thư mục '/etc/security/limits.d/' và tạo cấu hình mới 'monogd.conf' bằng trình soạn thảo vim.
Mã:
cd /etc/security/limits.d/
vim mongod.conf
Mã:
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000
Để áp dụng cấu hình mới, hãy chạy lệnh bên dưới.
Mã:
sysctl -p
- Tắt cảnh báo MongoDB Cloud Monitoring (Tùy chọn)
Giai đoạn này là tùy chọn. Bạn có thể bỏ qua thông tin về dịch vụ MongoDB Cloud Monitoring khi bạn đăng nhập vào shell MongoDB.Để tắt cảnh báo này, hãy đăng nhập vào shell MongoDB bằng lệnh "mongo" bên dưới.
Mã:
mongo
Mã:
db.disableFreeMonitoring()
Mã:
sudo reboot
Bước 4 - Tạo người dùng quản trị MongoDB
Trong bước này, chúng ta sẽ tạo người dùng quản trị cho MongoDB thông qua shell 'mongo'.Đăng nhập vào shell MongoDB bằng lệnh 'mongo' bên dưới.
Mã:
mongo
Mã:
sử dụng admin
Mã:
db.createUser(
{
user: "admin",
pwd: "hakasepasswordformongodbadmin",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Mã:
hiển thị người dùng
Kết quả là người dùng quản trị cho MongoDB đã được tạo, hãy nhập 'exit' để đăng xuất khỏi shell MongoDB.
Bước 5 - Bật MongoDB Xác thực
Sau khi tạo người dùng quản trị, chúng tôi sẽ bật xác thực MongoDB để ngăn người dùng khác không có đủ đặc quyền xem dữ liệu trên cơ sở dữ liệu.Để bật xác thực MongoDB, hãy chỉnh sửa cấu hình '/etc/mongod.conf' bằng trình soạn thảo vim.
Mã:
vim /etc/mongod.conf
Mã:
security
authorization: "enabled"
Tiếp theo, khởi động lại dịch vụ MongoDB để áp dụng cấu hình mới.
Mã:
systemctl restart mongod
Bước 6 - Kiểm tra
Để kiểm tra cài đặt và cấu hình xác thực MongoDB của chúng tôi, bạn có thể xác minh thông qua shell MongoDB.Đăng nhập vào shell MongoDB bằng lệnh bên dưới.
Mã:
mongo
Mã:
use admin
show users
Như có thể thấy, bạn không được phép hiển thị tất cả danh sách người dùng trên cơ sở dữ liệu 'admin'.
Tiếp theo, xác thực với máy chủ MongoDB bằng truy vấn sau.
Mã:
db.auth('admin', 'hakasepasswordformongodbadmin')
Tiếp theo, bạn có thể hiển thị và kiểm tra tất cả người dùng khả dụng trên máy chủ MongoDB của mình bằng truy vấn bên dưới.
Mã:
show users
Kết quả là, quá trình cài đặt và cấu hình của MongoDB NoSQL Database Server trên hệ thống CentOS 8 đã hoàn thành thành công.