Sabtu, 05 Mei 2012

Cara Replikasi Database Di MySQL

Definisi :
Replication Database adalah suatu fitur teknologi pada dunia pemrograman database yang memungkinkan suatu database untuk mereplikasi atau mengopy datanya ke database lain secara otomatis. Secara sederhana replikasi database adalah proses automatik perintah dari database satu ke database lain yang tentunya terhubung dalam jaringan.
Kegunaan :
Kegunaan dari proses replikasi ini adalah bila suatu database satu mengalami kerusakan maka secara otomatis semua data yang telah disimpan pada database satu dapat dilihat kembali di database lain. Kalau pada pembahasan diatas yaitu Proses Backup dan Restore agak kurang praktis, maka konsep inilah solusi keefektifan dalam menjawab kekurangpraktisan kedua proses diatas. Konsep ini merupakan konsep teknologi yang unik, karena secara otomatis segala perintah yang ada pada database satu akan tersimpan pada database lain sehingga bila kehilangan data pada database satu, database masih tersimpan rapih di database lain.
Praktik Proses Replikasi :
Praktik proses replikasi database ini saya lakukan dengan database MySQL. Pada MySQL sendiri sudah mendukung konsep teknologi Replikasi namun tidak secara default langsung terseting untuk melakukan proses replikasi. Kita mesti menyeting terlebih dahulu agar bisa melakukan proses ini.
Satu hal yang penting saat penyetingan proses Replikasi adalah sudah ada 2 komputer yang terkoneksi / terhubung dan 2 komputer tersebut sudah ter-install MySQL sebagai proses kegiatan database.
Dalam proses replikasi database dikenal 2 server database atau 2 MySQL pada komputer yaitu sebagai Master server dan Slave server. Master server adalah server yang biasa dipergunakan untuk melakukan kegiatan managing database. Sedangkan Slave Server adalah database yang bertindak sebagai pencatat sekaligus pereplikasi / pengopian data setiap melakukan kegiatan managing database pada Master Server. Slave Server memiliki alamat IP 192.168.1.1 sedangkan alamat Master Server memiliki alamat IP 192.168.1.2
Sebelum itu pula kita mesti membuat user pada Server Slave yang dapat diakses oleh siapapun dalam jaringan manapun. Disini kami membuat user dengan nama tamu dan password tamu serta user tamu ini memiliki akses GRANT ALL pada semua database.

[ gambar 1 ]
Bila sudah, mari kita mulai menyeting konfigurasinya :
Pada Komputer Master Server :
Pada komputer Master Server cari file my.ini, biasanya selalu ada pada installan MySQL kita. Kalau pada komputer kami berada pada path C:\Program Files\MySQL\MySQL Server
5.1\my.ini
. Bila sudah ditemukan, coba buka dengan notepad, lalu lihat konfigurasinya.
Lalu ketikan dibawah [mysqld] dengan :
log
log-bin=mysql-log.bin
binlog-do-db=nama_database_replication
server-id=1
Lengkapnya bisa dilihat gambar dibawah ini :

[ gambar2 ]
Pada gambar diatas, dataku adalah nama database yang akan dipergunakan untuk proses replikasi, database yang akan secara otomatis disimpan pada Slave Server. Bila sudah, simpan perubahan tersebut, lalu restart service mysql dengan cara mematikan dan menghidupkan lagi servicenya.

[ gambar3 ]
Bila sudah, masuk ke konsol mysql dengan user root lalu buat user yang akan melakukan proses replikasi. Caranya dengan mengetikan perintah ini :
mysql> grant replication slave on *.* to ‘tamu’@’192.168.1.1’ identified by ‘tamu’;
Bila sudah refresh perubahan user baru dengan perintah :
mysql> flush privileges
Bila sudah merefress, coba lihat status Master dengan cara mengetikan perintah ini :

[ gambar4 ]
Pada gambar, terdapat file log yang berisi perintah-perintah Master Server disimpan, posisi Master Server dan Database yang di replikasi. Sampai sini, sekarang kita setting di Slave Server.

Pada Komputer Slave Server :
Cari file my.ini pada Komputer Slave Server. Sama seperti pada komputer Master Server, file my.ini saya berada pada path C:\Program Files\MySQL\MySQL Server 5.1\my.ini. Bila sudah buka dengan notepad lalu tambahkan dibawah [mysqld] beberapa setingan dibawah ini :
server-id=2
master-host=IP-MASTER SERVER
master-user=user_slave
master-password=passwd_slave
master-connect=60
replicate-do-db=nama_database_replication
Yang terpenting adalah samakan nama database replikasinya dengan setingan pada Master Server dan server-id mesti berbeda valuenya dengan server-id pada setingan di Master Server.
Sesuaikan juga user_slave_server dan passwordnya yang telah kita buat pada langkah diatas.
Lengkapnya bisa dilihat disetingan kami pada gambar dibawah ini:

[ gambar5 ]
Bila sudah simpan perubahan pada file my.ini, lalu lakukan restart service mysqlnya seperti pada gambar 2.

sumber : http://terusbelajar.wordpress.com/2010/03/04/cara-replikasi-database-di-mysql/

Tidak ada komentar:

Posting Komentar