Cara menggunakan MySQL Replication di Linux Ubuntu

Kali ini kita akan coba melakukan replikasi untuk MySQL. MySQL yang saya gunakan adalah versi 5.0.15a untuk masing-masing server dan slave. Replikasi adalah suatu proses backup yang di lakukan oleh MySQL. Dengan replikasi, data yang telah di input di server A (sebagai master) akan tercopy di server B(sebagai slave). Mekanismenya adalah baik master maupun slave harus memiliki server MySQL dengan versi yang sama atau berbeda asalkan yang berfungsi sebagai slave harus >= server. Anggap server A akan sebagai master dan server B akan sebagai slave.


Berikut adalah langkah-langkahnya:

Kita anggap komputer yang sebagai master ber-IP (192.168.1.20) dan yang sebagai slave ber-IP(192.168.1.21). Saya menggunakan Linux Ubuntu. Ok… lanjut…..

1. Konfigurasi Master.

Edit file my.cnf pada folder mysql anda, biasanya klo di linux ada di /etc/mysql. Edit dengan isi kurang lebih seperti di bawah ini.
#skip-networking
#bind-address = 127.0.0.1
log-bin = /var/log/mysql/mysql-bin.log #letakkan sesuai keinginan anda
binlog-do-db = dbtest #nama database yang akan digunakan
server-id = 1
setelah itu kita restart MySQL Server dengan perintah :
/etc/init.d/mysql restart
setelah itu kita log on ke mysql server dengan perintah :
mysql -uroot -ppasswordku
dan kita membuat user dengan hak untuk melakukan replikasi.
GRANT REPLICATION SLAVE ON *.* TO ‘slave_user’@'%’ IDENTIFIED BY ‘<passwordku>’;
//Ganti <passwordku> dengan password asli anda.
FLUSH PRIVILEGES;
Lalu,
USE dbcontoh;
FLUSH TABLES READ LOCK;
SHOW MASTER STATUS;
Catat hasil yang dikeluarkan oleh MySQL, karena data itu akan kita gunakan pada saat kita setting slave.
+---------------+----------+--------------+------------------+
| File          | Position | Binlog_do_db | Binlog_ignore_db |
+---------------+----------+--------------+------------------+
| mysql-bin.006 | 183      | exampledb    |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
setelah itu kita keluar dari MySQL dengan mengetik :
quit;
Ada 2(dua) cara untuk mendapatkan data dari dbcontoh yang berasal dari master ke slave, yang pertama adalah membuat database dump dan yang kedua menggunakan LOAD DATA FROM MASTER; command. Cara yang kedua harus di lakukan penguncian selama operasi berlangsung, jadi jika anda bekerjan dengan data yang besar cara ini bukanlah cara yang baik, saya menganjurkan cara yang pertama (karena saya pun menggunakan cara pertama :D ). Tapi tetap akan saya jelaskan keduanya.
untuk cara pertama, lakukan hal di bawah ini :
mysqdump -uroot -ppasswordku dbcontoh > /path_direktori_anda/dbcontoh.sql
hal ini akan menghasilkan dbcontoh dump. Salin file tersebut ke dalam server slave.
Selanjutnya kita harus unlock tables kembali.
mysql -uroot -ppasswordku
unlock tables;
quit.
langkah pertama untuk seting server primary telah selesai, selanjutnya kita akan melangkah untuk seting slave server.

Terima Kasih.

0 comments:

Post a Comment

Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]
close
iklan 120 x 600 kanan
close