Hướng dẫn cài đặt MongoDB trên Ubuntu 22.04

  • Sunday 01/09/2024

MongoDB là gì?

MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở, phi quan hệ, được thiết kế để lưu trữ, quản lý, và truy vấn các dữ liệu có cấu trúc phức tạp và quy mô lớn. Thay vì lưu trữ dữ liệu trong các bảng theo hàng và cột như trong cơ sở dữ liệu quan hệ (SQL), MongoDB lưu trữ dữ liệu dưới dạng tài liệu (document) trong các collection.

images

Đặc điểm chính của MongoDB:

  1. Dữ liệu dưới dạng tài liệu (document-based):
    • MongoDB lưu trữ dữ liệu dưới dạng các tài liệu BSON (Binary JSON), trong đó mỗi tài liệu là một đối tượng có cấu trúc tương tự như JSON. Điều này cho phép lưu trữ các dữ liệu có cấu trúc linh hoạt và đa dạng hơn so với cơ sở dữ liệu quan hệ truyền thống.
  2. Schema linh hoạt:
    • Không giống như cơ sở dữ liệu quan hệ, MongoDB không yêu cầu một schema cố định. Các tài liệu trong một collection có thể có cấu trúc khác nhau, cho phép ứng dụng thay đổi và mở rộng dữ liệu một cách dễ dàng mà không cần thay đổi cấu trúc cơ sở dữ liệu.
  3. Khả năng mở rộng cao (Scalability):
    • MongoDB hỗ trợ sharding, một phương pháp phân phối dữ liệu trên nhiều server để đảm bảo khả năng mở rộng theo chiều ngang, tức là có thể xử lý lượng dữ liệu lớn hơn bằng cách thêm nhiều node vào cluster.
  4. Tính khả dụng cao (High availability):
    • MongoDB sử dụng replica sets để đảm bảo dữ liệu luôn có sẵn. Một replica set là một nhóm các node chứa cùng một dữ liệu, với một node chính (primary) và nhiều node phụ (secondary) để tự động chuyển đổi và sao lưu trong trường hợp có sự cố.
  5. Truy vấn mạnh mẽ:
    • MongoDB cung cấp một hệ thống truy vấn phong phú và linh hoạt, cho phép thực hiện các truy vấn phức tạp trên dữ liệu, bao gồm tìm kiếm theo trường, tìm kiếm văn bản, và các phép toán so sánh, logic.
  6. Hỗ trợ xử lý dữ liệu lớn:
    • MongoDB được thiết kế để xử lý các khối lượng dữ liệu lớn và có khả năng tích hợp tốt với các công cụ phân tích dữ liệu, giúp các doanh nghiệp phân tích và ra quyết định dựa trên dữ liệu.

Ứng dụng của MongoDB

MongoDB thường được sử dụng trong các ứng dụng yêu cầu khả năng mở rộng cao và xử lý dữ liệu phi cấu trúc hoặc bán cấu trúc. Các lĩnh vực phổ biến bao gồm:

  • Ứng dụng web và di động: Đặc biệt là các ứng dụng cần xử lý dữ liệu người dùng theo thời gian thực và linh hoạt.
  • Hệ thống phân tích dữ liệu: Nhờ khả năng lưu trữ và xử lý các tập dữ liệu lớn và phức tạp.
  • Hệ thống quản lý nội dung: Do tính linh hoạt trong lưu trữ dữ liệu có cấu trúc đa dạng.
  • IoT (Internet of Things): Lưu trữ và phân tích dữ liệu từ các thiết bị IoT với cấu trúc dữ liệu thay đổi.

 

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

Trước tiên, bạn cần cài đặt các gói bắt buộc mà Mongodb yêu cầu:

#sudo apt install software-properties-common gnupg apt-transport-https ca-certificates -y

 

