Cài đặt mongoDB trên Centos 7
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 YUM và RPM .
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