星期二, 2月 11, 2014

innobackupex

在噗浪上看到有人分享 innobackupex 這工具,就決定來試用看看。這指令其實是被包含在 xtrabackup 工具裡,使用 Perl 寫的,所以只要安裝 xtrabackup 就可以。

CentOS 5 上的安裝可以透過 yum,步驟可以參考 Percona 上的說明,首先用 rpm -Uhv http://ift.tt/1iiiaVw 安裝 Percona 的 repo 檔案,接著用 yum install percona-xtrabackup 就可以了。

我使用的是 MariaDB 5.5,試著要備份時,卻出現沒有指定 datadir 參數的問題。innobackupex 裡實際上使用的是 xtrabackup_55 (不同的資料庫需要用不同的指令,innobackupex 是自動判斷),大致追蹤指令原始碼,發現它是讀取 my.cnf 來得知 datadir 的值; MariaDB 的 my.cnf 很簡潔,直接 include /etc/my.cnf.d 下的所有 cnf 檔案,再查看裡面各個 cnf,都非常的簡潔,看起來是都採用預設值,所以不需要額外設置。因此我在 /etc/my.cnf.d/server.cnf 的 [mysqld] 之後加上 datadir=/var/lib/mysql 以後,innobackupex 就可以順利運作了。
  • 備份:innobackupex –user=DB_USER –password=DB_PASSWORD /path/to/BACKUP-DIR
  • 回存:innobackupex –copy-back /path/to/BACKUP-DIR

沒有留言: