Replikasi Database adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objekdatabase dari suatu database ke database lain yang lokasinya terpisah secara fisik.Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringn lokal maupin internet.
Latar Belakang
Aplikasi besar yang terpasang di Server bisanya memakan banyak RAM dan Storage atau Media Penyimpanan sehingga si server tersebut bisa mengalami gangguan atau down
Maksud dan Tujuan
Mengantisipasi atau meminimalisir kemungkinan gangguan atau down pada server
Alat dan Bahan
- 2 PC Server
Jangka Waktu Pelaksanaan
Sekitar 30 menit
Tahap Pelaksanaan
Konfigurasi di Master :
Pertama Pastikan 2 buah server sudah saling terhubung dan dapat berkomunikasi
Install terlebih dahulu mysQl server
# apt-get install mysql-serverKita konfigurasi di "/etc/mysql/my.cnf" , Untuk bind_address kita berikan tanda comment atau tanda "#" agar nantinya slave dapat berkomunikasi dengan master.
Dan pada section [mysqld] kita tambahkan seperti di bawah ini
# nano /etc/mysql/my.cnf
log-bin # Mengaktifkan Binry Logging
server-id # Memberikan ID Server
Setelah itu restart mysql agaar konfigurasi tadi dapat tersimpan
/etc/init.d/networking restartKemudian kita cek apakah Binary Logging sudah aktif atau belum
# mysqld --verbose --help | grep log-bin
# mysqld --verbose --help | grep server-id
Selanjutnya kita buat database dan akun khusus replikasi
# mysql -u root -p
Dan kita buat akun untuk menangani proses replikasi
> GRANT SUPER, RELOAD, REPLICATION SLAVE ON*.*TO 'username slave'@'%' IDENTIFIED BY 'password slave';
Untuk menyinkronkan database Master dan Slave kita harus membekukan database sementara
> flush tables with read lock;
Selanjutnya kita cek status posisi database master yang didalamnya terdapat file dan position yang natinya dibutuhkan saak konfigurasi MysQl Slave
> show master status;
Kemudian kita buat snapshot untuk database yang telah kita buat tadi
# tar cjvf snapshotmaster.tar.bz2 /var/lib/mysql/<nama database tadi>
Setelah itu kirimkan asrsip snapshot tadi ke Mysql Slave
# scp snapshotmaster.tar.bz2 <nama user slave>@<IP Address Slave>:/home/<nama user slave>
Konfigurasi Slave :
Install MysQl terlebih dahulu
# apt-get install mysql-serverKita konfigurasi di "/etc/mysql/my.cnf" dan berikan tanda comment atau "#" dan tambahkan konfigurasi server-id dan harus berbeda dengan MysQl Master didalam section [mysqld]
# nano /etc/mysql/my.cnf
Sekarang kita cek Server ID apakah sesuai dengan konfigurasi tadi atau belum
# mysqld --verbose --help | grep server-id
Dan kita simpan konfigurasi diatas
# /etc/init.d/mysql restartKemudian kita stop slave
> STOP SLAVE;Selanjutnya kita arahkan MysQl Slave ke MysQl Master dengan cara memasukan info master
> CHANGE MASTER TO MASTER_HOST='IP Address Master', MASTER_USER='username master', MASTER_PASSWORD='password master', MASTER_LOG_FILE='mysqld-bin.xxxxxxx', MASTER_LOG_POS=<posisi log master>;
Dan hidupkan kembali Slave mode
> START SLAVE;
> SHOW MASTER STATUS \G;
Dan kita unfreeze database master
> UNLOCK TABLES;
Sekarang coba kita buat database di Master maka di Slave harusnya ada data seperti yang anda buat
> CREATE DATABASE COBA;
> SHOW DATABASES;
Kesimpulan
Dengan menggunakan cara replikasi ini kita bisa meminimalisir terjadinya kerusakan pada server sehingga kita tidak perlu takut kehilangan data
Referensi
http://dinus.ac.id/repository/docs/ajar/c-12_Reff_Replikasi_BD.pdf
https://penguinstunnel.blogspot.co.id/2017/03/langkah-mengkonfigurasi-2-mariadb.html
0 comments