MARIADB
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Phương pháp sao lưu trong MariaDB

Dữ liệu đóng vai trò nền tảng cho mọi hoạt động kinh doanh và vận hành hệ thống. Với vô số mối đe dọa như các cuộc tấn công, sự cố hệ thống, nâng cấp lỗi, hay sai sót khi bảo trì, sao lưu dữ liệu trở thành việc không thể thiếu. Có nhiều phương pháp và công cụ hỗ trợ việc sao lưu trong MariaDB, phù hợp với từng loại dữ liệu, thông tin quan trọng và cấu trúc cụ thể. Việc chọn phương pháp sao lưu phù hợp đòi hỏi sự cân nhắc dựa trên các yêu cầu cụ thể của hệ thống.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Các tùy chọn sao lưu trong MariaDB

MariaDB cung cấp hai loại sao lưu chính: sao lưu logicsao lưu vật lý.

  • Sao lưu logic: Lưu lại các câu lệnh SQL để khôi phục dữ liệu, cho phép linh hoạt trong việc khôi phục dữ liệu trên máy khác với cấu hình khác nhau.
  • Sao lưu vật lý: Tạo bản sao các tập tin dữ liệu gốc của hệ thống, bao gồm cả tệp cấu hình và nhật ký. Tuy nhiên, loại sao lưu này thường chỉ phù hợp khi khôi phục trên cùng một loại máy chủ và kiểu cơ sở dữ liệu.

So sánh:

  • Sao lưu logic linh hoạt hơn trong khôi phục, nhưng tốn nhiều thời gian và không lưu các tệp cấu hình.
  • Sao lưu vật lý nhanh và gọn hơn, nhưng yêu cầu cấu trúc giống hệt giữa môi trường khôi phục và nguồn.

Các công cụ hỗ trợ sao lưu trong MariaDB

Mysqldump

Là công cụ chính trong MariaDB dùng để sao lưu logic. Nó hỗ trợ xuất dữ liệu dưới nhiều định dạng như SQL, CSV, XML. Đặc biệt phù hợp với cơ sở dữ liệu nhỏ. Tuy nhiên, để sao lưu các stored procedure, view hay events cần phải chỉ định rõ.

  • Dữ liệu thô: Sử dụng tuỳ chọn --tab để xuất dữ liệu thô vào tập tin.

    Bài viết này được đăng tại [free tuts .net]

mysqldump -u root -p --no-create-info --tab=/tmp PRODUCTS products_tbl

Xuất dữ liệu hoặc cấu trúc:

mysqldump -u root -p PRODUCTS products_tbl > export_file.txt

Chuyển dữ liệu qua máy chủ khác:

mysqldump -u root -p database_name | mysql -h other-host.com database_name

Lệnh SELECT...INTO OUTFILE

Lệnh này xuất dữ liệu từ một bảng sang tệp được định dạng theo ý muốn.
Ví dụ:

SELECT * FROM products_tbl INTO OUTFILE '/tmp/products.txt';

Lưu ý:

  • Tệp xuất cần chỉ định đường dẫn cụ thể.
  • Cần quyền truy cập tệp (file privileges) để thực thi.
  • Tệp đầu ra phải có tên duy nhất.

CONNECT Storage Engine

MariaDB cho phép sử dụng CONNECT Engine để xuất dữ liệu dưới nhiều định dạng không được hỗ trợ bởi SELECT...INTO OUTFILE.
Ví dụ:

CREATE TABLE products
   ENGINE=CONNECT TABLE_TYPE=XML FILE_NAME='products.htm'
   HEADER=YES OPTION_LIST='name=TABLE, coltype=HTML, attribute=border=1;cellpadding=5';

Các công cụ và phương pháp khác trong MariaDB

XtraBackup

Phù hợp với cơ sở dữ liệu XtraDB/InnoDB, cho phép sao lưu nhanh mà không gián đoạn các ứng dụng đang thao tác trên dữ liệu.

Snapshot Filesystem

Sử dụng snapshot của hệ thống tập tin để sao lưu nhanh:

  • Khoá các bảng.
  • Gắn snapshot vào ổ đĩa.
  • Sao chép snapshot.
  • Tháo snapshot.

LVM Backup

Phương pháp này dùng script Perl để khoá các bảng, xả cache và sao lưu snapshot, thích hợp với hệ thống lớn.

TokuBackup

Phù hợp với InnoDB, cung cấp các bản sao giao dịch nhất quán mà không gây gián đoạn tới hệ thống đang hoạt động.

Lưu ý khi sử dụng InnoDB

InnoDB sử dụng buffer pool để cải thiện hiệu năng, nhưng khi sao lưu logic, nên cấu hình để tránh việc sao chép toàn bộ bảng vào buffer pool, do các thao tác sao lưu logic thực hiện quét toàn bộ bảng.

Kết bài

Sao lưu dữ liệu trong MariaDB là yếu tố cốt lõi để đảm bảo hệ thống vận hành an toàn trước các sự cố hoặc tấn công. Việc lựa chọn phương pháp và công cụ sao lưu phù hợp với quy mô, đặc thù dữ liệu là yếu tố then chốt giúp tối ưu hóa quá trình sao lưu và khôi phục dữ liệu, đảm bảo hoạt động kinh doanh luôn liên tục và an toàn.

Cùng chuyên mục:

Cú pháp PHP trong MariaDB

Cú pháp PHP trong MariaDB

Quản trị cơ bản trong MariaDB

Quản trị cơ bản trong MariaDB

Hướng dẫn cài đặt MariaDB

Hướng dẫn cài đặt MariaDB

Các hàm hữu ích trong MariaDB

Các hàm hữu ích trong MariaDB

Phương pháp tải dữ liệu sao lưu trong MariaDB

Phương pháp tải dữ liệu sao lưu trong MariaDB

Bảo vệ chống SQL Injection trong MariaDB

Bảo vệ chống SQL Injection trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Dãy số (Sequences) trong  MariaDB

Dãy số (Sequences) trong MariaDB

Tìm hiểu Table Cloning trong MariaDB

Tìm hiểu Table Cloning trong MariaDB

Bảng tạm thời (Temporary Tables) trong MariaDB

Bảng tạm thời (Temporary Tables) trong MariaDB

Tìm hiểu Indexes và Statistics Tablestrong MariaDB

Tìm hiểu Indexes và Statistics Tablestrong MariaDB

Lệnh ALTER trong MariaDB

Lệnh ALTER trong MariaDB

Giao dịch (Transactions) trong MariaDB

Giao dịch (Transactions) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Top