Repo doanh nghiệp mongodb

MongoDB là cơ sở dữ liệu hướng tài liệu có mã nguồn mở và miễn phí. Nó được phân loại là cơ sở dữ liệu NoSQL bởi vì nó không dựa trên 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ác cơ sở dữ liệu quan hệ, MongoDB không yêu cầu lược đồ được xác định 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 kỳ lúc nào theo yêu cầu mà không phải thiết lập cơ sở dữ liệu mới với lược đồ cập nhật

Bài viết hôm nay, Bizfly Cloud   sẽ hướng dẫn bạn cài đặt MongoDB Community Edition 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 rằng bạn là người dùng thông thường, không root với quyền đặc biệt sudo

Bước 1. Thêm Kho lưu trữ MongoDB

Package mongodb-org không tồn tại trong 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. Vui lòng thêm nó vào máy chủ

Với vi editor, hãy tạo một tệp. repo cho yum, tiện ích quản lý gói cho CentOS

$ sudo vi /etc/yum. repo. d/mongodb-org. repo

Sau đó, hãy truy cập phần Cài đặt trê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. repo. d/mongodb-org. repo

[mongodb-org-3. 4]

name=Kho lưu trữ MongoDB

baseurl=https. //repo. mongodb. org/yum/redhat/$releasever/mongodb

tổ chức/3. 4/x86_64/

gpgcheck=1

đã bật = 1

gpgkey=https. //www. mongodb. org/tĩnh/pgp/máy chủ-3. 4. Tăng dần

Save and close file

Trước khi tiếp tục, chúng ta phải xác nhận rằng kho lưu trữ MongoDB tồn tại bên trong tiện ích yum. Repolist command display list of archives đã được kích hoạt

$ yum repolist

đầu ra

. . id repo                                 tên repo

cơ sở/7/x86_64                          CentOS-7 - Cơ sở

tính năng bổ sung/7/x86_64                        CentOS-7 - Tính năng bổ sung

mongodb-org-3. 2/7/x86_64        Kho lưu trữ MongoDB

cập nhật/7/x86_64                       CentOS-7 - Cập nhật

.

Với Kho lưu trữ MongoDB tại chỗ, hãy tiến hành cài đặt

Bước 2. Cài đặt MongoDB

Chúng ta có thể cài đặt gói mongodb-org từ kho lưu trữ của bên thứ ba bằng cách sử dụng tiện ích yum

$ sudo yum cài đặt mongodb-org

Có hai lời nhắc nhở thế này được không [y/N]. Lời đầu tiên cho phép cài đặt các gói MongoDB và lời nhắc thứ hai là nhập khóa GPG. Nhà xuất bản của MongoDB ký phần mềm của họ và yum 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. Ở mỗi lời nhắc, hãy nhập Y và sau đó nhấn phím ENTER

Tiếp theo, khởi động dịch vụ MongoDB với tiện ích systemctl

$ sudo systemctl bắt đầu mongod

Mặc dù chúng tôi sẽ không sử dụng chúng trong hướng dẫn này, nhưng bạn cũng có thể thay đổi trạng thái của dịch vụ MongoDB bằng lệnh tải lại và dừng

Lệnh tải lại yêu cầu quá trình đọc tệp cấu hình mongod, /etc/mongod. conf 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 tải lại mongod

 

Repo doanh nghiệp mongodb

Lệnh dừng tạm dừng tất cả quá trình chạy mongod

$ sudo systemctl dừng mongod

Systemctl tiện ích không cung cấp kết quả sau khi thực hiện lệnh bắt đầu, nhưng chúng ta có thể kiểm tra xem các dịch vụ đã bắt đầu bằng cách xem phần cuối của tệp tin mongod. đăng nhập với đuôi lệnh

$ đuôi sudo /var/log/mongodb/mongod. đăng nhập

đầu ra

. .  

[initandlisten] đang chờ kết nối trên cổng 27017

Kết quả "waiting for a connection" xác nhận rằng MongoDB đã khởi động thành công và chúng ta có thể truy cập vào máy chủ cơ sở dữ liệu với MongoDB Shell

$ mongo

Lưu ý

Khi bạn khởi chạy MongoDB Shell, bạn có thể thấy một cảnh báo như sau

** CẢNH BÁO. giới hạn mềm quá thấp. rlimits được đặt thành 4096 quy trình, 64000 tệp. Số lượng quy trình phải ít nhất là 32000. 0. gấp 5 lần số lượng tệp

MongoDB là một ứng dụng luồng. Nó có thể khởi động các bổ sung tiến trình để xử lý khối lượng công việc. Cảnh báo nói rằng. MongoDB sẽ trở nên hiệu quả nhất khi số lượng quá trình mà nó được ủy quyền để quay lên nên bằng một nửa số lượng tệp mà nó có thể mở ở bất kỳ thời điểm nào. Để giải quyết cảnh báo này, hãy thay đổi quy trình giá trị rlimit mềm cho mongod bằng cách chỉnh sửa tệp 20-nproc đã sửa. conf

