Menyiapkan slave untuk replikasi MySQL database dengan Percona XtraBackup sangat mudah dan simple. Dengan menggunkan tool dari Percona ini database master tidak perlu dilock ataupun dimatikan. Yang perlu disiapkan adalah :
- Server MySQL Database yang akan dijadikan master dengan IP Address misalnya : 192.168.1.1 dan konfigurasi
- MySQL bisa berkomunikasi dengan server lain dengan port standar TCP/IP
- Percona xtrabackup telah diinstall -> langkahnya
- User dengan privileges replication slave sudah tersedia
mysql>
CREATE USER 'repl'@'192.168.1.2' IDENTIFIED BY 'slavepass';mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2'; - Binlog dan server-id telah disetup di file my.cnf atau my.ini
[sugeng@192.168.1.1 ~]$ vi /etc/my.cnf log-bin = /var/lib/mysql/mysql-bin server-id = 1
- Server MySQL Database yang akan dijadikan slave dengan IP Address misalnya : 192.168.1.2 dan konfigurasi
- MySQL bisa berkomunikasi dengan server lain dengan port standar TCP/IP
- server-id telah disetup di file my.cnf atau my.ini
[sugeng@192.168.1.2 ~]$ vi /etc/my.cnf server-id = 2
Kemudian langkah-langkahnya adalah
Langkah I : Menyiapkan Backup di server master
[sugeng@192.168.1.1 ~]$ innobackupex --user=yourDBuser --password=MaGiCdB1 /var/lib/mysql.backup/
Setelah selesai akan muncul pesan
innobackupex: completed OK!
Maka akan terbuat sebuah file backup di /var/lib/mysql.backup/$TIMESTAMP. Agar file backup konsisten maka perlu mempersiapkan data:
[sugeng@192.168.1.1 ~]$ innobackupex --user=yourDBuser --password=MaGiCdB1 --apply-log /var/lib/mysql.backup/$TIMESTAMP
Langkah II : Mencopykan file backup ke server slave
[sugeng@192.168.1.1 ~]$ innobackupex --user=yourDBuser --password=MaGiCdB1 --apply-log /var/lib/mysql.backup/$TIMESTAMP
Kopikan file backup dari server master ke datadir mysql slave
[sugeng@192.168.1.1 ~]$ scp -r /var/lib/mysql.backup/$TIMESTAMP sugeng@192.168.1.2:/var/lib/mysql/
Langkah III : Start Slave
lihat posisi binlog, untuk dijadikan acuan MASTER_LOG_FILE dan MASTER_LOG_POS slave ketika start
[sugeng@192.168.1.1 ~]$ cat /var/lib/mysql/xtrabackup_binlog_info
konfigurasi slave
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.1', MASTER_USER='repl', MASTER_PASSWORD='slavepass', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=245;
Start slave
mysql> START SLAVE;
Cek slave
mysql> SHOW SLAVE STATUS;
