Và trong mongodb

[Học cơ sở dữ liệu MongoDB và nâng cao]MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL hàng đầu, được hàng triệu người sử dụng. MongoDB được viết bằng C++

Ngoài ra, MongoDB là một nền tảng cơ sở dữ liệu đa nền tảng, hoạt động trên các khái niệm Bộ sưu tập và Tài liệu, nó cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng

Dưới đây là danh sách các bài hướng dẫn học MongoDB cơ bản và nâng cao

MỤC LỤC

Cơ bản về MongoDB

Hoạt động MongoDB nâng cao

Chuỗi bài hướng dẫn của chúng tôi dựa trên nguồn tài liệu của chúng tôi. hướng dẫn. com

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng. miễn phí. Tải ngay ứng dụng trên Android và iOS

Và trong mongodb

Và trong mongodb

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube

Theo dõi fanpage của nhóm https. //www. Facebook. com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https. //www. Facebook. com/tuyen. vietjack to continue theo dõi hàng loạt bài viết mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile. mới nhất của chúng tôi

Bài hướng dẫn này sẽ cấu hình sao lưu tự động MongoDB lên Google Drive bằng cách sử dụng rclone trên hệ điều hành Ubuntu22. 04

Element request

Cấu hình sao lưu cơ sở dữ liệu mongoDB

Sao lưu MongoDB

Thực hiện tạo 1 thư mục để sao lưu cơ sở dữ liệu của mongoDB

 mkdir -p /123host/databasemongo_backup/
cd /123host/databasemongo_backup/

Đối với mongoDB, chúng ta sẽ sử dụng cú pháp sau để tiến hành kết xuất cơ sở dữ liệu của mongoDB

in which. - ________số 8_______. Là cơ sở dữ liệu mà chúng ta cần tiến hành đổ

Tải tệp lên Google Drive

Đối với rclone để tiến hành tải dữ liệu lên, chúng ta sẽ sử dụng lệnh sau

rclone copy name_file_upload name_remote:

in which. - name_file_upload. Là tập tin cần tiến hành tải lên - name_remote. Là tên của điều khiển từ xa mà chúng ta đã tạo ở rclone

Tạo tập lệnh sao lưu cơ sở dữ liệu mongoDB và tải lên Google Drive

Như vậy, bây giờ chúng ta có thể thực hiện chạy 1 đoạn script sau để tiến hành kết xuất cơ sở dữ liệu và tải lên google drive của chúng ta. Để có thể kiểm tra tên của cơ sở dữ liệu, chúng ta sẽ sử dụng mongo shell và thực thi lệnh show dbs. Trong ví dụ này, chúng ta sẽ sao lưu Cơ sở dữ liệu có tên là admin

Thực hiện tạo 1 tệp có tên backup.sh và sử dụng đoạn mã sau

#!/bin/bash

# Get current time
time="$(date +'%Y_%m_%d')"

# Move to database folder
cd /123host/databasemongo_backup/

# Dump database
mongodump -d my_db_name -o $time

# Zip folder
zip -r $time.zip $time

# remove dump folder
rm -rf $time

# Push to rclone
rclone copy $time.zip name_remote:

# remove dump file
rm -rf $time.zip

Lưu ý. my_db_namename_remote cần tiến hành thay đổi tên cơ sở dữ liệu và tên điều khiển từ xa của

rclone copy name_file_upload name_remote:
2 để phù hợp với máy chủ của bạn

Nếu như máy chủ của chúng ta chưa có

rclone copy name_file_upload name_remote:
3 thì tiến trình sử dụng lệnh sau để thực hiện cài đặt

Để tập lệnh trên tập lệnh có thể thực thi cần phân quyền

rclone copy name_file_upload name_remote:
4 hay còn gọi là phân quyền thực thi như sau

Cấu hình cronjob

Trong trường hợp chúng ta cần sao lưu hệ thống tự động hàng ngày, hay hàng giờ chúng ta sẽ sử dụng cronjob để cấu hình sao lưu tự động. Nếu máy chủ của chúng ta chưa có

rclone copy name_file_upload name_remote:
5 thì hãy thực hiện cài đặt như sau

Bây giờ cài đặt cronjob để thực thi

Đoạn cron sau sẽ thực hiện sao lưu vào lúc 0h sáng mỗi ngày

/tmp/crontab. AoCors/crontab

0 0 * * * /root/backup.sh

Thêm dòng lệnh đó vào tệp cuối cùng và lưu lại là xong

Lời kết

Như vậy chúng ta đã có thể sao lưu cơ sở dữ liệu của mongoDB và cấu hình tải tệp sao lưu lên Google Drive chúc các bạn thành công trong quá trình thao tác

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

Mongodb-org package don't 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ủ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. Tại 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

 

Và trong 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)

Và trong 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 ). đẹp()


Và trong 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. làm rơi()