$ sudo vi /etc/security/limits. d/20-nproc. conf

Add lines after to last file

/etc/an ninh/giới hạn. d/20-nproc. conf

.

mongod mềm nproc 32000

Để có giới hạn mới cho MongoDB, hãy khởi động lại nó bằng tiện ích systemctl

$ sudo systemctl khởi động lại mongod

Sau đó, khi bạn kết nối với MongoDB Shell, cảnh báo sẽ chấm dứt

Để tìm hiểu cách tương tác với MongoDB từ shell, bạn có thể xem lại đầu ra của phương thức db. help() cung cấp một danh sách các phương thức cho đối tượng db

> db. Cứu giúp()

đầu ra

phương pháp cơ sở dữ liệu.  

db. adminCommand(nameOrDocument) - chuyển sang db 'admin' và chạy lệnh [ chỉ gọi db. runCommand(. ) ]

db. xác thực (tên người dùng, mật khẩu)

db. cloneDatabase (từ máy chủ)

db. commandHelp(name) trả về trợ giúp cho lệnh

db. copyDatabase (từdb, todb, fromhost)

db. createCollection(tên, { size. . , giới hạn. . , tối đa. . } ) db. người dùng tạo (tài liệu người dùng)

db. currentOp() hiển thị các hoạt động hiện đang thực thi trong db

db. dropDatabase()

.

To back too mongod run in the nền, but exit shell by exit command

> thoát

đầu ra

Từ biệt

Bước 3. Xác minh khởi động

Bởi 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 ta phải đảm bảo rằng daemon MongoDB, mongod, sẽ khởi động với hệ thống

Sử dụng tiện ích systemctl để kiểm tra trạng thái khởi động của nó

$ systemctl được kích hoạt mongod;

Một đầu ra số 0 xác nhận và daemon được kích hoạt là điều chúng ta cần, tuy nhiên, việc xác nhận daemon bị vô hiệu hóa sẽ không bắt đầu

đầu ra

.

kích hoạt

0

Trong trường hợp của daemon bị vô hiệu hóa, hãy sử dụng tiện ích systemctl để kích hoạt nó

$ sudo systemctl bật mongod

Bây giờ chúng ta 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 một tập dữ liệu mẫu (tùy chọn)

Repo doanh nghiệp mongodb

Không giống với 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 thử nghiệm. Vì chúng tôi không muốn thử nghiệm với phần mềm mới bằng cách sử dụng dữ liệu sản xuất, nên chúng tôi sẽ tải xuống tệp dữ liệu mẫu từ Bộ dữ liệu ví dụ nhập khẩu (https. // tài liệu. mongodb. com/getting-started/shell/import-data/) của tài liệu "Bắt đầu với MongoDB". Tài liệu JSON chứa một tập hợp các nhà hàng mà chúng tôi sẽ sử dụng để thực hiện các hành động tương tác với MongoDB và tránh gây hại cho các dữ liệu nhạy cảm

Bắt đầu bằng cách chuyển vào thư mục có thể ghi

$ cd /tmp

Sử dụng lệnh curl và liên kết từ MongoDB để tải xuống tệp JSON

$ curl -LO https. // thô. githubusercontent. com/mongodb/docs-assets/primer-dataset/primer-dataset. json

Lệnh mongoimport sẽ chèn dữ liệu vào cơ sở dữ liệu thử nghiệm. --db cờ xác định bất kỳ cơ sở dữ liệu nào sẽ sử dụng trong khi --collection cờ chỉ định vị trí thông tin sẽ được lưu trữ tại đâu trong cơ sở dữ liệu, và --file cờ sẽ cho biết bất kỳ tập tin thực thi nào

$ mongoimport --db test --collection nhà hàng --file /tmp/primer-dataset. json

Đầu ra xác nhận việc nhập dữ liệu từ tệp primer-dataset. json

đầu ra

kết nối với. máy chủ cục bộ

đã nhập 25359 tài liệu

Với tập dữ liệu mẫu tại chỗ, chúng tôi sẽ thực hiện một truy vấn đối với nó

Khởi chạy lại MongoDB Shell

$ mongo

Shell select test database theo mặc định, đó là nơi nhập dữ liệu

Truy vấn bộ sưu tập nhà hàng bằng phương thức find() để hiển thị danh sách tất cả các nhà hàng trong tập dữ liệu. Vì bộ sưu tập chứa hơn 25. 000 mục nhập, hãy sử dụng tùy chọn phương thức limit() để giảm đầu ra của truy vấn bằng một số định sẵn. Ngoài ra, phương thức pretty() làm cho thông tin dễ đọc hơn với các dòng mới và thụt lề

> db. nhà hàng. tìm thấy(). giới hạn( 1 ). khá()


Repo doanh nghiệp mongodb

Bạn có thể tiếp tục sử dụng tập dữ liệu mẫu để tự làm quen với MongoDB hoặc xóa nó bằng phương thức db. nhà hàng. rơi vãi()