完整恢復需兩個資訊源:
mysql < backup.sql 或 zcat backup.sql.gz | mysql# 簡單版(日誌檔名長度相同時)
ls -t -r -l binlog.[0-9]* | xargs mysqlbinlog | mysql --one-database db_name
# 通用版(Perl 排序數字後綴)
#!/usr/bin/perl -w
use strict;
my @files = <>; # 讀入檔名列表
@files = sort {
my $anum = $1 if $a =~ /\.(\d+)$/;
my $bnum = $1 if $b =~ /\.(\d+)$/;
$anum <=> $bnum;
} @files;
print @files;
同理,備份載入後配合 mysqlbinlog --database=db --table=tbl 過濾重放特定表的事務。
log-bin 二進制日誌FLUSH LOGS 或 SHOW MASTER STATUS)