Cài đặt MongoDB 6.0 trên Ubuntu 22.04 - Install MongoDB 6.0 Ubuntu 22.04

MongoDB 6.0 là một hệ quản trị cơ sở dữ liệu phổ biến và mã nguồn mở, lưu trữ dữ liệu trong một định dạng linh hoạt và hướng tài liệu. Trước khi chúng ta bắt đầu nói về cách install MongoDB 6.0 trên Ubuntu 22.04, hãy tìm hiểu ngắn gọn về - MongoDB là gì?

MongoDB là gì?

MongoDB là một hệ quản trị cơ sở dữ liệu phổ biến, mã nguồn mở, lưu trữ dữ liệu trong một định dạng linh hoạt và hướng tài liệu. Nó cung cấp một giải pháp có khả năng mở rộng và hiệu suất cao để quản lý lượng dữ liệu lớn qua các ứng dụng đa dạng. Với kiến ​​trúc schema linh hoạt, MongoDB cho phép tích hợp dữ liệu dễ dàng và mượt mà, giúp doanh nghiệp thích nghi nhanh chóng với nhu cầu thay đổi.

Khả năng truy vấn mạnh mẽ và khả năng mở rộng theo chiều ngang giúp MongoDB phù hợp cho các ứng dụng hiện đại, tải dữ liệu lớn. MongoDB đơn giản hóa quá trình phát triển và cung cấp các tính năng quản lý dữ liệu mạnh mẽ, biến nó trở thành sự lựa chọn hàng đầu cho các nhà phát triển và doanh nghiệp trên toàn thế giới.

Lợi ích của MongoDB

  • Mô hình dữ liệu linh hoạt: Cấu trúc hướng tài liệu của MongoDB cho phép mô hình dữ liệu linh hoạt và động, thích nghi với các yêu cầu thay đổi một cách dễ dàng.
  • Khả năng mở rộng: Kiến ​​trúc phân tán của MongoDB cho phép mở rộng theo chiều ngang, xử lý khối lượng dữ liệu lớn và tải lưu lượng cao một cách hiệu quả.
  • Hiệu suất cao: Với khả năng tính toán trong bộ nhớ và tính năng lập chỉ mục, MongoDB cung cấp các phản hồi truy vấn nhanh chóng, đảm bảo hiệu suất ứng dụng tối ưu.
  • Tích hợp mượt mà: MongoDB tích hợp tốt với các ngôn ngữ lập trình, framework phổ biến và các công cụ phân tích, giúp tích hợp và phân tích dữ liệu mượt mà.
  • Hiệu suất của nhà phát triển: Ngôn ngữ truy vấn trực quan của MongoDB, các API phong phú và tài liệu chi tiết giúp đơn giản hóa quá trình phát triển, giảm thời gian và công sức cho nhà phát triển.

Sử dụng MongoDB trong lĩnh vực công nghệ thông tin

  • Kiến trúc tài liệu: Sử dụng kiến ​​trúc tài liệu của MongoDB, hầu như bất kỳ cấu trúc dữ liệu nào cũng có thể được đơn giản chỉ định và điều chỉnh.
  • Dễ dàng thay đổi định dạng dữ liệu: Nếu bạn đã từng phải tắt trang web hoặc ứng dụng của mình để thay đổi định dạng dữ liệu, MongoDB là lựa chọn phù hợp cho bạn.
  • Tích hợp mượt mà: Bằng cách biểu diễn và lưu trữ dữ liệu dưới định dạng tài liệu, bạn có thể truy cập dữ liệu từ bất kỳ ngôn ngữ nào bằng cách sử dụng cấu trúc dữ liệu cụ thể của ngôn ngữ đó.
  • Xây dựng cụm với đồng bộ hóa thời gian thực: Xây dựng các cụm với việc sao chép thời gian thực và chia các bộ sưu tập lớn hoặc có lưu lượng cao qua nhiều cụm để duy trì hiệu suất và mở rộng theo chiều ngang.
  • Truy cập dữ liệu đơn giản: MongoDB yêu cầu ít việc kết hợp hoặc giao dịch để truy cập dữ liệu.

Ưu điểm của MongoDB 6.0

