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.
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 logic và sao 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.