Cài đặt mongoDB trên Centos 7

Tác giả: 18/05/2023

Chào các bạn hôm nay Nhân Hòa sẽ hướng dẫn các bạn cách cài đặt MongoDB trên hệ điều hành centos 7 bằng 2 cách sử dụng YUMRPM .

Lựa chọn cài đặt phiên bản mới nhất của MongoDB là 6.0

MongoDB là 1 cơ sở dữ liệu đa nền tảng, được sử dụng để lưu trữ dữ liệu khối lượng lớn. MongoDB được phát hành vào giữa những năm 2000, nó thuộc danh mục cơ sở dữ liệu NoQuery. MongoDb lưu trữ dữ liệu trong flexible, JSON-like document, có nghĩa là các trường có thể thay đổi từ tài liệu này sang tài liệu khác và cấu trúc dữ liệu có thể thay đổi theo thời gian.

I –  Cài đặt mongoDB bằng YUM

Điều kiện tiên quyết

Đăng nhập và thực hiện với người dùng root hoặc quyền sudo và Update OS không bao giờ là thừa

yum update -y

Bước 1: Khai báo repo cho MongoDB

Các gói MongoDB không tồn tại trong kho mặc định, nhưng MongoDB có duy trì 1 kho lưu trữ chuyên dụng. Thêm nội dung sau vào tệp cấu hình kho lưu trữ yum mongodb.repo theo phiên bản MongoDB và kiến trúc hệ thống theo yêu cầu của bạn. Đối với bài viết này, mình sử dụng kho lưu trữ MongoDB 6.0

Tiến hành tạo file /etc/yum.repos.d/mongodb-org-6.0.repo và khai báo nội dung như sau:

cat <<EOF> /etc/yum.repos.d/mongodb-org-6.0.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
EOF

Kiểm tra lại kho lưu trữ xem đã tồn tại hay chưa :

yum repolist

Ta thấy kho lưu trữ mongodb đã tồn tại trong tiện ích yum nên sẽ tiến hành cài đặt.

Bước 2: Cài đặt MongoDB

Sử dụng Yum để tự động cài đặt gói mongodb-org.

yum install -y mongodb-org

Khởi động dịch vụ mongodb

systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service

Kiểm tra lại trạng thái mongodb

systemctl status mongod

Bước 3: Kiểm tra lại phiên bản và vị trí file log

Kiểm tra phiên bản mongodb

mongod --version

Bước 4: Kiểm tra vị trí file log

Để xem các trạng thái cũng như các lỗi xảy ra đối với mongodb, ta cần phải đọc file log của mongodb.

File log của mongodb có vị trí tại /var/log/mongodb/mongod.log . Sử dụng lệnh tail để xem nội dung mới nhất của file.

tail -f /var/log/mongodb/mongod.log

Tại đây sẽ lưu lại lịch sử những trạng thái hoặc các lỗi xảy ra, cũng bao gồm những lần connect tới cơ sở dữ liệu.

II – Cài đặt MongoDB bằng RPM

Trường hợp chúng ta không cài đặt được MongoDB bằng YUM do một số lỗi nào đó như repo có vấn đề, network bị lỗi,không thể wget hay curl đến repo MongoDB…

Đầu tiên phải đảm bảo rằng tất cả các repo bị lỗi đã bị loại bỏ,move, đổi tên… khỏi /etc/yum.repos.d

Truy cập vào repo MongoDB bằng đường dẫn, tùy vào hệ điều hành của các bạn , ở đây mình cài trên Centos 7 nên đường dẫn sẽ là

https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/RPMS/

Gói cài đặt server MongoDB  mới nhất của chúng ta sẽ là

mongodb-org-server-6.0.6-1.el7.x86_64.rpm

Click chuột vào và tải về sau đó upload lên máy chủ , mình sẽ tải lên /root

Và chạy lệnh sau để cài đặt

rpm -ivh mongodb-org-server-6.0.6-1.el7.x86_64.rpm

systemctl start mongod
systemctl enable mongd

Tuy service đã chạy nhưng chúng ta vẫn phải cài thêm một vài thành phần cần thiết để MongoDB hoạt động như cài auto YUM

