Trang chủ / Chuyên đề / Cài đặt mongodb trên Ubuntu 18.04 source
Thứ sáu, 09/10/2020 | 00:00 GMT+7

Cài đặt mongodb trên Ubuntu 18.04 source

MongoDB , còn gọi là Mongo , là một opensource database được sử dụng trong nhiều ứng dụng web hiện đại. Nó được gọi là database NoSQL vì nó không dựa trên cấu trúc database quan hệ (Relational Database) dựa trên bảng truyền thống. Thay vào đó, nó sử dụng các document giống JSON với các schemas động.

Không giống như database quan hệ, MongoDB không yêu cầu một schemas (như là bảng) xác định trước trước khi bạn thêm dữ liệu vào database. Bạn có thể thay đổi schemas bất kỳ lúc nào và thường xuyên khi cần thiết mà không cần phải cài đặt database mới với một schemas (bảng) được khai báo đầy đủ. Trong hướng dẫn này, bạn sẽ cài đặt MongoDB trên server Ubuntu 18.04, kiểm tra và tìm hiểu cách quản lý.

Yêu cầu

Để làm theo hướng dẫn này, bạn cần:

Bước 1 - Cài đặt MongoDB

Repository chính thức của Ubuntu bao gồm version ổn định của MongoDB. Tuy nhiên, tại thời điểm viết bài này, version MongoDB có sẵn từ repository mặc định của Ubuntu là 3.6 , trong khi version ổn định mới nhất là 4.4 .

Để có được version mới nhất của phần mềm này, bạn phải có repository chuyên dụng của MongoDB trong các nguồn APT của bạn. Sau đó, bạn có thể cài đặt mongodb-org , một gói meta luôn trỏ đến version MongoDB mới nhất.

Để bắt đầu, hãy nhập khóa GPG công khai cho version MongoDB ổn định mới nhất. Bạn có thể tìm file khóa thích hợp bằng cách chuyển đến server khóa MongoDB và tìm file có số version ổn định mới nhất và kết thúc bằng .asc . Ví dụ: nếu bạn muốn cài đặt version 4.4 của MongoDB, bạn sẽ tìm file có tên server-4.4.asc .

Nhấp chuột phải vào file và chọn Sao chép địa chỉ liên kết . Sau đó, dán liên kết đó vào lệnh curl sau, thay thế URL được đánh dấu:

  • curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

cURL là một công cụ dòng lệnh có sẵn trên nhiều hệ điều hành được sử dụng để truyền dữ liệu. Nó đọc bất kỳ dữ liệu nào được lưu trữ tại URL được chuyển đến nó và in nội dung ra kết quả của hệ thống. Trong ví dụ sau, cURL in nội dung của file khóa GPG và sau đó chuyển nó vào sudo apt-key add - sau đây, do đó thêm khóa GPG vào danh sách khóa tin cậy của bạn.

Ngoài ra, hãy lưu ý lệnh curl này sử dụng các tùy chọn -fsSL,  để thông báo cho cURL không thành công. Điều này nghĩa là nếu vì lý do nào đó, cURL không thể kết nối với server GPG hoặc server GPG bị lỗi, nó sẽ không vô tình thêm mã lỗi kết quả vào danh sách các khóa tin cậy của bạn.

Lệnh này sẽ trả về OK nếu khóa được thêm thành công:

Output
OK

Nếu bạn muốn kiểm tra lại xem khóa đã được thêm đúng chưa, bạn có thể làm như vậy bằng lệnh sau:

  • apt-key list

Thao tác này sẽ trả về khóa MongoDB ở đâu đó trong kết quả:

Output
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2019-05-28 [SC] [expires: 2024-05-26]
      2069 1EEC 3521 6C63 CAF6  6CE1 6564 08E3 90CF B1F5
