MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách sao lưu cơ sở dữ liệu Moodle MariaDB của bạn

Trước đây, chúng tôi đã viết blog về việc sao lưu Cơ sở dữ liệu MySQL Moodle của bạn. Lần này, tất cả chỉ là sao lưu Cơ sở dữ liệu Moodle MariaDB của bạn. Trên thực tế, nó có cùng cách tiếp cận khi sao lưu Cơ sở dữ liệu MySQL Moodle của bạn như với Cơ sở dữ liệu Moodle MariaDB của bạn. Tuy nhiên, kể từ MariaDB 10.2, nó đã dần đi chệch hướng và tiếp tục có những khác biệt lớn với phiên bản MySQL. Về vấn đề này, hãy chú ý đến các phương pháp tiếp cận mà bạn có thể phải xem xét khi sao lưu MariaDB trái ngược với MySQL nếu bạn sử dụng nó.

Các phương pháp hay nhất để tạo bản sao lưu Moodle MariaDB của bạn

Chúng ta hãy xem xét chủ đề này trước. Việc sao lưu dữ liệu Moodle của bạn phải áp dụng các phương pháp hay nhất để sao lưu MariaDB vì điều này cung cấp cho bạn sự bảo mật và đảm bảo, đặc biệt là khi thảm họa hoặc thảm họa xảy ra trong các tình huống không thể đoán trước.

Vậy điều này xảy ra là gì? Việc tạo một bản sao lưu cho Moodle của bạn ít nhất phải thực hiện với các bản sao lưu sau:

  • Sao lưu lôgic
  • Bản sao thực của bản sao lưu của bạn
  • Phục hồi theo thời gian (tăng dần)

Sao lưu lôgic

Bản sao lưu dữ liệu hợp lý được lưu trữ ở định dạng con người có thể đọc được như SQL. Sao lưu lôgic lưu thông tin được biểu diễn dưới dạng cấu trúc cơ sở dữ liệu lôgic (TẠO CƠ SỞ DỮ LIỆU, TẠO câu lệnh BẢNG) và nội dung (câu lệnh CHÈN hoặc tệp văn bản phân tách). Loại sao lưu này phù hợp với lượng dữ liệu nhỏ hơn, nơi bạn có thể chỉnh sửa các giá trị dữ liệu hoặc cấu trúc bảng hoặc tạo lại dữ liệu trên một kiến ​​trúc máy khác. Nếu bạn có xu hướng sử dụng một bản sao lưu cơ sở dữ liệu lớn, hãy đảm bảo rằng bạn đã bật tính năng nén. Hãy cẩn thận vì điều này có thể chiếm nhiều dung lượng ổ đĩa.

Trong MariaDB, một công cụ phổ biến được sử dụng là sử dụng mysqldump, nhưng sẽ thay đổi trong tương lai với mariadb-dump bắt đầu từ MariaDB 10.4.6 hoặc 10.5.2 trở đi. Ngoài ra, một công cụ phổ biến để sử dụng cho MySQL / MariaDB DBA là mydumper nếu bạn muốn sao lưu song song cho bản sao lưu hợp lý của mình. Mặc dù có một số vấn đề trong một số phiên bản hoặc nó có thể có vấn đề, đặc biệt là đối với các phiên bản MariaDB mới nhất. Nếu bạn muốn sử dụng điều này, hãy chú ý đến nhật ký sao lưu của bạn khi tạo bản sao.

Sao lưu vật lý

Sao lưu vật lý chứa dữ liệu nhị phân cơ sở dữ liệu bao gồm các bản sao thô của các thư mục và tệp lưu trữ nội dung cơ sở dữ liệu. Đây là một hành động thích hợp để thực hiện đặc biệt đối với một cơ sở dữ liệu lớn và việc khôi phục bản sao đầy đủ của cơ sở dữ liệu sẽ nhanh hơn so với một bản sao lưu hợp lý. Mặt khác, việc sao lưu toàn bộ vật lý cần nhiều thời gian, đặc biệt nếu bạn có một tập dữ liệu rất lớn. Nó cũng phụ thuộc vào những thông số bạn đã bật hoặc đặt có thể ảnh hưởng đến ETA dự phòng của nó.

Một công cụ phổ biến để sử dụng cho MariaDB là sử dụng mariabackup. Mariabackup là một công cụ mã nguồn mở được cung cấp bởi MariaDB. Đây là một nhánh của Percona XtraBackup được thiết kế để hoạt động với các bảng được mã hóa và nén, đồng thời là phương pháp sao lưu được khuyến nghị cho cơ sở dữ liệu MariaDB.

Khôi phục điểm trong thời gian (PITR)

