Cài đặt MongoDB 5.0 trên Debian 11 - Install MongoDB 5.0 Debian 11
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.
Một số tính năng mới nâng cao MongoDB 5.0:
- Tái phân phối dữ liệu mượt mà: MongoDB 5.0 giới thiệu cơ chế cải tiến để tái phân phối dữ liệu trong các cụm, nâng cao quản lý và tính sẵn có của dữ liệu.
- Công cụ bảo mật đa đám mây: Các cải tiến trong các công cụ bảo mật đám mây cho phép tích hợp và quản lý mượt mà trên nhiều môi trường đám mây khác nhau.
- Cơ sở dữ liệu không còn máy chủ trên MongoDB Atlas: Người dùng có thể tận dụng cơ sở dữ liệu không còn máy chủ trên MongoDB Atlas, đơn giản hóa việc thiết lập và mở rộng.
- Tính năng dãy thời gian bản địa: Hỗ trợ bản địa cho dữ liệu dãy thời gian đơn giản hóa việc quản lý và phân tích các mẫu dữ liệu theo thời gian.
- Phân phối lại dữ liệu trực tiếp (Live Resharding): MongoDB 5.0 cung cấp khả năng thực hiện phân phối lại dữ liệu trực tiếp, cho phép phân phối dữ liệu động trên các đám mây.
- Giao diện lập phiên (Versioned API): Việc giới thiệu giao diện lập phiên đảm bảo tính tương thích lâu dài và bảo vệ ứng dụng của bạn cho tương lai.
MongoDB rất hữu ích cho các trường hợp sử dụng sau:
- Yêu cầu dữ liệu phát triển: Cấu trúc tài liệu linh hoạt của MongoDB dễ dàng thích ứng với các yêu cầu dữ liệu thay đổi.
- Blogs và quản lý nội dung: Schema động của MongoDB phù hợp cho việc quản lý nội dung và dữ liệu liên quan đến blog.
- Các trang web di động và mạng xã hội: Khả năng mở rộng và khả năng thời gian thực của MongoDB rất lý tưởng cho việc xử lý nền tảng di động và mạng xã hội dữ liệu tải nặng.
- Sổ tay sản phẩm thương mại điện tử: Quản lý thông tin sản phẩm đa dạng và tương tác người dùng được tối ưu hóa thông qua thiết kế dựa trên tài liệu của MongoDB.
- Quản lý cấu hình: MongoDB lưu trữ dữ liệu cấu hình một cách hiệu quả, hỗ trợ quản lý cài đặt và ưu tiên hệ thống.
- Phân tích thời gian thực và ghi chú tốc độ cao: MongoDB xuất sắc trong việc lưu trữ và truy vấn dữ liệu phân tích thời gian thực và ghi chú tốc độ cao để đem lại cái nhìn kịp thời.
Trong hệ thống MongoDB, một số khái niệm cần lưu ý:
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.
Tiến hành install MongoDB 5.0 trên Debian 11
Bước 1: Thêm kho lưu trữ APT của MongoDB
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
Bước 2: Install MongoDB 5.0 trên Debian phiên bản 11
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"
}
}
Bước 3: Cấu hình MongoDB
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....
Bảo mật MongoDB 5.0.
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
Bước 4: Sử dụng MongoDB 5.0 trên Debian
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:
Liệt kê cơ sở dữ liệu có sẵn trong MongoDB.
> db
test
Tạo một cơ sở dữ liệu trong MongoDB.
use mongotestdb
Đầu ra mẫu:
> use mongotestdb
switched to db mongotestdb
>
Tạo một bảng trong MongoDB.
db.userdetails.insertOne(
{ "F_Name" : "fname",
"L_NAME" : "lname",
"ID_NO" : "12345",
"AGE" : "19",
"TEL" : "+254654671"
}
)
Liệt kê các bảng trong cơ sở dữ liệu MongoDB.
show collections
Đầu ra mẫu:
> show collections
userdetails
>
Tạo một người dùng với quyền đọc và ghi
Ở đâ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' } ]
}
);
Sử dụng một cơ sở dữ liệu cụ thể trong MongoDB
use database-name
Tạo một quản trị viên cho một cơ sở dữ liệu cụ thể trong MongoDB
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' } ]
}
);
Tạo một quản trị viên chung trong MongoDB
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" ]
}
)
Bước 5: Thay đổi đường dẫn mặc định của MongoDB
Đườ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:
Dừng dịch vụ MongoDB.
sudo systemctl stop mongod.service
Tạo một thư mục mới để lưu trữ dữ liệu MongoDB.
sudo mkdir -p /data/computingforgeeks/mongo
Đặt chủ sở hữu của thư mục là MongoDB.
sudo chown -R mongodb:mongodb /data/computingforgeeks/mongo
Sao chép nội dung vào thư mục mới. Cài đặt rsync sử dụng: sudo apt install rsync
sudo rsync -av /var/lib/mongodb /data/computingforgeeks/mongo
Đổi tên thư mục cũ để sao lưu.
sudo mv /var/lib/mongodb /var/lib/mongodb_backup
Tạo một liên kết tượng trưng đến vị trí mới.
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