You are on page 1of 8

Konfigurasi Percona XtraDB Cluster di Ubuntu 18.

04

Konfigurasi ini menggunakan 2 node Percona XtraDB cluster ubuntu 18.04


menggunakan paket dari repository percona

 Node 1
o Host name: Xtracluster1
o IP address: 167.205.1.100
 Node 2
o Host name: Xtracluster2
o IP address: 167.205.1.102

A. Konfigurasi Percona XtraDB Cluster


Allow firewall pada OS untuk port 3306,4444,4567,4568 pada kedua server

~]# Sudo ufw allow port/protocol

Hapus paket Apparmor pada ke 2 server yang akan dilakuan instalasi percona

~]# apt-get remove apparmor

Perbaharui repository untuk menginstall Percona pada kedua server lalu install percona

~]# wget https://repo.percona.com/apt/percona-release_latest.generic_all


.deb
~]# dpkg -i dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
~]# apt-get update
~]# apt-get install percona-xtradb-cluster-57
~]# service mysql stop
B. Konfigurasi cluster 1
1. konfigurasi file /etc/mysql/my.cnf untuk node ( Xtracluster1)

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library


wsrep_provider=/usr/lib/libgalera_smm.so

# Cluster connection URL contains the IPs of node#1, node#2 and node#3
wsrep_cluster_address=gcomm://167.205.1.100,167.205.1.102

# In order for Galera to work correctly binlog format should be ROW


binlog_format=ROW

# MyISAM storage engine has only experimental support


default_storage_engine=InnoDB

# This InnoDB autoincrement locking mode is a requirement for Galera


innodb_autoinc_lock_mode=2

# Node #1 address
wsrep_node_address=167.205.1.100

# SST method
wsrep_sst_method=xtrabackup-v2

# Cluster name
wsrep_cluster_name=my_ubuntu_cluster

# Authentication for SST method


wsrep_sst_auth="sstuser:s3cretPass"
2. Start node pertama untuk melakukan bootsrap cluster

[root@xtradbcluster1 ~]# /etc/init.d/mysql bootstrap-pxc

3. cek status node pertama dengan command berikut

mysql> show status like 'wsrep%';


+----------------------------+--------------------------------------+
| Variable_name | Value |
+----------------------------+--------------------------------------+
| wsrep_local_state_uuid | b598af3e-ace3-11e2-0800-3e90eb9cd5d3 |
...
| wsrep_local_state | 4 |
| wsrep_local_state_comment | Synced |
...
| wsrep_cluster_size | 1 |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
...
| wsrep_ready | ON |
+----------------------------+--------------------------------------+
40 rows in set (0.01 sec)

4. tambahkan userbaru untuk melakukan sst transfer antar server

mysql> CREATE USER 'sstuser'@'localhost' IDENTIFIED BY 's3cretPass';


mysql> GRANT PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@
'localhost';
mysql> FLUSH PRIVILEGES;
C. Konfigurasi cluster 2
1. Konfigurasi /etc/mysql/my.cnf di node kedua ( Xtradbcluster2 )

[mysqld]

datadir=/var/lib/mysql
user=mysql

# Path to Galera library


wsrep_provider=/usr/lib/libgalera_smm.so

# Cluster connection URL contains IPs of node#1, node#2 and node#3


wsrep_cluster_address=gcomm://167.205.1.100.167.205.1.102

# In order for Galera to work correctly binlog format should be ROW


binlog_format=ROW

# MyISAM storage engine has only experimental support


default_storage_engine=InnoDB

# This InnoDB autoincrement locking mode is a requirement for Galera


innodb_autoinc_lock_mode=2

# Node #2 address
wsrep_node_address=167.205.1.102

# Cluster name
wsrep_cluster_name=my_ubuntu_cluster

# SST method
wsrep_sst_method=xtrabackup-v2

#Authentication for SST method


wsrep_sst_auth="sstuser:s3cretPass"
2. Start node ke2 dengan command berikut

[root@xtradbcluster2 ~]# /etc/init.d/mysql start

3. cek status node ke 2

mysql> show status like 'wsrep%';


+----------------------------+--------------------------------------+
| Variable_name | Value |
+----------------------------+--------------------------------------+
| wsrep_local_state_uuid | b598af3e-ace3-11e2-0800-3e90eb9cd5d3 |
...
| wsrep_local_state | 4 |
| wsrep_local_state_comment | Synced |
...
| wsrep_cluster_size | 2 |
| wsrep_cluster_status | Primary |
| wsrep_connected | ON |
...
| wsrep_ready | ON |
+----------------------------+--------------------------------------+
40 rows in set (0.01 sec)
D. Pengujian Replikasi
1. Buat database baru di node-2

mysql > CREATE DATABASE percona;


Query OK, 1 row affected (0.01 sec)

2. Buat tabel baru di di node-1

mysql > USE percona;


Database changed

mysql > CREATE TABLE example (node_id INT PRIMARY KEY, node_name VARCHAR(30));
Query OK, 0 rows affected (0.05 sec)

3. Masukan record

mysql > INSERT INTO percona.example VALUES (1, 'percona1');


Query OK, 1 row affected (0.02 sec)

4. Cek tabel yang telah dibuat di kedua node

mysql > SELECT * FROM percona.example;


+---------+-----------+
| node_id | node_name |
+---------+-----------+
| 1 | percona1 |
+---------+-----------+
1 row in set (0.00 sec)
E. Mysql backup menggunakan Percona Xtrabackup
1. Update repository lalu install Percona XtraBackup

sudo apt-get update


sudo apt-get install percona-xtrabackup-24

2. Melakukan backup dengan commanad ( --no-timestamp )

innobackupex --user=bekupuser --password=mypassword --no-timestamp /data/b


ackups/my_backup

3. Melakukan backup

innobackupex --user=bekupuser --password=mypassword /data/backups/

4. ketika data telah di backup data belum siap untuk di restore, berikut command untuk
mempersiapkan data agar bisa di restore

innobackupex --apply-log /data/backups/my_backup


5. Stop mysql lalu buat folder untuk backup data mysql sebelumnya

systemctl stop mysql


mkdir ~/mysql_old/
mv /var/lib/mysql/* ~/mysql_old/

6. Restore file backup /data/backups/my_backup mysql menggunakan innobackupex

innobackupex --copy-back /data/backups/my_backup

7. Ubah kepemilikan direktori Mysql lalu mulai service mysql

chown -R mysql:mysql /var/lib/mysql


systemctl start mysql

You might also like