MongoDB 6.0 bao gồm những tính năng mới thú vị sau đây:

  • Hỗ trợ chỉ số phụ trên các đo lường chuỗi thời gian: Sửa đổi quan trọng giúp người dùng dễ dàng tạo chỉ mục phụ trên dữ liệu thay đổi theo thời gian bằng cách hỗ trợ chỉ mục phụ trên các đo lường chuỗi thời gian.
  • Giao diện, trình điều khiển và kết nối cho Atlas SQL: Có sẵn dưới dạng phiên bản xem trước công khai, giúp các nhà phân tích dữ liệu truy vấn và phân tích dữ liệu Atlas bằng cách sử dụng công cụ SQL hiện có.
  • Tính năng tìm kiếm mới trong Atlas: Atlas Search giúp tích hợp tìm kiếm dựa trên tính thích hợp vào ứng dụng của bạn.
  • Các phiên bản Atlas có tính năng serverless: Nhờ sử dụng công nghệ serverless, các nhà phát triển có thể xây dựng ứng dụng mà không cần lo lắng về cung cấp tài nguyên hoặc quy mô.
  • Synchronization dữ liệu giữa các cụm: MongoDB 6.0 thêm tính năng đồng bộ hóa dữ liệu giữa các cụm như một giải pháp cho vấn đề đồng bộ hóa dữ liệu giữa các cụm. Tính năng này cho phép đồng bộ hóa dữ liệu một chiều liên tục giữa hai cụm MongoDB, dù chúng ở cùng môi trường hoặc môi trường lai.
  • Queryable Encryption (Xem trước Encryption): Với phiên bản này, người dùng có thể mã hóa dữ liệu nhạy cảm ở phía máy khách, lưu trữ chúng như dữ liệu được mã hóa hoàn toàn ngẫu nhiên trên phía máy chủ cơ sở dữ liệu và thực hiện các truy vấn biểu hiện trên dữ liệu đã mã hóa.
  • Quản lý khóa bảo mật: MongoDB 6.0 Enterprise cho phép quản lý an toàn các khóa để mã hóa nhật ký kiểm tra MongoDB trên máy chủ KMIP bên ngoài. KMIP giúp giảm bớt sự phức tạp trong việc quản lý khóa mật mã bằng cách loại bỏ các thủ tục quản lý khóa không bình thường.

Kiến trúc MongoDB HA (High Availability)

  • MongoDB tự động duy trì các replica set, đó là các bản sao dữ liệu phân tán trên các máy chủ, các rack và trung tâm dữ liệu. Trong replica set, sử dụng sao chép tự nhiên và chuyển đổi tự động để ngăn ngừa thời gian chết của cơ sở dữ liệu.
  • Trong MongoDB, một replica set là một tập hợp các quy trình mongod chăm sóc cùng một tập dữ liệu. Tất cả các triển khai sản xuất được xây dựng trên replica set, cung cấp tính toàn vẹn dữ liệu và khả năng có sẵn cao.
  • Để đạt được tính sẵn sàng cao của MongoDB, bạn cần ít nhất 3 nút, nơi một replica set bao gồm một nút chính và hai nút thứ cấp. Một nút thứ ba có thể được tạo ra bằng cách kết hợp hai nút đầu tiên này với một nút ủy quyền.

Install MongoDB 6.0 trên Ubuntu 22.04

Phiên bản cộng đồng & doanh nghiệp của MongoDB

Phiên bản Mongo Enterprise Advanced bao gồm quyền truy cập vào cả phiên bản Cộng đồng miễn phí và phiên bản Doanh nghiệp của MongoDB.

Phiên bản Doanh nghiệp bây giờ đã bao gồm mã hóa trên đĩa, hỗ trợ LDAP và Kerberos, giám sát và các tính năng khác.

Bước 1: Thực hiện cập nhật hệ thống

Trước hết, chúng ta sẽ cập nhật hệ thống Ubuntu 22.04 và cài đặt các gói cần thiết trước khi tiến hành cài đặt. Để thực hiện việc này, chạy các lệnh sau:

sudo apt update
sudo apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release

Bước 2: Nhập khóa công khai