MongoShell là cần cài đặt đầu tiên

rpm -ivh mongodb-mongosh-1.8.2.x86_64.rpm

Hoặc một vài Pakages bên dưới tùy nhu cầu của bạn

rpm -ivh mongodb-org-database-tools-extra-6.0.6-1.el7.x86_64.rpm
rpm -ivh mongodb-org-mongos-6.0.6-1.el7.x86_64.rpm
rpm -ivh mongodb-org-database-6.0.6-1.el7.x86_64.rpm

III – Một vài thao tác cơ bản trên MongoDB

Sau khi cài đặt xong điều quan tâm đầu tiên là cấu hình các IP listen , và authentication kết nối vào MongoDB

mongosh

Mặc định sẽ kết nối vào DB test

test> use admin

Show database

admin> show dbs

admin 80.00 KiB
config 84.00 KiB
local 72.00 KiB

Show các roles

admin> db.getRoles({showBuiltinRoles: true})

Tạo user tudv trong mongoDB với quyền cao nhất root

admin> db.createUser({user: "tudv",pwd: passwordPrompt(),roles: [ { role: "root", db: "admin" }, "root" ]})

Sau câu lệnh trên bạn sẽ nhập vào 1 password cho root tudv

  • db.createUser(): Là phương thức được sử dụng để tạo một người dùng mới.
  • user: Tên người dùng mới muốn tạo.
  • pwd: Đây là một hàm được gọi để yêu cầu nhập mật khẩu cho người dùng mới. Hàm này sẽ yêu cầu người dùng nhập mật khẩu, và khi mật khẩu được nhập, nó sẽ được mã hóa và lưu trữ trong cơ sở dữ liệu.
  • roles: Là một mảng các quyền được chỉ định cho người dùng mới. Trong lệnh này, người dùng mới sẽ được cấp quyền “root” (quyền cao nhất) trên database “admin” và quyền “root” trên toàn bộ hệ thống MongoDB.

Sau khi lệnh này được thực thi, một người dùng mới với tên là “tudv” và mật khẩu tương ứng được tạo ra trong hệ thống. Người dùng này sẽ có quyền cao nhất để truy cập vào toàn bộ hệ thống MongoDB và truy cập vào tất cả các database trên hệ thống.

Lưu ý rằng role “root” là quyền cao nhất trong MongoDB, và nên được cấp cho người dùng có trách nhiệm quản lý hệ thống và có đủ kinh nghiệm để quản lý các tài nguyên và database trên hệ thống MongoDB.

Cấu hình IP listen và AuthenConnect

Mặc định mongoDB chỉ runing localhost

Chỉnh sửa trong /etc/ mongod.conf

vi /etc/ mongod.conf

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0,::  #Là kết nối từ mọi IPv4 và IPv6 với port 27017, cái này các bạn có thể tùy chỉnh theo IP của bạn hoặc đổi port mặc định này
#security:
security:
  authorization: enabled  # Là xác minh kết nối sử dụng user password

Sau đó các bạn sẽ khởi động lại service mongod

service mongod restart

Tiếp tục connect vào DB và nhập xác minh tudv pass 123456

mongosh
test> use admin
switched to db admin
admin> db.auth("tudv", "123456")
{ ok: 1 }
admin> show dbs
admin 220.00 KiB
config 116.00 KiB
local 72.00 KiB
mydb 40.00 KiB

Tạo cơ sở dữ liệu mới mydb

>use mydb

switched to db mydb

> db.movie.insert({"name":"tutorials point"})

WriteResult({ "nInserted" : 1 })
> show dbs

admin 0.000GB

config 0.000GB

local 0.000GB

mydb 0.000GB

test 0.000GB

Connect remote đến server bằng MongoDB Compass

MongoDB Compass Download (GUI) | MongoDB

Như vậy Nhân Hòa đã hướng dẫn các bạn cài đặt và cấu hình cơ bản với MongoDB

Hẹn gặp lại các bạn tại các bài viết sau tại wiki.nhanhoa.com

 

 

Trả lời