News Photo

Replikasi Multi Source MySQL


topologi

10.10.10.225 ------> 10.10.10.226
10.10.10.225 merupakan database master
10.10.10.226 merupakan database slave

A. Database Master (10.10.10.225)

1. edit config di master database source 1 (/etc/my.cnf)
[mysqld]
bind-address     =0.0.0.0
log-bin     =mysql-bin
binlog_do_db     =databasename
server-id     =111

2. setelah itu restart mysqld
# service mysqld restart

3. Login ke mysql root di database master dan buat user untuk replikasi

mysql> create user 'repuser'@'10.10.10.226' identified by 'yourpassword';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repuser'@'10.10.10.226';
mysql> FLUSH PRIVILEGES;

4. Lock database di master (sebelum dibackup)
catatan : sebelum melakukan database backup menggunakan mysqldump, sebaiknya aplikasi dimatikan terlebih dahulu dan table dalam database harus dilock supaya tidak ada pergerakan data

mysql> USE databasename;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;

5. Dump Database melalui konsole
# mysqldump -u root -p databasename > /root/databasename10062019.sql

mysqldump -u pkt -p databasename > /root/databasename10062019.sql
##dbpkt2019##
6. Setelah dump selesai lakukan unlock tables
mysql> USE databasename;
mysql> UNLOCK TABLES;
mysql> QUIT;


B. Database slave (replication)


1. edit config di slave database source 1 (/etc/my.cnf)
[mysqld]
master_info_repository=table
relay_log_info_repository=table
log-bin     =/var/lib/mysql/mysql-bin.log
binlog_do_db     =databasename
server-id     =222

2. Login ke mysql dengan akses root dan buat database

mysql> create database databasename;
   
3. Login ke mysql dengan akses root dan restore database

mysql> use databasename;
mysql> source /root/databasename10062019.sql;

4. Konfigurasi replication    
mysql> CHANGE MASTER TO MASTER_HOST='10.10.10.225' , MASTER_USER='repuser' , MASTER_PASSWORD='replpkt123', MASTER_LOG_FILE='binlog.000001' , MASTER_LOG_POS=154 for channel 'replikasi database pkt production';

catatan
MASTER_HOST adalah ip master database
MASTER_USER adalah user replikasi yang dibuat di database master
MASTER_PASSWORD adalah password replikasi yang dibuat di database master
MASTER_LOG_FILE adalah log bin dari database master (dapat dilihat pada server database master dengan melakukan perintah di konsol mysql "show master status")
MASTER_LOG_POS adalah posisi dari log bin master_log_file (dapat dilihat pada server database master dengan melakukan perintah di konsol mysql "show master status")
channel adalah penamaan untuk sumber replikasi (apabila banyak sumber database yang direplikasi)

Maksimum channel capacity adalah 256

Share This News