Berikut ini adalah prosedur yang saya lakukan saat ingin mengekstrak database mysql dari backup ke HA Mysql Percona XtraDB
Dengan asumsi IP local untuk High Avaibility adalah sebagai berikut : 10.10.1.20,10.10.1.22,10.10.1.23
Sumber database dari IP 10.10.1.6
1. Ambil backup db dari 10.10.1.6
ssh mine@10.10.1.6
cd /home/backups/mysql/
rsync -Pavz Mon/ mine@10.10.1.20:/home/mine/Mon/
mv Mon/ /backups/mysql
2. Stop semua service mysql di ip 10.10.1.20, 10.10.1.21,10.10.1.22
3. ssh mine@10.10.1.20
systemctl stop mysql
nano /etc/mysql/percona-xtradb-cluster.conf.d/wsrep.cnf
Tutup semua configurasi wsrep #
chown -R backup:backup Thu/
cd /backups/mysql/Mon
sudo -u backup extract-mysql.sh *.xbstream
cd restore
sudo -u backup prepare-mysql.sh
sudo systemctl stop mysql
sudo mv /var/lib/mysql/ /tmp/
sudo mkdir /var/lib/mysql
sudo xtrabackup --copy-back --target-dir=/backups/mysql/Mon/restore/full-xx-xx-xx_xx-xx-xx
sudo chown -R mysql:mysql /var/lib/mysql
sudo find /var/lib/mysql -type d -exec chmod 750 {} \;
sudo systemctl start mysql
4. Login root ke mysql, hapus user sstuser@localhost
DROP USER 'sstuser'@'localhost';
CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 'xxxyyy';
GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'sstuser'@'localhost';
FLUSH PRIVILEGES;
5. nano /etc/mysql/percona-xtradb-cluster.conf.d/wsrep.cnf
Buka semua configurasi wsrep #
systemctl stop mysql
/etc/init.d/mysql bootstrap-pxc
login ke mysql, jalankan : show status like 'wsrep%';
// wsrep_cluster_size | 1
6. Buka tanda # di /etc/mysql/percona-xtradb-cluster.conf.d/wsrep.cnf
Jalankan service mysql di 10.10.1.21 dan 10.10.1.22
systemctl start mysql
0 Komentar