Giới thiệu
MongoDB là một cơ sở dữ liệu định hướng tài liệu miễn phí và nguồn mở. Nó được phân loại là cơ sở dữ liệu NoQuery vì nó không dựa vào cấu trúc cơ sở dữ liệu quan hệ dựa trên bảng truyền thống. Thay vào đó, nó sử dụng các tài liệu giống JSON với các lược đồ động. Không giống như cơ sở dữ liệu quan hệ, MongoDB không yêu cầu lược đồ được xác định trước trước khi bạn thêm dữ liệu vào cơ sở dữ liệu. Bạn có thể thay đổi lược đồ bất cứ lúc nào và thường xuyên cần thiết mà không phải thiết lập cơ sở dữ liệu mới với lược đồ cập nhật.
Hướng dẫn này hướng dẫn bạn thông qua việc cài đặt phiên bản cộng đồng MongoDB trên máy chủ Centos 7.
Điều kiện tiên quyết
Trước khi làm theo hướng dẫn này, hãy đảm bảo bạn có một người dùng thường xuyên, không root với các đặc quyền
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
1. Bạn có thể tìm hiểu thêm về cách thiết lập người dùng với các đặc quyền này từ hướng dẫn của chúng tôi, cách tạo người dùng sudo trên centos.Bước 1 - Thêm kho lưu trữ MongoDB
Gói
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
2 không tồn tại trong các kho lưu trữ mặc định cho Centos. Tuy nhiên, MongoDB duy trì một kho lưu trữ chuyên dụng. Hãy để thêm nó vào máy chủ của chúng tôi.Với trình chỉnh sửa
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
3, tạo tệp Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
4 cho Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
5, tiện ích quản lý gói cho centos:- sudo vi /etc/yum.repos.d/mongodb-org.repo
Sau đó, truy cập phần cài đặt trên phần Red Hat của tài liệu MongoDB và thêm thông tin kho lưu trữ cho bản phát hành ổn định mới nhất vào tệp:
/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
Lưu và đóng tập tin.
Trước khi tiếp tục, chúng ta nên xác minh rằng kho lưu trữ MongoDB tồn tại trong tiện ích
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
5. Lệnh Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
7 hiển thị danh sách các kho lưu trữ đã bật:- yum repolist
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
Với
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
8 tại chỗ, hãy để tiến hành cài đặt.Bước 2 - Cài đặt MongoDB
Chúng tôi có thể cài đặt gói
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
2 từ kho lưu trữ của bên thứ ba bằng tiện ích Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
5.- sudo yum install mongodb-org
Có hai lời nhắc
- sudo yum install mongodb-org
1. Cái đầu tiên cho phép cài đặt các gói MongoDB và chiếc thứ hai nhập khóa GPG. Nhà xuất bản MongoDB ký vào phần mềm của họ và Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
5 sử dụng khóa để xác nhận tính toàn vẹn của các gói đã tải xuống. Tại mỗi lời nhắc, nhập - sudo yum install mongodb-org
3 và sau đó nhấn phím - sudo yum install mongodb-org
4.Tiếp theo, hãy bắt đầu dịch vụ MongoDB với tiện ích
- sudo yum install mongodb-org
5:- sudo systemctl start mongod
Mặc dù chúng tôi sẽ không sử dụng chúng trong hướng dẫn này, bạn cũng có thể thay đổi trạng thái của dịch vụ MongoDB với các lệnh
- sudo yum install mongodb-org
6 và - sudo yum install mongodb-org
7.Lệnh
- sudo yum install mongodb-org
6 yêu cầu quy trình - sudo yum install mongodb-org
9 đọc tệp cấu hình, - sudo systemctl start mongod
0 và áp dụng bất kỳ thay đổi nào mà không yêu cầu khởi động lại.- sudo systemctl reload mongod
Lệnh
- sudo yum install mongodb-org
7 tạm dừng tất cả các quy trình - sudo yum install mongodb-org
9.- sudo systemctl stop mongod
Tiện ích
- sudo yum install mongodb-org
5 không cung cấp kết quả sau khi thực hiện lệnh - sudo systemctl start mongod
4, nhưng chúng tôi có thể kiểm tra xem dịch vụ có bắt đầu bằng cách xem phần cuối của tệp - sudo systemctl start mongod
5 với lệnh - sudo systemctl start mongod
6 không:- sudo tail /var/log/mongodb/mongod.log
Output
. . .
[initandlisten] waiting for connections on port 27017
Đầu ra chờ kết nối xác nhận rằng MongoDB đã bắt đầu thành công và chúng ta có thể truy cập máy chủ cơ sở dữ liệu bằng vỏ MongoDB:waiting for a connection confirms that MongoDB has started successfully and we can access the database server with the MongoDB Shell:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
0[Lưu ý] Lưu ý: Khi bạn phóng vỏ MongoDB, bạn có thể đã thấy một cảnh báo như sau:Note: When you launched the MongoDB Shell you may have seen a warning like this:
- sudo systemctl start mongod
7MongoDB là một ứng dụng ren. Nó có thể khởi chạy các quy trình bổ sung để xử lý khối lượng công việc của nó. Cảnh báo nói rằng để MongoDB có hiệu quả nhất, số lượng quy trình mà nó được ủy quyền để quay lên phải là một nửa số lượng tệp mà nó có thể mở tại bất kỳ thời điểm nào. Để giải quyết cảnh báo, hãy thay đổi giá trị rlimit mềm
- sudo systemctl start mongod
8 cho - sudo yum install mongodb-org
9 bằng cách chỉnh sửa tệp - sudo systemctl reload mongod
0:[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
1Thêm dòng sau vào cuối tệp:
/etc/security/limits.d/20-nproc.conf
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
2Đối với giới hạn mới có sẵn cho MongoDB, hãy khởi động lại nó bằng tiện ích
- sudo yum install mongodb-org
5:[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
3Sau đó, khi bạn kết nối với vỏ MongoDB, cảnh báo sẽ không còn tồn tại.
Để tìm hiểu cách tương tác với MongoDB từ vỏ, bạn có thể xem lại đầu ra của phương thức
- sudo systemctl reload mongod
2 cung cấp danh sách các phương thức cho đối tượng DB.db object. [mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
4[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
5Để lại quy trình
- sudo yum install mongodb-org
9 chạy trong nền, nhưng thoát khỏi vỏ bằng lệnh - sudo systemctl reload mongod
4:[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
6[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
7Bước 3 - Xác minh khởi động
Vì một ứng dụng dựa trên cơ sở dữ liệu không thể hoạt động mà không có cơ sở dữ liệu, chúng tôi sẽ đảm bảo rằng Daemon MongoDB,
- sudo yum install mongodb-org
9, sẽ bắt đầu với hệ thống.Sử dụng tiện ích
- sudo yum install mongodb-org
5 để kiểm tra trạng thái khởi động của nó:[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
8Một đầu ra bằng 0 xác nhận một trình nền được kích hoạt mà chúng tôi muốn. Một, tuy nhiên, xác nhận một trình nền khuyết tật sẽ không bắt đầu.
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
9Trong trường hợp Daemon bị vô hiệu hóa, hãy sử dụng tiện ích
- sudo yum install mongodb-org
5 để kích hoạt nó:- yum repolist
0Bây giờ chúng tôi có một phiên bản đang chạy của MongoDB sẽ tự động bắt đầu sau khi khởi động lại hệ thống.
Bước 4 - Nhập bộ dữ liệu ví dụ [tùy chọn]
Không giống như các máy chủ cơ sở dữ liệu khác, MongoDB không đi kèm với dữ liệu trong cơ sở dữ liệu
- sudo systemctl reload mongod
8 của nó. Vì chúng tôi không muốn thử nghiệm phần mềm mới bằng cách sử dụng dữ liệu sản xuất, chúng tôi sẽ tải xuống một bộ dữ liệu mẫu từ phần Dataset Dataset Ví dụ về phần bắt đầu với tài liệu MongoDB. Tài liệu JSON chứa một bộ sưu tập các nhà hàng, mà chúng tôi sẽ sử dụng để thực hành tương tác với MongoDB và tránh gây hại cho dữ liệu nhạy cảm.Bắt đầu bằng cách chuyển sang một thư mục có thể viết:
- yum repolist
1Sử dụng lệnh
- sudo systemctl reload mongod
9 và liên kết từ MongoDB để tải xuống tệp JSON:- yum repolist
2Lệnh
- sudo systemctl stop mongod
0 sẽ chèn dữ liệu vào cơ sở dữ liệu thử nghiệm. Cờ ____71 xác định cơ sở dữ liệu nào sẽ sử dụng trong khi cờ ____72 chỉ định vị trí trong cơ sở dữ liệu thông tin sẽ được lưu trữ và cờ ____73 cho lệnh thực hiện tệp nào để thực hiện hành động nhập vào:test database. The - sudo systemctl stop mongod
1 flag defines which database to use while the - sudo systemctl stop mongod
2 flag specifies where in the database the information will be stored, and the - sudo systemctl stop mongod
3 flag tells the command which file to perform the import action on:- yum repolist
3Đầu ra xác nhận việc nhập dữ liệu từ tệp
- sudo systemctl stop mongod
4:- yum repolist
4Với bộ dữ liệu mẫu tại chỗ, chúng tôi sẽ thực hiện một truy vấn chống lại nó.
Khởi động lại vỏ MongoDB:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
0Shell chọn cơ sở dữ liệu
- sudo systemctl reload mongod
8 theo mặc định, đó là nơi chúng tôi nhập dữ liệu của chúng tôi.Truy vấn Bộ sưu tập nhà hàng với phương pháp
- sudo systemctl stop mongod
6 để hiển thị danh sách tất cả các nhà nghỉ trong bộ dữ liệu. Vì bộ sưu tập chứa hơn 25.000 mục, hãy sử dụng phương pháp - sudo systemctl stop mongod
7 tùy chọn để giảm đầu ra của truy vấn xuống một số được chỉ định. Ngoài ra, phương pháp - sudo systemctl stop mongod
8 làm cho thông tin có thể đọc được nhiều hơn với các dòng và vết lõm.restaurants collection with the - sudo systemctl stop mongod
6 method to display a list of all the restuarants in the dataset. Since the collection contains over 25,000 entries, use the optional - sudo systemctl stop mongod
7 method to reduce the output of the query to a specified number. Additionally, the - sudo systemctl stop mongod
8 method makes the information
more human-readable with newlines and indentations.- yum repolist
6- yum repolist
7Bạn có thể tiếp tục sử dụng bộ dữ liệu mẫu để làm quen với MongoDB hoặc xóa nó bằng phương pháp
- sudo systemctl stop mongod
9:- yum repolist
8Cuối cùng, thoát vỏ bằng lệnh
- sudo systemctl reload mongod
4:[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
6[mongodb-org-3.4]
name=MongoDB Repository
baseurl=//repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=//www.mongodb.org/static/pgp/server-3.4.asc
7Sự kết luận
Trong hướng dẫn này, chúng tôi đã đề cập thêm một kho lưu trữ của bên thứ ba vào
Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .
5, cài đặt máy chủ cơ sở dữ liệu MongoDB, nhập tập dữ liệu mẫu và thực hiện truy vấn đơn giản. Chúng tôi hầu như không làm trầy xước bề mặt của các khả năng của MongoDB. Bạn có thể tạo cơ sở dữ liệu của riêng mình với một số bộ sưu tập, điền vào chúng với nhiều tài liệu và bắt đầu xây dựng một ứng dụng mạnh mẽ.collections, fill them with many documents and start building a robust application.