MongoDB là một cơ sở dữ liệu văn bản được sử dụng trong nhiều ứng dụng mạng hiện đại. MongoDB được phân loại là cơ sở dữ liệu NoSQL bởi vì MongoDB không dựa vào cấu trúc cơ sở dữ liệu quan hệ dạng bảng truyền thống. Bài viết này sẽ hướng dẫn cài đặt MongoDB trên một Ubuntu 20.04, thử nghiệm và quản lý MongoDB như một dịch vụ systemd.
Yêu cầu để cài đặt MongoDB trên Ubuntu 20.04
Để làm theo hướng dẫn này, bạn sẽ cần có: Một server Ubuntu 20.04. Server này phải có tài khoản user non-root có quyền sudo và tường lửa cấu hình với UFW.
Bước 1: Cài đặt MongoDB
Các kho lưu trữ gói chính thức của Ubuntu bao gồm một phiên bản ổn định của MongoDB. Tuy nhiên, với bài viết này, phiên bản MongoDB sẵn có từ kho lưu trữ mặc định của Ubuntu là 3.6, trong khi phiên bản ổn định mới nhất là 4.4 tại thời điểm của bài viết (hiện nay đã có bản v6.0).
Để có phiên bản mới nhất của phần mềm này, bạn phải thêm kho package riêng biệt của Ubuntu vào nguồn ATP của bạn. Rồi bạn mới có thể cài đặt mongodb-org
, một meta-package luôn trỏ đến phiên bản mới nhất của Ubuntu.
Để bắt đầu, hãy nhập khóa GPG công khai cho phiên bản ổn định mới nhất của Ubuntu bằng cách chạy lệnh sau đây. Nếu bạn muốn dùng một phiên bản MongoDB khác với phiên bản 4.4, hãy đổi 4.4 trong phần URL của lệnh này cho hợp với phiên bản bạn muốn cài đặt.
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 sẵn có trên nhiều hệ điều hành được dùng để chuyển dữ liệu. cURL đọc bất cứ dữ liệu nào được lưu trữ tại URL được chuyển cho nó và in nội dung ấy lên output liệu của hệ thống. Trong ví dụ sau đây, cURL in nội dung của file chính GPG và chuyển nội dung ấy sang lệnh “sudo apt-key add -
“, thêm khóa GPG vào danh sách các khóa tin cậy của bạn.
Lưu ý lệnh curl
này sử dụng các tùy chọn -fsSL
. Các chọn lựa này cơ bản nói cURL sẽ chạy ở chế độ im lặng kể cả nếu thất bại. Điều này có nghĩa là nếu vì vấn đề nào đó làm cURL không kết nối được với máy chủ GPG hoặc GPG không hoạt động, thì hệ thống cũng sẽ không vô tình thêm đoạn code lỗi vào danh sách khóa tin cậy.
Lệnh này sẽ trả về OK nếu khóa được thêm vào thành công.
Output
OK
Nếu bạn muốn kiểm tra xem khóa ấy được thêm vào đúng cách, bạn có thể kiểm tra bằng lệnh sau đây:
apt-key list
Lệnh này sẽ trả về khóa MongoDB ở đâu đó trong output cùng với các thông tin khác.
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, bản cài APT của bạn vẫn chưa biết tìm package mongodb-org
mà bạn cần ở đâu để cài đặt phiên bản MongoDB mới nhất.
Có hai nơi trên server của bạn để ATP tìm kiếm các nguồn online chứa các package để tải về và cài đặt: file sources.list
và thư mục sources.list.d
. Sources.list
là file liệt kê các nguồn hoạt động của dữ liệu ATP, với một nguồn mỗi dòng và các nguồn ưa thích nhất được liệt kê trước.
Thư mục sources.list.d
cho phép bạn thêm các chỉ mục sources.list
như các file tách biệt.
Hãy chạy lệnh sau đây, để tạo một file trong thư mục sources.list.d, mang tên mongodb-org-4.4.list
. Nội dung duy nhất trong file này là một dòng như sau: deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Dòng duy nhất này cho ATP mọi thứ nó cần biết về nguồn là gì và tìm nguồn ở đâu.
deb
: Có nghĩa là đề mục nguồn tham chiếu một cấu trúc Debian thông thường. Trong các trường hợp khác, phần này của dòng lệnh có thể làdeb-src
, nghĩa là đề mục nguồn đại diện một mã nguồn phân phối Debian.[ arch=amd64,arm64 ]
: Phần này chỉ định kiến trúc mà dữ liệu ATP nên dùng để tải xuống, trong bài viết này cụ thể là amd64 và arm64.https://repo.mongodb.org/apt/ubuntu
: Đây là một URI đại diện cho vị trí nơi có thể tìm thấy dữ liệu ATP. Trong trường hợp này, URI chỉ đến địa chỉ HTTPS nơi có repository MongoDB chính thức.focal/mongodb-org/4.4
: Các repository Ubuntu có thể chứa nhiều bản phát hành khác nhau. Cái này nói cụ thể rằng bạn chỉ muốn phiên bản 4.4 của góimongodb-org
có sẵn cho bản phát hành Ubuntu focal (“Focal Fossa” là tên mã của Ubuntu 20.04).multiverse
: Phần này chỉ APT đến một trong bốn repository Ubuntu chính. Trong trường hợp này là chỉ đến repository có tên là multiverse.
Sau khi chạy lệnh này, hãy cập nhật chỉ số gói trên server của bạn để ATP biết tìm gói mongodb-org
ở đâu.
sudo apt update
Sau đó bạn có thể cài đặt MongoDB.
sudo apt install mongodb-org
Khi được nhắc, hãy ấn phím Y và phím ENTER để xác nhận rằng bạn muốn cài đặt gói phần mềm ấy. Khi lệnh kết thúc, MongoDB sẽ được cài đặt trên hệ thống của bạn. Tuy nhiên nó vẫn chưa sẵn sàng để sử dụng. Kế tiếp, bạn sẽ khởi động MongoDB và xác nhận nó hoạt động đúng cách.
Để cài đặt MongoDB, bạn cần một máy chủ chạy hệ điều hành Ubuntu 20.04. Nếu cần một giải pháp máy chủ linh hoạt, hiệu năng mạnh mẽ để triển khai MongoDB, bạn có thể tham khảo dịch vụ VPS của Vietnix.
Với dịch vụ VPS tại Vietnix, bạn sẽ có một môi trường đáng tin cậy để chạy Ubuntu 20.04 và triển khai MongoDB một cách dễ dàng. Dịch vụ VPS của Vietnix được xây dựng trên hạ tầng mạnh mẽ, mang đến tốc độ truy cập nhanh, ổn định cao.
Không chỉ vậy, Vietnix còn cung cấp các gói VPS tốc độ cao, linh hoạt phù hợp với mọi nhu cầu của bạn với mức giá chỉ từ 89.000 VND/Tháng như VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp và VPS NVMe. Bạn có thể tùy chỉnh cấu hình gói VPS để đáp ứng đúng yêu cầu dự án của mình.
Với đội ngũ hỗ trợ chuyên nghiệp, túc trực 24/7, Vietnix sẽ luôn đồng hành cùng bạn trong việc triển khai và quản lý VPS. Bạn sẽ nhận được sự hỗ trợ nhanh chóng, giúp bạn giải quyết các vấn đề một cách dễ dàng và hiệu quả. Liên hệ ngay để được tư vấn chi tiết.
Bước 2: Khởi động dịch vụ MongoDB và thử nghiệm cơ sở dữ liệu
Tiến trình cài đặt được mô tả trong bước trên tự động cấu hình MongoDB để chạy dưới dạng 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, thủ tục cài đặt này không tự động khởi động dịch vụ.
Hãy chạy lệnh systemctl
sau đây để khởi động dịch vụ MongoDB.
sudo systemctl start mongod.service
Sau đó hãy kiểm tra trạng thái của dịch vụ. Hãy chú ý rằng lệnh này không bao gồm phần đuôi “.service”. Lệnh systemctl
sẽ gắn thêm phần đuôi này vào bất kỳ đối số nào bạn chuyển nếu nó chưa có, vì vậy không cần thiết phải thêm nó.
sudo systemctl status mongod
Lệnh này sẽ trả về output như sau, cho biết dịch vụ đang 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-06-09 12:57:06 UTC; 2s ago
Docs: https://docs.mongodb.org/manual
Main PID: 37128 (mongod)
Memory: 64.8M
CGroup: /system.slice/mongod.service
└─37128 /usr/bin/mongod --config /etc/mongod.conf
Sau khi xác nhận rằng dịch vụ đang hoạt động như mong đợi, hãy khởi động dịch vụ MongoDB khi mở máy tính.
sudo systemctl enable mongod
Bạn có thể xác thực thêm rằng cơ sở dữ liệu hoạt động khi kết nối với server cơ sở dữ liệu và thử thực thi lệnh để kiểm tra. Lệnh sau đây sẽ kết nối với cơ sở dữ liệu và xuất ra phiên bản hiện hành, địa chỉ server và port. Nó cũng sẽ trả về kết quả của lệnh connectionStatus
bên trong MongoDB.
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Lệnh connectionStatus
sẽ kiểm tra và trả về trạng thái kết nối cơ sở dữ liệu. Trong phần output, người dùng sẽ thấy trường “ok” có giá trị là 1, điều này chỉ ra rằng server đang hoạt động tốt.
Output
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") }
MongoDB server version: 4.4.0
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
Lưu ý cơ sở dữ liệu đang chạy trên port 27017
tại 127.0.0.1, là địa chỉ loopback cục bộ đại diện cho localhost. Đây là số cổng mặc định của MongoDB.
Tiếp theo chúng ta sẽ xem cách quản lý instance server MongoDB với systemd.
Bước 3: Quản lý dịch vụ MongoDB
Như đã nói, tiến 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 có nghĩa là bạn có thể quản lý nó khi sử dụng các lệnh systemctl
tiêu chuẩn như bạn làm với các dịch vụ hệ thống Ubuntu.
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ất cứ lúc nào bằng lệnh sau:
sudo systemctl stop mongod
Để khởi động dịch vụ khi đã dừng, chạy lệnh:
sudo systemctl start mongod
Bạn cũng có thể khởi động lại server khi dịch vụ đang chạy:
sudo systemctl restart mongod
Trong bước 2, bạn đã cài đặt MongoDB khởi động tự động cùng với server. Nếu bạn muốn vô hiệu việc khởi động tự động này thì chạy lệnh:
sudo systemctl disable mongod
Sau đó để cài đặt cho MongoDB khởi động theo server, hãy chạy lệnh enable
lần nữa:
sudo systemctl enable mongod
Vietnix là nhà cung cấp VPS tốc độ cao, uy tín hàng đầu tại thị trường Việt Nam. Với kinh nghiệm, chuyên môn và sự thấu hiểu khách hàng, Vietnix cam kết mang đến cho bạn một trải nghiệm vượt trội khi sử dụng dịch vụ của Vietnix.
- Vietnix có 11 năm kinh nghiệm trên thị trường hosting và VPS Việt Nam, đồng hành cùng hơn 50.000 khách hàng trong và ngoài nước.
- Sự hài lòng của khách hàng là một trong những ưu tiên hàng đầu của Vietnix. Với 97% khách hàng đánh giá 5 sao và giới thiệu dịch vụ sau khi sử dụng càng khẳng định chất lượng sản phẩm của Vietnix. Đặc biệt, 89% khách hàng đã duy trì việc sử dụng dịch vụ của Vietnix đến thời điểm hiện tại, là minh chứng rõ ràng về sự tín nhiệm và hài lòng của họ.
- Với những thành tựu đáng tự hào này, Vietnix đã được vinh danh bằng giải thưởng “Thương hiệu Việt Nam xuất sắc 2022” trong hạng mục “Sản phẩm dịch vụ xuất sắc”. Đây là sự công nhận về nỗ lực và đóng góp của Vietnix trong việc cung cấp các sản phẩm và dịch vụ tốt nhất cho khách hàng.
Với tất cả những lợi thế trên, Vietnix mong muốn được phục vụ và đồng hành cùng bạn trong hành trình phát triển dự án và kinh doanh. Liên hệ ngay với Vietnix để được hỗ trợ thêm.
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh
- Hotline: 1800 1093 – 07 088 44444
- Email: sales@vietnix.com.vn
Lời kết
Qua hướng dẫn này, bạn đã thêm repository MongoDB chính thức vào instance ATP và đã cài đặt phiên bản MongoDB mới nhất. Sau đó thử nghiệm chức năng của MongoDB và thực hành một số lệnh systemctl. Cảm ơn bạn đã theo dõi bài viết, nếu có điều gì thắc mắc hãy để lại bình luận bên dưới nhé.