Selamat Datang di blog saya
Pada kesempatan kali ini kita akan membahas tentang konfigurasi MySQL Database Replication. Apa itu Database Replication ? Database Replication adalah sebuah motode yang dipakai untuk menyalin dan mendistribusikan data dari sebuah database ke database yang lainnya.
Berikut topologinya :
Disini saya menggunakan topologi seperti di atas.
Server Controller
IP Address : 192.168.43.111
Netmask : 255.255.255.0
DNS : 192.168.43.111
Server Node 1
IP Address : 192.168.43.112
Netmask : 255.255.255.0
DNS : 192.168.43.111
PC
IP Address : 192.168.43.113
Netmask : 255.255.255.0
DNS : 192.168.43.111
Sebelum mulai pastikan antara Server Master dan Slave memiliki server-uuid yang berbeda.
Langsung ke konfigurasinya...
Server Controller ( Master )
1. Pertama - tama edit file " rh-mysql57-mysql-server.cnf ".
2. Cari baris " [server] " lalu tambahkan syntax seperti dibawah ini,
Note :
- log-bin=mysql-bin : Ini adalah binary logging sql yaitu mysql.bin
- server-id=101 : Ini hanya penamaan saja untuk si Server.
3. Restart Service mysql nya agar konfigurasi yang tadi bisa berjalan.
4. Masuk ke mysql nya
5. Lalu matikan mode Slave pada Master.
6. Setelah itu buat user replication berserta passwordnya. Dan passwordnya itu harus unik dengan kombinasi huruf, angka dan simbol.
7. Sekarang jalankan perintah " flush privileges ", ini perintah untuk reload.
Server Node 1 ( Slave )
1. Pindah ke Server Slave, lalu edit file " rh-mysql57-mysql-server.cnf ".
2. Cari baris " [server] " lalu tambahkan syntax seperti di bawah.
Note :
- log-bin=mysql-bin : Ini adalah binary logging sql yaitu mysql.bin
- server-id=101 : Ini hanya penamaan saja untuk si Server.
- read_only=1 : Karena di atur menjadi 1, berarti tidak ada pembaruan yang di izinkan kecuali dari pengguna super user,
- report-host=node1.adhi.net : Merupakan hostname dari server slave itu sendiri.
3. Sekarang restart service mysql nya agar konfigurasi yang baru berjalan.
Server Master
1. Pindah lagi ke posisi Server Master, lalu masuk ke mysql nya
2. Lakukan flush terhadap semua tables yang terbuka. Table baru hanya diperbolehkan dibuka dengan read lock sampai perintah unlock tables; di jalankan.
3. Sekarang lihat status binary log files pada master. Nantinya informasi ini digunakan saat sinkronisasi Master dengan Slave.
4. Jalankan perintah " mysqldump ", mysqldump ini ialah bagian dari paket database mysql yang memungkinkan anda untuk membackup database ke database yang lainnya.
5. Cek apakah file dumpnya sudah ada atau belum.
6. Masuk ke mysql lagi, lalu jalankan perintah unlock tables;
7. Sekarang copy file mysql_dump.sql yang sebelumnya sudah dibuat ke host server slave menggunakan perintah scp.
Server Slave
1, Pindah lagi ke Server Slave, sekarang masukan mysql_dump.sql yang telah tercopy ke dalam Server Slave. Hal ini dilakukan untuk sinkronisasi Server Slave dan Master.
2. Masuk ke mysql
3. Sekarang lakukan join pada Server Slave ke Server Master.
Note :
- master_host = Alamat dari server master.
- master_user = User replica yang ada pada server master
- master_password = Password dari user replica tersebut
- master_log_file dan master_log_pos = Ialah status binary log files beserta lokasinya pada Server Master.
4. Jika sudah, jalankan mode slavenya.
5. Sekarang cek statusnya, apakah sudah tersinkronisasi atau belum.
6. Pastikan " Slave_IO_Running dan Slave_SQL_Running " statusnya yes.
7. Pindah ke posisi client, buka browser pada client lalu buka domain Server Master dengan di ikuti /phpmyadmin . Setelah itu login dengan user yang ada.
8. Sekarang coba buat database bebas terserah kalian.
9. Pastikan database yang dibuat sudah muncul.
10. Sekarang buka domain pada Server Slave dengan di ikuti /phpmyadmin, lalu login dengan user yang ada.
11. Terlihat bahwa kedua Server Master dan Slave sudah tersinkronisasi.
Sekian dari saya
Mohon Maaf apabila ada kesalahan
Terima Kasih
0 komentar: