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:
- Một server Ubuntu 18.04. Server này phải có user không phải root, có quyền sudo và firewall được cấu hình bằng UFW. Cài đặt điều này theo hướng dẫn cài đặt server ban đầu cho Ubuntu 18.04 .
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:
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ả:
/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ể đọcdeb-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ỉ địnhamd64
vàarm64
.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 version4.4
củamongodb-org
gói sẵn chobionic
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:
● 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:
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