Nhập khóa GPG công khai cho MongoDB bằng cách chạy lệnh sau:

curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-6.gpg

Bước 3: Cấu hình kho lưu trữ MongoDB

Thêm kho lưu trữ vào hệ thống bằng cách thực hiện các bước dưới đây. Tạo một tệp mới cho kho lưu trữ MongoDB:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Sau đó, lưu tệp và tiến hành cập nhật lại danh sách gói:

sudo apt update

Bước 4: Cài đặt MongoDB 6.0 trên Ubuntu 22.04

Để cài đặt MongoDB 6.0 trên Ubuntu, chạy lệnh sau sau khi thêm kho lưu trữ chính xác:

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.17_amd64.deb
sudo dpkg -i ./libssl1.1_1.1.1f-1ubuntu2.17_amd64.deb
sudo apt update
sudo apt install mongodb-org

Dependency tree:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libfwupdplugin1
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
mongodb-database-tools mongodb-mongosh mongodb-org-database mongodb-org-database-tools-extra mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed:
mongodb-database-tools mongodb-mongosh mongodb-org mongodb-org-database mongodb-org-database-tools-extra mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
0 upgraded, 9 newly installed, 0 to remove and 4 not upgraded.
Need to get 134 MB of archives.
After this operation, 458 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Sau khi cài đặt thành công, bắt đầu và kích hoạt dịch vụ MongoDB:

sudo systemctl start mongod
sudo systemctl enable mongod

Xác minh trạng thái MongoDB:

systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-07-29 04:11:46 EAT; 8s ago
Docs: https://docs.mongodb.org/manual
Main PID: 430451 (mongod)
Memory: 61.6M
CGroup: /system.slice/mongod.service
└─430451 /usr/bin/mongod --config /etc/mongod.conf

Jul 29 04:11:46 frank-PC systemd[1]: Started MongoDB Database Server.

Xác minh phiên bản cài đặt MongoDB:

mongod --version
db version v6.0.0
Build Info: {
"version": "6.0.0",
"gitVersion": "e61bf27c2f6a83fed36e5a13c008a32d563babe2",
"openSSLVersion": "OpenSSL 1.1.1f 31 Mar 2020",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "ubuntu2004",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}

Bước 5: Cấu hình MongoDB 6.0

Tệp cấu hình của MongoDB có thể được tìm thấy tại /etc/mongod.conf. Bạn có thể cấu hình đường dẫn cơ sở dữ liệu, thư mục nhật ký và các cấu hình cần thiết khác trong tệp này. Dưới đây là một số cấu hình MongoDB:

Kích hoạt xác thực mật khẩu trên MongoDB 6.0

Khi kích hoạt, người dùng phải nhập mật khẩu để đọc và chỉnh sửa cơ sở dữ liệu.

Bỏ chú thích dòng sau để thực hiện điều này:

security:
authorization: enabled

Cho phép truy cập từ xa trên MongoDB 6.0

Mặc định, MongoDB thường chỉ cho phép truy cập cục bộ. Nếu bạn muốn truy cập từ xa, bạn cần thay đổi mã sau để bao gồm địa chỉ IP hoặc tên máy chủ của máy chủ cơ sở dữ liệu.

# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

Để cho phép truy cập từ mọi địa chỉ IPv4 và IPv6, sửa dòng sau:

bindIp: 0.0.0.0

Sau khi đã thay đổi cấu hình, lưu tệp và khởi động lại dịch vụ:

sudo systemctl restart mongod

Có thể truy cập từ xa vào dịch vụ nếu cổng được cho phép ngoài tường lửa:

sudo ufw allow 27017

Bước 6: Thay đổi đường dẫn dữ liệu mặc định của MongoDB 6.0

Đường dẫn lưu trữ dữ liệu mặc định của MongoDB là /var/lib/mongodb. Tuy nhiên, bạn có thể thay đổi nếu chọn một đường dẫn khác. Để làm điều này, tạm dừng phiên bản đang hoạt động:

sudo systemctl stop mongod

Tạo đường dẫn cần thiết và cấp quyền cần thiết để lưu trữ dữ liệu:

