Hướng dẫn sử dụng XtraBackup

XtraBackup 2.4.4 mang đến nhiều cải tiến quan trọng, tích hợp đầy đủ chức năng của innobackupex vào xtrabackup duy nhất. Công cụ này hỗ trợ sao lưu cả bảng MyISAM và khuyến cáo thay thế innobackupex trong các phiên bản tương lai. Bài viết tập trung vào các phương pháp triển khai cụ thể.

1. Tham số sao lưu chính

xtrabackup --backup --target-dir=/backup/data 
  --user=root --password=matkhau 
  --datadir=/var/lib/mysql
  • --compress: Nén dữ liệu InnoDB bằng thuật toán QuickLZ
  • --encrypt=AES256: Mã hóa dữ liệu với khóa 256-bit
  • --incremental-basedir: Chỉ định thư mục sao lưu gốc
  • --parallel=4: Sử dụng 4 luồng song song

2. Quy trình chuẩn bị dữ liệu

xtrabackup --prepare --target-dir=/backup/data
# Với sao lưu tăng dần:
xtrabackup --prepare --apply-log-only --target-dir=/backup/base
xtrabackup --prepare --target-dir=/backup/base --incremental-dir=/backup/inc1

3. Khôi phục dữ liệu

# Dừng MySQL
systemctl stop mysql

# Di chuyển dữ liệu
xtrabackup --move-back --target-dir=/backup/data --datadir=/var/lib/mysql

# Sửa quyền
chown -R mysql:mysql /var/lib/mysql

4. Các kịch bản triển khai

a. Sao lưu toàn phần

xtrabackup --backup --target-dir=/backup/full 
  --user=dba --password=secure123 
  --datadir=/var/lib/mysql

b. Sao lưu tăng dần

# Sao lưu gốc
xtrabackup --backup --target-dir=/backup/base 

# Sao lưu tăng dần 1
xtrabackup --backup --target-dir=/backup/inc1 
  --incremental-basedir=/backup/base

# Sao lưu tăng dần 2
xtrabackup --backup --target-dir=/backup/inc2 
  --incremental-basedir=/backup/inc1

c. Sao lưu nén

xtrabackup --backup --target-dir=/backup/compressed 
  --compress --compress-threads=4

d. Sao lưu mã hóa

# Tạo khóa mã hóa
openssl rand -base64 24 > /secret.key

# Thực hiện sao lưu
xtrabackup --backup --target-dir=/backup/encrypted 
  --encrypt=AES256 
  --encrypt-key-file=/secret.key

5. Phân tích hiệu năng

Các tùy chọn tối ưu hóa:

  • --throttle=100: Giới hạn 100 IOPS
  • --use-memory=2G: Cấp 2GB RAM cho quá trình prepare
  • --rsync: Tăng tốc sao lưu file ngoài InnoDB

6. Cảnh báo và lưu ý

  • Luôn dừng MySQL trước khi khôi phục
  • Tránh dùng --no-lock khi có bảng MyISAM đang hoạt động
  • Kiểm tra tính toàn vẹn qua xtrabackup_checkpoints

Các tùy chọn nâng cao như --galera-info cho cụm PXC và --slave-info cho hệ thống replica được hỗ trợ đầy đủ. Xem tài liệu chính thức để tối ưu kịch bản cụ thể.

Thẻ: xtrabackup mysql backup Database innodb

Đăng vào ngày 2 tháng 6 lúc 03:20