Khôi phục điểm trong thời gian đề cập đến việc khôi phục các thay đổi dữ liệu cho đến một thời điểm nhất định. Thời điểm nhất định này là mục tiêu khôi phục mong muốn đã được xác định và bắt buộc phải đặt lại vị trí cũ, được áp dụng trong quá trình khôi phục. PITR là một phục hồi chuyển tiếp điểm và điều đó có nghĩa là bạn có thể khôi phục dữ liệu từ thời điểm bắt đầu mong muốn đến thời điểm kết thúc mong muốn, ngược lại thì đọc Sử dụng MariaDB Flashback trên Máy chủ MySQL. PITR cũng được coi là một phương pháp bảo vệ dữ liệu bổ sung vì nó bảo vệ an toàn cho việc mất thông tin quan trọng.

Trong các tình huống phổ biến, sao lưu PITR áp dụng cho loại khôi phục của bạn được thực hiện sau khi khôi phục một bản sao lưu đầy đủ để đưa máy chủ về trạng thái tại thời điểm sao lưu được thực hiện. Sau đó, phục hồi theo thời gian đưa máy chủ cập nhật tăng dần từ thời điểm sao lưu đầy đủ đến thời điểm gần đây hơn. Nó cũng tăng tốc độ xây dựng một bản sao trong một cụm sao chép từ việc bắt kịp với cơ sở dữ liệu MariaDB chính hoặc người viết hoạt động của bạn.

Vậy những bản sao lưu này là gì? Trong MariaDB, các bản sao lưu phổ biến áp dụng cho PITR của bạn là nhật ký nhị phân của bạn. Ghi nhật ký nhị phân phải được định cấu hình đúng cách trong cơ sở dữ liệu MariaDB của bạn và nó phải được kích hoạt. Nếu bạn đang sử dụng ClusterControl, điều này có thể không khó để bạn định cấu hình vì nó được định cấu hình tự động cho bạn và được bật đặc biệt khi thiết lập một cụm sao.

Khi áp dụng PITR, công cụ phổ biến nhất được sử dụng là mysqlbinlog hoặc mariadb-binlog cho MariaDB 10.5.2 trở đi.

Phương pháp tốt nhất để sao lưu cơ sở dữ liệu Moodle MariaDB của bạn

Khi thực hiện Cơ sở dữ liệu Moodle MariaDB, hãy luôn sao lưu trong giờ không phải cao điểm hoặc khi lưu lượng truy cập quá thấp. Trước khi thực hiện việc này, hãy đảm bảo rằng bạn đã kiểm tra bản sao lưu và nó đã được hoàn tất thành công. Sau khi hoàn tất, hãy kiểm tra khôi phục xem bản sao lưu của bạn có hữu ích hay không và nó có đáp ứng nhu cầu của bạn khi cần khôi phục dữ liệu hoặc khi bạn cần sao lưu để tạo một nhóm cụm khác (QA, dev hoặc mở rộng sang trung tâm dữ liệu khác). Về cơ bản, các phần phụ sau đây sẽ là cách tiếp cận và thiết lập mà bạn phải đối phó.

Thiết lập một bản sao và thực hiện sao lưu trên bản sao

Nếu bạn không quen với việc nhân bản, hãy đọc sách trắng về Nhân bản MySQL về Tính khả dụng cao của chúng tôi. Về cơ bản, đừng dành cho người viết hoạt động hoặc nút cơ sở dữ liệu chính của bạn để thực hiện hoặc chạy một bản sao lưu. Việc sao lưu dự phòng phải được kiểm tra và nó không được thực hiện trong quá trình sản xuất nếu nó chưa được thử nghiệm với một bộ lệnh và chính sách sao lưu của nó mà bạn đã tạo. Một khi tốt, chỉ cần để lại nó và nhắm nó vào một bản sao. Bạn có thể sao lưu từ cơ sở dữ liệu MariaDB chính / chính của mình nếu bạn không còn lựa chọn nào khác hoặc ít nhất bạn chắc chắn về những gì mình đang làm.

Chạy Sao lưu Trong Giờ Không cao điểm

Khi thực hiện sao lưu, hãy đảm bảo rằng đó là giờ cao điểm của bạn. Bản sao của bạn phải có độ trễ bằng 0 càng tốt để dữ liệu cập nhật nhất sẽ được bôi đen.

Tạo Chính sách Dự phòng

Chính sách sao lưu bao gồm các tham số của bạn và lịch trình mà bản sao lưu của bạn bắt đầu. Đối với các tham số, hãy đảm bảo rằng chính sách đó đáp ứng nhu cầu của bạn, tức là bảo mật, nén, v.v. dự phòng sẽ có ở đó khi cần thiết trong thời gian thảm họa và cần khôi phục dữ liệu. Bạn cũng có thể xác định mục tiêu thời gian khôi phục của mình để có thể xác định tần suất chạy lịch trình sao lưu của mình và khi nào.

Cách tạo bản sao lưu cơ sở dữ liệu Moodle MariaDB của bạn

Sử dụng mariadb-dump / mysqldump