sudo mkdir /new-data-path
sudo chown -R mongodb:mongodb /new-data-path

Sao chép nội dung của đường dẫn cũ sang thư mục mới:

sudo rsync -av /var/lib/mongodb /new-data-path

Đổi tên thư mục cũ thành tên tệp sao lưu:

sudo mv /var/lib/mongodb /var/lib/mongodb.bak

Tạo một liên kết tượng trưng để trỏ đến thư mục mới:

sudo ln -s /newdata/mongo /var/lib/mongodb

Khởi động lại dịch vụ MongoDB:

sudo systemctl daemon-reload
sudo systemctl start mongod

Bước 7: Sử dụng cơ sở dữ liệu MongoDB 6.0

Để truy cập vào shell MongoDB, thực hiện lệnh sau:

mongosh

Kết quả sẽ như sau:

Current Mongosh Log ID: 62e33c2dfed670cec73bbf7f
Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.5.3
Using MongoDB: 6.0.0
Using Mongosh: 1.5.3

For mongosh info see: https://docs.mongodb.com/mongodb-shell/


To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

Warning: Found ~/.mongorc.js, but not ~/.mongoshrc.js. ~/.mongorc.js will not be loaded.
You may want to copy or rename ~/.mongorc.js to ~/.mongoshrc.js.

Tạo người dùng và gán vai trò trong MongoDB

Trong mục đích của bài hướng dẫn này, chúng ta sẽ tạo một người dùng có tên là mongdbuser và gán cho họ vai trò quản trị viên.

Tuy nhiên, lệnh sau có thể được sử dụng để tạo người dùng mong muốn.

use admin
db.createUser(
{
user: "mongdbuser",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)

Sử dụng lệnh sau để đóng shell sau khi đã cung cấp mật khẩu cho người dùng:

> exit
bye

Để kiểm tra xem người dùng đã được tạo hay chưa, đăng nhập vào shell sử dụng thông tin đăng nhập của người dùng:

mongosh -u mongdbuser -p --authenticationDatabase admin

Tạo cơ sở dữ liệu trong MongoDB

Bạn có thể xem danh sách các cơ sở dữ liệu có sẵn:

show dbs
admin 132.00 KiB
config 12.00 KiB
local 72.00 KiB

Với MongoDB, việc tạo cơ sở dữ liệu đơn giản như chuyển sang một cơ sở dữ liệu trống. Ví dụ, để tạo cơ sở dữ liệu mongotestdb, thực hiện lệnh sau:

use mongotestdb

Tạo bộ sưu tập (Collection) trong MongoDB

Trong cơ sở dữ liệu SQL, một bộ sưu tập tương tự như một bảng. Dưới đây là các lệnh để tạo bộ sưu tập trong cơ sở dữ liệu tương ứng:

db.employeedetails.insertOne(
{F_Name: "John",
L_NAME: "Doe",
ID_NO: "23245",
AGE: "25",
TEL: "63365467666"
}
)

Sử dụng lệnh sau để xem danh sách các bộ sưu tập sau khi chúng đã được tạo:

show collections
employeedetails

Trong bài viết này, mình đã hướng dẫn bạn qua từng bước install MongoDB 6.0 trên hệ điều hành Ubuntu 22.04. Bạn đã tìm hiểu cách thêm kho lưu trữ MongoDB, cấu hình MongoDB, cài đặt và kiểm tra trạng thái của nó. Bên cạnh đó, bạn đã biết cách tạo và quản lý người dùng, cơ sở dữ liệu và bộ sưu tập trong MongoDB.

MongoDB không chỉ đơn giản là một hệ quản trị cơ sở dữ liệu, mà còn mang lại khả năng linh hoạt và hiệu suất cao cho ứng dụng của bạn. Sử dụng MongoDB 6.0, bạn có thể xây dựng các ứng dụng dựa trên dữ liệu với hiệu suất tối ưu và khả năng mở rộng đáng kể.

Mọi người cùng tìm kiếm: install mongodb ubuntu 22.04, install mongodb 6 ubuntu 22.04, install mongodb 6.0 on ubuntu 22.04, install mongodb 6 on ubuntu 22.04