Cách install MongoDB trên ubuntu 18.04

Khi quản trị cơ sở dữ liệu, thường mọi người sẽ nghĩ ngay đến MySQL. Tuy nhiên, nó không phải là hệ quản trị data duy nhất. Có hàng loạt hệ quản trị cơ sở dữ liệu mạnh cho VPS Linux như là PostgreSQL, SQLite, Oracle và MariaDB. Ngoài việc là relational database, những manager này sử dụng ngôn ngữ SQL. Nhưng cũng những database manager dùng NoSQL. Chúng có thế mạnh riêng. Một database manager phổ biến nhất của NoSQL là MongoDB. Bài viết này sẽ hướng dẫn bạn từng bước Install MongoDB Ubuntu 18.04.

MongoDB là gì

MongoDB là một trong các Database manager NoSQL phổ biến nhất. Nó được dùng cho ứng dụng nơi bạn lưu data dưới dạng formatted documents như là BSON.

Có nghĩa là thay vì lưu data dưới dạng dòng giống SQL types, nó lưu dưới dạng documents

Trong database type NoSQL, nó không có schema mẫu. Bạn có thể lo lắng loại dữ liệu này khó kiểm soát và lộn xộn nhưng thực tế là ngược lại. Trong hệ thống NoSQL, fields và data được đơn giản hóa, vì vậy dễ quản lý và lưu trữ hơn.

Hơn nữa, MongoDB là môi trường phổ biến có khả năng mở rộng lớn. Với MongoDB, bạn có thể nhanh chóng thực hiện kỹ thuật replicate cho phép data mở rộng. Để bất kỳ ứng dụng nào cần lưu data có cấu trúc semi có thể dùng MongoDB.

Install MongoDB Ubuntu 18.04

Mặc dù MongoDB là ứng dụng phổ biến, nó không phải là repository chính thức của Ubuntu, vì vậy bạn phải thêm nó vào thủ công. Tuy nhiên, đây là ưu điểm lớn vì nó khiến việc cài đặt, cập nhật ứng dụng dễ dàng.

Trước tiên, hãy kết nối tới server của bạn bằng SSH:

ssh your-user@your-server

Nếu bạn đang dùng Ubuntu 18.04, mở terminal ra và thêm PGP key từ MongoDB repostiroy vào để tránh tải package bị chỉnh sửa trái phép:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Sau đó, bạn có thể thêm repository MongoDB bằng lệnh sau:

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

Tiếp theo, cập nhật lệnh APT để đồng bộ tất cả repositories.

sudo apt update

Tiếp theo, cài đặt MongoDB bằng APT:

sudo apt-get install -y mongodb
sudo apt install mongodb-org

Cuối cùng sau khi cài đặt, kích hoạt và khởi chạy MongoDB. Bằng cahc1 này, bạn có thể bắt đầu sử dụng nó.

sudo systemctl enable mongodb
sudo systemctl start mongodb

Cuối cùng, kiểm tra tình trạng dịch vụ

sudo systemctl status mongodb

Giờ bạn đã biết cách cài đặt Mongo DB Ubuntu, nó đã sẵn sàng để dùng.

Bắt đầu thiết lập MongoDB

Giờ chúng ta sẽ thiết lập cơ bản MongoDB!

Lưu ý là file cấu hình MongoDB đặt tại /etc/mongod.conf. Bất kỳ thay đổi nào tới file này cần ứng dụng khởi động lại.

Thư mục /var/log/mongodb chứa bản ghi log ứng dụng được tạo trong quá trình cài đặt.

Cuối cùng, port mặc định của MongoDB là 27017.

Tạo một database mới

MongoDB có một database gọi là admin. Bạn có thể cần tạo thêm database cho MongoDB. Di chuyển vào console MongoDB:

mongo

Sau khi đã vào bên trong, bạn tạo database bằng lệnh use. Lưu ý là không giống với SQL language, không có lệnh “create databases”, chỉ có lệnh use. Nếu database đã tồn tại, nó sẽ được dùng, nếu không lệnh này sẽ tạo ra database.

use [database_name]

Chỉ đơn giản vậy thôi.

Tạo user mới

Mặc định, MongoDB không có tài khoản administrator mặc định. Thay vào đó nó tạo từng user khác cho mỗi database. Tuy nhiên, bạn cũng cần tạo user với phân quyền nhất định cho từng database.

Sau khi đã vào trong MongoDB console, bạn có thể xem hướng dẫn bằng lệnh help của nó.

help

Trong mục này, bạn có thể thấy hàm db.createUser(). Hàm này cần định tên, mật khẩu, database và quyền của nó

Hàm db.createUser, như mọi hàm khác trong MongoDB nhận tham số trong JSON. Bạn tạo user mới trong database mới tạo bằng lệnh sau

db.createUser(
{
user: "edward",
pwd: "edward123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

Có nhiều roles (chức vụ) khác nhau cho user như dbAdmin, dbUser, read, vâng vâng. Nên tốt nhất là xem bộ tài liệu chính thức của MongoDB để xem cách dễ dùng nhất là gì

Giờ bạn có thể hiển thị tất cả người dùng tới giờ bằng lệnh:

show users

Để kiểm tra, thoát MongoDB console bằng lệnh exit:

exit
mongo -u [user] -p [password] [host:port]/[database]

Kết nối của MongoDB tới host và port từ xa sẽ ở ngay phần sau.

Kích hoạt chứng thực từ xa trong MongoDB

Mặc định, MongoDB cho phép toàn bộ log ghi từ máy local. Không có vấn đề gì đối với ứng dụng đang triển khai trên đó.

Tuy nhiên, vì bạn cần chứng thực, bạn có thể gặp lỗi khi ứng dụng đã sẵn sàng và cần deploy.

Để tránh gặp lỗi, mở file /etc/mongodb.conf và đặt bình luận vào dòng bindIP: 127.0.0.1.

sudo nano /etc/mongodb.conf
#bindIP: 127.0.0.1.

Tiếp theo, khởi động lại dịch vụ. Bạn có thể chỉnh port mặc định của MongoDB trong cùng một file.

sudo systemctl restart mongodb

Giờ chỉ có user local có thể login mà không cần chứng thực vào MongoDB. Nếu server bị xâm nhập, hoặc bạn muốn tăng bảo mật, bạn có thể bật dòng bindIP: 127.0.0.1 lên bằng cách gỡ dấu commen (#) ra.

Lời kết

Có nhiều loại ứng dụng cần sử dụng data khác nhau. Vì vậy, NoSQL như MongoDB có thể phát triển mạnh

MongoDB là một database manager quan trọng trong thế giới databse vì tốc độ, tính mạnh mẽ và khả năng mở rộng vượt trội của nó.

Trong bài này, bạn đã biết cách install mongodb Ubuntu. Hãy nghiên cứu thêm về database manager mạnh mẽ này.