Để cài đặt gói MongoDB mới nhất, bạn cần thêm kho lưu trữ (repository) gói MongoDB vào tệp danh sách nguồn của mình trên Ubuntu. Trước đó, bạn cần nhập khóa chung cho MongoDB trên hệ thống của mình bằng lệnh curl như sau:

#curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

 

Tiếp theo, thêm kho lưu trữ APT MongoDB 7.0 vào thư mục /etc/apt/sources.list.d. Lệnh dưới thêm file mongodb-org-7.0.list vào thư mục /etc/apt/sources.list.d/. Tệp này chứa một dòng duy nhất có nội dung:

#echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

 

Kiểm tra lại với lệnh:

#cat /etc/apt/sources.list.d/mongodb-org-7.0.list

mongodb

 

Cập nhật kho lưu trữ (reposity) của Ubuntu biết về reposity của MongoDB mới đc thêm vào

# sudo apt update -y

 

Cài đặt gói mongodb-org

# sudo apt install mongodb-org -y

 

Sau khi quá trình cài đặt hoàn tất, hãy kiểm tra phiên bản MongoDB đã cài đặt:

#mongod --version

2024 09 01 11 43

 

Kích hoạt MongoDB

Mặc định, sau khi cài đặt hoàn tất MongoDB sẽ bị tắt và bạn cần khởi chạy với lệnh bên dưới:

#systemctl start mongod

 

Kiểm tra trạng thái dịch vụ của MongoDB

#systemctl status mongod

2024 09 01 11 54

 

Bạn kích hoạt cho phép dịch vụ MongoDB tự chạy khi máy chủ được khởi động.

#systemctl enable mongod

 

Kiểm tra xem máy chủ có đang lắng nghe trên cổng mặc định là cổng 27017 hay không.

#sudo ss -pnltu | grep 27017

2024 09 01 11 59

 

Tạo cơ sở dữ liệu và người dùng MongoDB

Hiện tại, phiên bản MongoDB của bạn đã chạy và được định cấu hình để truy cập từ xa. Để truy cập MongoDB, hãy chạy lệnh:

#mongosh

2024 09 01 13 19

 

Như vậy bạn đã truy cập MongoDB thành công, bạn có thể xem danh sách các database hiện có bằng lệnh:

> show dbs

2024 09 01 13 36

Theo mặc định, 3 cơ sở dữ liệu được tạo khi cài đặt gồm admin, config local.

 

1. Tạo database

Để tạo cơ sở dữ liệu, ta sử dụng lệnh use theo sau là tên cơ sở dữ liệu. Chẳng hạn, để tạo cơ sở dữ liệu có tên là members, hãy chạy lệnh:

> use members

2024 09 01 13 51

Để xác nhận cơ sở dữ liệu bạn hiện đang sử dụng, hãy chạy lệnh db.

> db

 

2. Quản lý Database

MongoDB cung cấp một số phương thức shell để quản lý cơ sở dữ liệu của bạn.

Tạo user database

Phương thức db.createUser cho phép bạn tạo người dùng mới trong cơ sở dữ liệu. Phương pháp này yêu cầu bạn xác định tên người dùng và mật khẩu của người dùng cũng như bất kỳ vai trò nào bạn muốn cấp cho người dùng. Thông tin này được trình bày ở định dạng JSON.

Đây là cú pháp tạo người dùng tên là perry với vai trò đọc và ghi trên cơ sở dữ liệu members.

>db.createUser( { user: "perry", pwd: "mat_khau_user", roles: [{ role: "readWrite", db: "members" }] } )

2024 09 01 14 00 1

 

Để xem toàn bộ user đã tạo, bạn sử dụng phương thức db.getUsers()

> db.getUsers();

2024 09 01 14 04

 

Xóa user đã tạo

Để xóa người dùng, hãy sử dụng phương thức db.dropUser như được hiển thị.

> db.dropUser("tên_user", {w: "majority", wtimeout: 4000})

2024 09 01 14 00

 

Chúc các bạn thành công !

_______________________________________________________________________________________________________

P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/

Rate this post