Lệnh dưới đây sẽ tạo bản sao lưu cơ sở dữ liệu của bạn cho Moodle. Trong ví dụ này, tên cơ sở dữ liệu là moodle. Chúng tôi đã bao gồm các trình kích hoạt, quy trình hoặc quy trình được lưu trữ và các sự kiện. In GTID và thông tin chính hữu ích khi bạn muốn cung cấp bản sao từ nút cơ sở dữ liệu chính hoặc chính.

$  /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle

Bạn chỉ cần thay thế mariadb-dump bằng mysqldump nếu bạn đang sử dụng phiên bản MariaDB <10.5.2. Nếu bạn cần nén, bạn có thể chạy lệnh dưới đây:

$  /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz

Sử dụng mariabackup

mariabackup có thể được thực hiện một cách đơn giản. Đối với điều này, chúng tôi sẽ sử dụng mbstream làm định dạng lưu trữ và phát trực tuyến mong muốn. Bạn có thể sử dụng lệnh dưới đây:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream

Nếu bạn muốn nén nó, bạn có thể thực hiện lệnh sau:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz

Sử dụng ClusterControl

Nếu bạn chuyển sang một giải pháp được quản lý đặc biệt để sao lưu Moodle của mình, ClusterControl sẽ sử dụng một giải pháp đơn giản nhưng cung cấp các tính năng nâng cao để sao lưu. Hãy xem ảnh chụp màn hình bên dưới:

Sao lưu rất đơn giản và dễ tạo. Tất cả những gì bạn cần làm là đi tới → Sao lưu → Tạo bản sao lưu.

Trong ảnh chụp màn hình ở trên, tôi có mysqldump, mysqldump tương thích với PITR và mariabackup. Bạn có thể chọn máy chủ lưu trữ để sao lưu. Như đã đề cập trước đó, hãy đảm bảo rằng bạn đang sử dụng bản sao lưu trên bản sao hoặc nô lệ. Điều đó có nghĩa là, hãy đảm bảo rằng nô lệ đã được chọn. Xem ảnh chụp màn hình bên dưới:

Trong khi chọn hoặc chọn mysqldump, ClusterControl cho phép người dùng chọn loại dữ liệu được kết xuất. Điều này cũng bao gồm một kết xuất tương thích PITR để sao lưu. Xem ảnh chụp màn hình bên dưới:

Đối với bản sao lưu nhị phân hoặc vật lý của bạn, ngoài mysqldump là bản sao lưu hợp lý của bạn, bạn có thể chọn mariabackup đầy đủ hoặc tăng dần. Xem bên dưới:

Vị trí lưu trữ chỉ cho phép người dùng chọn ở lại nút hoặc truyền nó đến máy chủ ClusterControl. Nếu bạn có một máy chủ bên ngoài chưa được đăng ký với ClusterControl, bạn có thể sử dụng NFS để gắn ổ đĩa mà bạn muốn bản sao lưu của mình được kết xuất. Mặc dù điều đó có thể không lý tưởng nhưng đối với một số trường hợp, điều này sẽ đáp ứng đặc biệt nếu băng thông mạng hoặc tốc độ truyền mạng đủ nhanh để truyền dữ liệu cục bộ đến nút khác thông qua mạng.

Về cơ bản, bạn có thể chọn các bản sao lưu để tải lên đám mây. Bạn có thể xem ảnh chụp màn hình trước đó và chỉ cần đánh dấu vào hộp kiểm để bật nó giống như bên dưới:

Như đã đề cập trước đó, ClusterControl lấy bản sao lưu đơn giản để sử dụng nhưng cung cấp các tính năng nâng cao, đây là các tùy chọn bạn có thể đặt.

Đối với mysqldump,

Đối với mariabackup,

rất dễ sử dụng. ClusterControl cũng cung cấp xác minh sao lưu và khôi phục sao lưu để bạn dễ dàng xác định xem sao lưu có hữu ích hay không. Điều này giúp sao lưu cơ sở dữ liệu Moodle của bạn rất hữu ích, đặc biệt khi khôi phục dữ liệu phải được áp dụng cho trường hợp khẩn cấp và phục hồi.

Kết luận

Có thể dễ dàng sao lưu cơ sở dữ liệu Moodle MariaDB của bạn nhưng khi dữ liệu lớn hơn và lưu lượng truy cập cao hơn, đó có thể là một thách thức lớn. Bạn chỉ cần làm theo các phương pháp hay nhất, đảm bảo rằng bạn đã bảo mật dữ liệu của mình, đảm bảo rằng bản sao lưu của bạn đã được xác minh và sẽ hữu ích khi khôi phục dữ liệu phải được áp dụng.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 cách liệt kê tất cả các bảng trong cơ sở dữ liệu MariaDB

  2. Cách hoạt động của nhà điều hành Modulo trong MariaDB

  3. Cải thiện hiệu suất của Galera Cluster cho MySQL hoặc MariaDB

  4. 3 cách lấy tên tháng từ ngày trong MariaDB

  5. Giới thiệu về Triển khai MySQL bằng vai trò Ansible