MongoDB là hệ thống quản lý cơ sở dữ liệu NoSQL với hiệu suất cao, khả năng sẵn sàng cao và tự động mở rộng. Trong bài viết này, chúng ta sẽ hướng dẫn cài đặt và cấu hình MongoDB trên hệ điều hành Centos7. Với những ai muốn biết cách làm điều này, hãy tiếp tục đọc.
Giới thiệu về MongoDB Với Centos7
MongoDB là một cơ sở dữ liệu NoSQL với nhiều ưu điểm, bao gồm hiệu suất cao, khả năng sẵn sàng cao và khả năng tự động mở rộng. Khác với cơ sở dữ liệu SQL truyền thống, MongoDB không lưu trữ dữ liệu trong các bảng, mà thay vào đó, nó lưu trữ dữ liệu dưới dạng cấu trúc tương tự JSON (gọi là BSON trong MongoDB).
MongoDB ra đời vào năm 2009 và hiện tại đang được phát triển bởi MongoDB Inc.
Yêu cầu cần thiết để cài đặt MongoDB Với Centos7
- Một VPS đã cài đặt hệ điều hành Centos 7.
- Truy cập SSH với quyền root.
Các bước cài đặt MongoDB Với Centos7
- Thêm kho lưu trữ MongoDB.
Truy cập vào VPS Centos7 thông qua SSH với tài khoản root:
ssh [email protected] # IP sẽ thay đổi tùy theo nhà cung cấp VPS
Tạo một tệp repo mới:
[root@localhost ~]# vi /etc/yum.repos.d/mongodb-org-3.2.repo
Dán nội dung sau vào tệp repository MongoDB:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Lưu file và thoát khỏi trình chỉnh sửa Vim.
- Cài đặt MongoDB Với Centos7
Sau khi thêm kho lưu trữ MongoDB Với Centos7, chúng ta sẽ kiểm tra danh sách các kho lưu trữ trên Centos 7 để đảm bảo đã thêm thành công:
[root@localhost ~]# yum repolist | grep -i mongodb
mongodb-org-3.2/7 MongoDB Repository 115
Tiếp theo, cài đặt MongoDB bằng lệnh yum:
[root@localhost ~]# yum -y install mongodb-org
Sau khi cài đặt hoàn tất, chúng ta sẽ khởi động MongoDB bằng lệnh systemctl:
[root@localhost ~]# systemctl start mongod
Chúng ta có thể kiểm tra xem MongoDB đang chạy bằng lệnh show socket:
[root@localhost ~]# ss -lntp | grep mongod
LISTEN 0 128 127.0.0.1:27017 *:*
users:(("mongod",pid=2419,fd=6))
Hoặc sử dụng lệnh systemctl:
[root@localhost ~]# systemctl status mongod
- Khắc phục một số lỗi MongoDB
Sau khi cài đặt MongoDB, chúng ta có thể truy cập vào giao diện dòng lệnh MongoDB bằng cách chạy lệnh $ mongo
. Tuy nhiên, bạn có thể gặp một số thông báo lỗi như "soft rlimits too low". Để khắc phục lỗi này, chúng ta cần tăng giá trị ulimit configuration cho người dùng mongod.
Truy cập vào tệp limits.conf:
[root@localhost ~]# vi /etc/security/limits.conf
Thêm các dòng sau vào cuối tệp:
...
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000
Chạy lệnh sysctl và khởi động lại mongod để áp dụng thay đổi cho hệ thống:
[root@localhost ~]# sysctl -p
[root@localhost ~]# systemctl restart mongod
Sau khi hoàn tất, bạn không còn nhận được thông báo lỗi khi truy cập vào giao diện dòng lệnh MongoDB.
- Kiểm tra phiên bản và vị trí file log
Để kiểm tra phiên bản của MongoDB, chạy lệnh sau:
[root@localhost ~]# mongod -version
Để xem vị trí của file log, chúng ta sử dụng lệnh sau:
[root@localhost ~]# tailf -n 5 /var/log/mongodb/mongod.log
- Tạo một người dùng quản trị
Ở bước này, chúng ta sẽ tạo một người dùng "VINAHOST" mới cho MongoDB và gán cho nó vai trò "UserAdminAnyDatabase".
Chuyển sang database "VINAHOST" và thực hiện truy vấn sau để tạo người dùng quản trị mới:
> use VINAHOST
> db.createUser(
{
user: "VINAHOST",
pwd: "vinahost@123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Sau khi thực hiện thành công, bạn đã tạo một người dùng quản trị MongoDB mới.
- Kích hoạt xác thực MongoDB và kiểm tra
Ở bước này, chúng ta cần bật tính năng xác thực để ngăn người dùng không có đủ quyền truy cập và đọc cơ sở dữ liệu. Để làm điều này, truy cập vào tệp mongod và chỉnh sửa như sau:
[root@localhost ~]# vi /etc/init.d/mongod
Tìm dòng OPTIONS=" -f $CONFIGFILE" và sửa thành OPTIONS=" -auth -f $CONFIGFILE".
Lưu tệp mongod và khởi động lại dịch vụ mongod:
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart mongod
Kiểm tra lại, truy cập vào giao diện dòng lệnh MongoDB và chạy lệnh show users VINAHOST:
[root@localhost ~]# mongo
> use VINAHOST
> show users
Nếu bạn nhận được thông báo lỗi "not authorized on VINAHOST to execute command", hãy khai báo người dùng và mật khẩu cho MongoDB theo cách sau để cho phép người dùng VINAHOST truy cập và xem cơ sở dữ liệu:
[root@localhost ~]# mongo
> use admin
> db.auth("VINAHOST", "vinahost@123")
> use VINAHOST
> show users
Đó là cách cài đặt và cấu hình MongoDB trên hệ điều hành Centos7. Chúc bạn thành công!
Hình ảnh minh họa:
Đây chỉ là một số lệnh cơ bản trong giao diện dòng lệnh MongoDB trên Centos7:
db
: Trả về cơ sở dữ liệu mặc định (thường là "test").db [example]
: Chuyển đến một cơ sở dữ liệu khác với "example" là tên cơ sở dữ liệu.user Database_Name
: Tạo một cơ sở dữ liệu mới. Nếu cơ sở dữ liệu đã tồn tại, sẽ trả về cơ sở dữ liệu hiện có.show dbs
: Xem danh sách các cơ sở dữ liệu hiện có.db.dropDatabase()
: Xóa cơ sở dữ liệu.help
: Trợ giúp với một số lệnh cơ bản.exit
: Thoát khỏi giao diện dòng lệnh MongoDB.
Đó là bài viết hướng dẫn cài đặt và cấu hình MongoDB trên hệ điều hành Centos7. Nếu bạn có bất kỳ câu hỏi hoặc đề xuất nào, hãy để lại bình luận dưới đây. Cảm ơn bạn đã đọc!