uid           [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com>
. . .

Đến đây, cài đặt APT của bạn vẫn chưa biết tìm gói mongodb-org mà bạn cần để cài đặt version MongoDB mới nhất.

Có hai nơi trên server, nơi APT tìm kiếm các nguồn gói trực tuyến để download và cài đặt: file sources.list và folder sources.list.d . sources.list là một file liệt kê các nguồn dữ liệu APT đang hoạt động, với một nguồn trên mỗi dòng và các nguồn ưu tiên nhất được liệt kê đầu tiên. Folder sources.list.d cho phép bạn thêm các mục nhập sources.list dưới dạng các file riêng biệt.

Chạy lệnh sau, lệnh này sẽ tạo một file trong folder sources.list.d có tên mongodb-org-4.4.list . Nội dung duy nhất trong file này là một dòng deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse :

  • echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Dòng này cho APT biết mọi thứ nó cần biết về nguồn là gì và tìm nó ở đâu:

  • deb : nghĩa là mục nhập nguồn tham chiếu đến kiến trúc Debian thông thường. Trong các trường hợp khác, phần này của dòng có thể đọc deb-src , nghĩa là mục nhập nguồn đại diện cho mã nguồn của bản phân phối Debian.
  • [ arch=amd64,arm64 ] : chỉ định kiến trúc nào mà dữ liệu APT sẽ được download. Trong trường hợp này, nó chỉ định amd64arm64 .
  • https://repo.mongodb.org/apt/ubuntu : Đây là URI đại diện cho vị trí có thể tìm thấy dữ liệu APT. Trong trường hợp này, URI trỏ đến địa chỉ HTTPS nơi đặt repository (kho-lưu-trữ) MongoDB chính thức.
  • bionic/mongodb-org/4.4 : Kho Ubuntu có thể chứa một số bản phát hành khác nhau. Quy định cụ thể này mà bạn chỉ muốn version 4.4 của mongodb-org gói sẵn cho bionic phát hành Ubuntu ( “Bionic Beaver” là tên mã của Ubuntu 18,04).
  • multiverse : Phần này trỏ APT đến một trong bốn repository (kho-lưu-trữ) chính của Ubuntu. Trong trường hợp này, nó trỏ đến repository (kho-lưu-trữ) multiverse .

Sau khi chạy lệnh này, hãy cập nhật hệ điều hành server để APT biết nơi tìm gói mongodb-org :

  • sudo apt update

Sau đó, bạn có thể cài đặt MongoDB:

  • sudo apt install mongodb-org

Khi được yêu cầu, hãy nhấn Y rồi ENTER để xác nhận bạn muốn cài đặt gói.

Khi lệnh kết thúc, MongoDB sẽ được cài đặt trên hệ thống. Tuy nhiên nó vẫn chưa sẵn sàng để sử dụng. Tiếp theo, bạn sẽ khởi động MongoDB và xác nhận nó hoạt động chính xác.

Bước 2 - Khởi động Dịch vụ MongoDB và Kiểm tra Database

Quá trình cài đặt được mô tả trong bước trước sẽ tự động cấu hình MongoDB để chạy như một daemon được điều khiển bởi systemd , nghĩa là bạn có thể quản lý MongoDB bằng các lệnh systemctl khác nhau. Tuy nhiên, quy trình cài đặt này không tự động khởi động dịch vụ.

Chạy lệnh systemctl sau để bắt đầu dịch vụ MongoDB:

  • sudo systemctl start mongod.service

Sau đó kiểm tra trạng thái của dịch vụ:

  • sudo systemctl status mongod

Lệnh này sẽ trả về kết quả như sau, cho biết rằng dịch vụ đang hoạt động và hoạt động:

Output
● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-10-06 15:08:09 UTC; 6s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 13429 (mongod)
   CGroup: /system.slice/mongod.service
           └─13429 /usr/bin/mongod --config /etc/mongod.conf

Sau khi xác nhận dịch vụ đang chạy như mong đợi, hãy bật dịch vụ MongoDB khởi động khi server khởi động:

  • sudo systemctl enable mongod

Bạn có thể xác minh thêm rằng database đang hoạt động bằng cách kết nối với server database và chạy lệnh kiểm tra. Lệnh sau sẽ kết nối với database và xuất ra version, địa chỉ server và cổng hiện tại của nó. Nó cũng sẽ trả về kết quả của lệnh Internal connectionStatus của MongoDB:

  • mongo --eval 'db.runCommand({ connectionStatus: 1 })'

connectionStatus sẽ kiểm tra và trả về trạng thái của kết nối database. Giá trị 1 cho trường ok trong phản hồi cho biết rằng server đang hoạt động như mong đợi:

Output
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2244c4df-38a3-4109-9fd2-68948865647a") }
MongoDB server version: 4.4.1
{
    "authInfo" : {
        "authenticatedUsers" : [ ],
        "authenticatedUserRoles" : [ ]
    },
    "ok" : 1
}

Ngoài ra, lưu ý database đang chạy trên cổng 27017 trên 127.0.0.1 , địa chỉ loopback local đại diện cho localhost . Đây là số cổng mặc định của MongoDB.

Tiếp theo, ta sẽ xem xét cách quản lý version server MongoDB với systemd .

Bước 3 - Quản lý Dịch vụ MongoDB

Như đã đề cập trước đây, quá trình cài đặt được mô tả trong Bước 1 cấu hình MongoDB để chạy như một dịch vụ systemd . Điều này nghĩa là bạn có thể quản lý nó bằng các lệnh systemctl tiêu chuẩn như cách bạn làm với các dịch vụ chuẩn khác trên Ubuntu.

Như đã đề cập trước đây, lệnh systemctl status kiểm tra trạng thái của dịch vụ MongoDB:

  • sudo systemctl status mongod

Bạn có thể dừng dịch vụ bằng lệnh:

  • sudo systemctl stop mongod

Để bắt đầu dịch vụ khi nó dừng, hãy chạy:

  • sudo systemctl start mongod

Bạn cũng có thể khởi động lại server khi nó đang chạy:

  • sudo systemctl restart mongod

Ở Bước 2, bạn đã bật MongoDB để tự động khởi động với server. Nếu bạn muốn tắt tính năng khởi động tự động này, hãy nhập:

  • sudo systemctl disable mongod

Sau đó, để chạy lại nó khởi động khi server khởi động, hãy chạy lại lệnh enable :

  • sudo systemctl enable mongod

Để biết thêm thông tin về cách quản lý các dịch vụ systemd , hãy xem Systemd Essentials: Làm việc với Dịch vụ, Đơn vị và Log .

Kết luận

Trong hướng dẫn này, bạn đã thêm repository (kho-lưu-trữ) MongoDB chính thức vào version APT của bạn và cài đặt version MongoDB mới nhất. Sau đó, bạn đã thử nghiệm chức năng của Mongo và thực hành một số lệnh systemctl .

Bước tiếp theo đặc biệt bạn nên tăng cường bảo mật cho cài đặt MongoDB của bạn theo hướng dẫn về Cách bảo mật MongoDB trên Ubuntu 18.04 . Khi được bảo mật, bạn có thể cấu hình MongoDB để chấp nhận các kết nối từ xa .

Bạn có thể xem thêm tài liệu MongoDB chính thức, vì đó là một nguồn tài nguyên tuyệt vời về các tính năng của MongoDB.



Các tin trước

Cấu hình remote-access cho mongodb trên Ubuntu 18.04 2020-10-08

Cài đặt anaconda python trên Ubuntu 18 2020-10-03

Tạo user mới và Phân quyền với Mysql 2020-09-29

Cài đặt LAMP (Apache MariaDb Php) trên CENTOS 8 2020-09-28

Cách cài đặt máy chủ Apache trên Centos 8 2020-09-28

Tổng quan sử dụng SSH, làm việc với SSH Client - Server 2020-09-28

Cách cài đặt SSH Key trên Centos 8, đăng nhập không cần password! 2020-09-27

Cài đặt bảo mật cơ bản cho Centos 8 2020-09-27

Lập lịch với Crontab trên Centos 8 2020-09-27

Bảo mật Apache với Lets Encrypt trên Centos 8 2020-09-19