Hướng dẫn toàn diện này cung cấp từng bước về cách install MongoDB 5.0 trên hệ thống Debian 11. MongoDB, một cơ sở dữ liệu đa dụng, hướng đối tượng và linh hoạt, đóng vai trò là một hệ thống lưu trữ tài liệu NoSQL mạnh mẽ. Khác với cơ sở dữ liệu quan hệ truyền thống, MongoDB sử dụng cách tiếp cận khác biệt bằng cách lưu trữ các đối tượng dữ liệu dưới dạng các tài liệu riêng lẻ trong một bộ sưu tập. Được viết bằng C++ để có khả năng mở rộng và hiệu suất cao, MongoDB được thiết kế cho các hệ điều hành Windows, macOS và Linux, hỗ trợ cả kiến trúc 32 và 64 bit.
SQL Server | MongoDB |
Index | Index |
Cơ sở dữ liệu | Cơ sở dữ liệu |
Cột | Trường |
Liên kết | Liên kết & Nhúng |
Hàng | Tài liệu |
Phân vùng | Phân chia (Phân vùng theo dải) |
Sao chép | ReplSet |
Bảng | Bộ sưu tập |
Theo hướng dẫn này, bạn sẽ có cái nhìn rõ ràng về cách install MongoDB 5.0 trên hệ thống Debian 11 Linux, giúp bạn tận dụng các khả năng của MongoDB cho việc quản lý dữ liệu và nhu cầu ứng dụng của bạn.
Trong hướng dẫn này, chúng ta sẽ cài đặt MongoDB 5.0 bằng trình quản lý apt. Chúng ta sẽ sử dụng gói mongo-org chính thức. Gói này được hỗ trợ và duy trì bởi MongoDB Inc. Gói mongo-org luôn chứa các phiên bản MongoDB mới nhất. Đầu tiên, chúng ta sẽ nhập khóa GPG công khai của MongoDB. Tải nó về bằng cách sử dụng lệnh wget như sau:
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
Nếu bạn nhận được phản hồi "OK", tức là thao tác đã thành công. Tuy nhiên, nếu bạn gặp lỗi cho biết GnuPG không được cài đặt, hãy cài đặt nó như sau:
sudo apt install gnupg
Bước tiếp theo yêu cầu chúng ta tạo tệp /etc/apt/sources.list.d/mongodb-org-5.0.list để cài đặt MongoDB 5.0. Chúng ta sẽ sử dụng kho lưu trữ của buster cho cả hai phiên bản distro vì, vào thời điểm viết bài, kho lưu trữ cho bullseye chưa tồn tại. Sau đó, cập nhật cơ sở dữ liệu gói cục bộ của bạn như sau:
echo "deb http://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt update
Trong hướng dẫn này, chúng ta sẽ cài đặt phiên bản cụ thể, chẳng hạn 5.0.2, và do đó, chúng ta sẽ chỉ định từng gói thành phần với số phiên bản như sau:
sudo apt install -y mongodb-org=5.0.2 mongodb-org-server=5.0.2 mongodb-org-shell=5.0.2 mongodb-org-mongos=5.0.2 mongodb-org-tools=5.0.2
Dependency tree:
mongodb-org=5.0.2
├── mongodb-org-server=5.0.2
│ └── libc6 (>= 2.28)
├── mongodb-org-shell=5.0.2
│ └── libc6 (>= 2.28)
├── mongodb-org-mongos=5.0.2
│ └── libc6 (>= 2.28)
└── mongodb-org-tools=5.0.2
└── libc6 (>= 2.28)
Sau khi cài đặt MongoDB 5.0, chúng ta đã sẵn sàng thực hiện một số cấu hình trên hệ thống của chúng ta. Đầu tiên, khởi động và kích hoạt dịch vụ mongod trên Debian 11 như sau:
sudo systemctl start mongod
sudo systemctl enable mongod
Kiểm tra phiên bản MongoDB đã cài đặt:
mongod --version
db version v5.0.2
Build Info: {
"version": "5.0.2",
"gitVersion": "6d9ec525e78465dcecadcff99cce953d380fedc8",
"openSSLVersion": "OpenSSL 1.1.1k 25 Mar 2021",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "debian10",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}
Xác minh xem dịch vụ có đang chạy hay không:
sudo systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 07:49:24 EDT; 39s ago
Docs: https://docs.mongodb.org/manual
Main PID: 5029 (mongod)
Memory: 71.4M
CGroup: /system.slice/mongod.service
└─5029 /usr/bin/mongod --config /etc/mongod.conf
Aug 21 07:49:24 ns1.computingforgeeks.local systemd[1]: Started MongoDB Database Server.
Aug 21 07:49:29 ns1.computingforgeeks.local systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references path below legacy directory /var/run....
Sau khi cài đặt, cơ sở dữ liệu MongoDB không có bảo mật, người dùng có thể truy cập nó mà không cần mật khẩu và thực hiện các thay đổi không mong muốn đối với cơ sở dữ liệu của bạn. Do đó, chúng ta cần bảo mật cơ sở dữ liệu này bằng cách tạo tên người dùng và mật khẩu. Kết nối đến cơ sở dữ liệu bằng cách thực hiện lệnh sau:
mongo
Sau đó, thêm một người dùng có tên là mongouser
, bạn có thể thay đổi tên này theo mong muốn. Sau khi thêm mã script dưới đây, bạn sẽ cần đặt mật khẩu cho người dùng:
use admin
db.createUser(
{
user: "mongouser",
pwd: "your_password_here",
roles: [ { role: "root", db: "admin" } ]
}
)
Đầu ra mẫu:
> use admin
switched to db admin
> db.createUser(
... {
... user: "mongouser",
... pwd: passwordPrompt(), // or cleartext password
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
Enter password:
Successfully added user: {
"user" : "mongouser",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
"readWriteAnyDatabase"
]
}
> exit
bye
Sau đó, chỉnh sửa tệp cấu hình MongoDB và bật xác thực.
sudo apt install vim
sudo vim /etc/mongod.conf
Trong tệp, tìm dòng #security
, bỏ giải chúng và thêm xác thực. Đảm bảo bạn thêm hai dấu cách trước authorization
vì cú pháp rất quan trọng. Tệp của bạn sẽ có dạng như sau:
security:
authorization: enabled
Để áp dụng các thay đổi đã thực hiện, khởi động lại dịch vụ MongoDB:
sudo systemctl restart mongod
Bây giờ, các client cần xác minh để truy cập vào cơ sở dữ liệu. Cú pháp được sử dụng như sau:
mongo --port 27017 --authenticationDatabase "admin" -u "your-user" -p
MongoDB lắng nghe trên cổng mặc định 27017
. Kết nối từ localhost đến người dùng đã tạo bằng:
mongo -u mongouser -p --authenticationDatabase admin
Dưới đây là một số việc bạn có thể thực hiện khi ở trong giao diện dòng lệnh MongoDB:
> db
test
use mongotestdb
Đầu ra mẫu:
> use mongotestdb
switched to db mongotestdb
>
db.userdetails.insertOne(
{ "F_Name" : "fname",
"L_NAME" : "lname",
"ID_NO" : "12345",
"AGE" : "19",
"TEL" : "+254654671"
}
)
show collections
Đầu ra mẫu:
> show collections
userdetails
>
Ở đây, tạo một cơ sở dữ liệu testdatabase và gán các đặc quyền đọc và ghi cho một người dùng nhất định, giả sử người dùng thử nghiệm.
use testdatabase
Sau đó gán quyền cho cơ sở dữ liệu đã tạo (testdatabase)
db.createUser(
{
user: 'testuser',
pwd: 'P@ssWord',
roles: [ { role: 'readWrite', db: 'testdatabase' } ]
}
);
use database-name
Sử dụng cơ sở dữ liệu đã tạo (testdatabase)
use testdatabase
Tạo một admin cho cơ sở dữ liệu:
db.createUser(
{
user: 'testadmin',
pwd: 'P@ssW0rd',
roles: [ { role: 'userAdmin', db: 'testdatabase' } ]
}
);
Bước này sẽ cần thiết nếu ban đầu bạn không tạo quản trị viên tổng thể. Trong hướng dẫn này, mình đã tạo một quản trị viên tổng thể với tên monguser
use newdatabase
Gán đặc quyền và mật khẩu như bên dưới:
db.createUser(
{
user: "Your Username",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "userAdminAnyDatabase", db: "newdatabase" }, "readWriteAnyDatabase" ]
}
)
Đường dẫn mặc định được sử dụng để lưu trữ dữ liệu MongoDB là /var/lib/mongo
. Tuy nhiên, thư mục này có thể thay đổi như sau:
sudo systemctl stop mongod.service
sudo mkdir -p /data/computingforgeeks/mongo
sudo chown -R mongodb:mongodb /data/computingforgeeks/mongo
sudo rsync -av /var/lib/mongodb /data/computingforgeeks/mongo
sudo mv /var/lib/mongodb /var/lib/mongodb_backup
sudo ln -s /new/data/directory /var/lib/mongodb
Sau khi thực hiện các thay đổi này, hãy khởi động lại dịch vụ MongoDB để nó bắt đầu sử dụng thư mục mới để lưu trữ dữ liệu:
sudo systemctl start mongod
Bây giờ, MongoDB sẽ sử dụng thư mục mới đã tạo để lưu trữ dữ liệu của nó.
Kết thúc bài viết, chúng tôi hy vọng bạn đã nắm được quy trình install MongoDB 5.0 trên Debian 11 và sẽ có thể áp dụng những kiến thức này vào dự án thực tế của mình. Đừng ngần ngại khám phá thêm về MongoDB và sử dụng nó để tạo ra những ứng dụng mạnh mẽ và linh hoạt.
Mọi người cũng tìm kiếm: install mongodb debian, install mongodb on debian, install mongodb on debian 11, install mongodb debian 11, mongodb debian 11, install mongodb debian 10, hướng dẫn cài đặt mongodb
Tips: Tham gia Channel Telegram KDATA để không bỏ sót khuyến mãi hot nào