星期三, 7月 11, 2012

用 Percona Xtrabackup 複製資料給 slave 用

在幾乎都是 InnoDB table 的環境下,可以用 Percona Xtrabackup 產生出一份完整的資料,提供給 MySQL Slave 用。主要是參考這兩份文件:
我安裝 Percona Xtrabackup 是透過 apt-get,如果要用其他安裝方式也可以,這邊就不提了。

跑法是先在 master 機器上跑 innobackupex:(要記得 /data 下得有足夠的空間放檔案)
# innobackupex /data/db/
# innobackupex --apply-log /data/db/xxx/
其中第二個指令中的 xxx 是 innobackupex 產生的目錄。
等這些指令跑完後,就可以把整個目錄複製到別台使用,在 xtrabackup_binlog_info 裡面有 master 的 binlog 資訊可以讓你設定。

其中比較要注意的地方是不能加上 --compress,因為 --apply-log + --compress 會失敗,這個問題在 Percona Xtrabackup 的 Launchpad 上有看到有 ticket 在處理了。