[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++ Show
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ề MongoDBHoạt động MongoDB nâng caoChuỗ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 Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtubeTheo 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 requestCấu hình sao lưu cơ sở dữ liệu mongoDBSao lưu MongoDBThực hiện tạo 1 thư mục để sao lưu cơ sở dữ liệu của mongoDB
Đố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
in which. - Tạo tập lệnh sao lưu cơ sở dữ liệu mongoDB và tải lên Google DriveNhư 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 Thực hiện tạo 1 tệp có tên
Nếu như máy chủ của chúng ta chưa có 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 4 hay còn gọi là phân quyền thực thi như sauCấu hình cronjobTrong 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ó 5 thì hãy thực hiện cài đặt như sauBâ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
Thêm dòng lệnh đó vào tệp cuối cùng và lưu lại là xong Lời kếtNhư 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ếtTrướ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ữ MongoDBMongodb-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 MongoDBChú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 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 độngBở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)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() 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() |