Update win 7 bị lỗi connect mongodb how to fix

Bài viết này sẽ hướng dẫn bạn cách Cài Đặt Và Cấu Hình MongoDB Với Centos7. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về [email protected] hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

MongoDB là NoSQL database với các ưu điểm như: high performance, high availibily, automatic scaling.

NoSQL database nghĩa là không hỗ trợ SQL (Structured Query Language).

MongoDB không lưu trữ datab ở dạng table, thay vào đó, nó lưu data trong một cấu trúc giống JSON (mà MongoDB gọi là BSON)

Được giới thiệu vào năm 2009. Hiện tại vẫn đang được phát triển bới công ty MongoDB Inc.

2. Yêu cầu cần thiết để cài đặt MongoDB Với Centos7

  • VPS cài hệ điều hành Centos 7
  • Access SSH với quyền root

3. Các bước cài đặt MongoDB Với Centos7

  • Add the MongoDB repository.
  • Installing MongoDB.
  • Fix some MongoDB errors.
  • Check version and locate log file.
  • Create an administrator user.
  • Enable MongoDB authentication and Testing.

Step 1: Add the MongoDB repository

Truy cập vào VPS Centos 7 với ssh tài khoản root:

➜ ~ ssh [email protected]

IP sẽ thay đổi tùy theo bên cung cấp VPS

Create new repo file:

[root@localhost ~]# vi /etc/yum.repos.d/mongodb-org-3.2.repo

Dán nội dung sau vào file MongoDB repository:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

Save file và exit khỏi editor Vim.

Step 2: Installing MongoDB Với Centos7

Ở bước đầu chúng ta đã add MongoDB Với Centos7 repository hoàn tất. Thực hiện list các repo list trên Centos 7 bằng lệnh sau để kiểm tra:

[root@localhost ~]# yum repolist | grep -i mongodb mongodb-org-3.2/7         MongoDB Repository                                 115

Next, cài đặt MongoDB bằng lệnh yum:

[root@localhost ~]# yum -y install mongodb-org

Khi đã cài đặt hoàn tất, thực hiện start MongoDB bằng câu lênh systemctl command:

[root@localhost ~]# systemctl start mongod

Kiểm tra MongoDB đang running bằng câu lệnh show socket sau:

[root@localhost ~]# ss -lntp | grep mongod

LISTEN     0      128    127.0.0.1:27017     :   users:(("mongod",pid=2419,fd=6))

Hoặc bằng câu lệnh systemctl command:

[root@localhost ~]# systemctl status mongod

  • mongod.service - SYSV: Mongo is a scalable, document-oriented database.

   Loaded: loaded (/etc/rc.d/init.d/mongod; bad; vendor preset: disabled)    Active: active (running) since Mon 2022-06-27 23:05:58 EDT; 21min ago   Docs: man:systemd-sysv-generator(8)   Process: 2408 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=0/SUCCESS)    Memory: 70.1M    CGroup: /system.slice/mongod.service            └─2419 /usr/bin/mongod -f /etc/mongod.conf

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

0

Step 3: Fix some MongoDB errors

Hiện tại MongoDB đã được cài đặt hoàn tất. Chúng ta có thể access vào mongodb shell bằng câu lệnh $ mongo

Người dùng có thể bắt gặp dòng thông báo lỗi sau:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

1

Để xử lý dòng thông báo sau, chúng ta cần tăng giá trị ulimit configuration cho user mongod, truy cập vào file sau:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

2

Và thêm nội dung sau vào cuối file:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

3

Chạy lệnh sysctl command và restart mongod để apply thay đổi cho system:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

4

Sau khi hoàn tất. Khi truy cập shell mongod sẽ không còn thông báo lỗi nữa.

Step 4: Check version and locate log file

Kiểm tra phiên bản Mongodb

[root@localhost ~]# mongod –version

db version v3.2.22

git version: 105acca0d443f9a47c1a5bd608fd7133840a58dd

OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

5

Kiểm tra vị trí log file:

– Trong quá trình sử dụng, Admin cần xem trạng thái cũng như các lỗi xảy ra với mongodb, vì vậy việc đọc file log rất cần thiết.

– File log có vị trí: /var/log/mongodb/mongod.log

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

6

Step 5: Create an administrator user

Ở phần này, chúng ta sẽ tạo một user mới “VINAHOST” cho mongoDB và gán cho role “UserAdminAnyDatabase”

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

7

Thực hiện query MongoDB Với Centos7 bằng câu lệnh sau để tạo mới user Administrator:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

8

Trên đây là cách khởi tạo 1 user MongoDB Administrator mới.

Step 6: Enable MongoDB authentication and Testing

Ở bước này, chúng ta cần phải enable tính năng authentication cho users để ngăn các user không có đủ quyền (privileges) có thể truy cập và đọc được databases.

Truy cập vào file sau và thực hiện chỉnh sửa như mô tả:

[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x8664/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

9

tìm dòng:

[root@localhost ~]# yum repolist | grep -i mongodb mongodb-org-3.2/7         MongoDB Repository                                 115

0

edit như bên dưới:

[root@localhost ~]# yum repolist | grep -i mongodb mongodb-org-3.2/7         MongoDB Repository                                 115

1

Save file mongod lại và thực hiện restart daemon và mongod

[root@localhost ~]# yum repolist | grep -i mongodb mongodb-org-3.2/7         MongoDB Repository                                 115

2

Kiểm tra lại, thực hiện truy cập vào shell mongodb và thực hiện lệnh show users VINAHOST:

[root@localhost ~]# yum repolist | grep -i mongodb mongodb-org-3.2/7         MongoDB Repository                                 115

3

Bạn sẽ thấy hệ thống sẽ thông báo error về lỗi not authorized execute command on VINAHOST (user VINAHOST chưa có quyền thực thi lệnh)

Chúng ta cần khai báo user và password cho MongoDB Với Centos7như sau để user VINAHOST có quyền truy cập và xem database. Như hình là thành công: