Replikasi Master - Slave (One Way) di Mysql

Replikasi Master - Slave (One Way) ini merupakan replikasi yang terjadi hanya satu arah saja, misal hanya dari DB Server A ke DB Server B, atau bisa digambarkan antara Main DB Server dan Backup DB Server yang data pada Main DB Server dicadangkan atau direplikasi ke Backup DB Server.



Requirements :

  1. Siapkan minimal 2 buah pc yang dijadikan sebagai server database, disini saya gunakan 2 virtual dengan sistem operasi ubuntu server 14.04 dan mysql versi 5.5.
  2. Pastikan pada waktu penginstalan anda sudah menginstall LAMP Server di setiap pc. Jika tidak anda dapat menginstalnya dengan cara $apt-get install mysql-server.
  3. Update dan upgrade sistem dengan cara $ apt-get update kemudian $ apt-get upgrade agar versi mysql yang anda gunakan adalah yang paling terbaru (ini hanya opsional saja).


MASTER Configuration : 


  1. Setelah itu kita konfigurasi my.cnf pada /etc/mysql untuk MASTER$ cd /etc/mysql
    Jangan lupa di backup dulu file my.cnf agar sewaktu - waktu dapat dikembalikan jika terjadi kesalahan konfigurasi.

    $ cp my.cnf my.cnf.backup

    kemudian barulah kita konfigurasi.
    $ nano my.cnf

    Carilah server-id dan log_bin pada file, ubah nilai server-id = 1 dan hapus tanda pagar (comment) didepannya untuk keduanya.Ubah juga bind-address dengan IP milik MASTER.

    Kemudian simpan dan restart mysql.

  2. Setelah itu masuk pada mysql dengan cara $mysql -u root p pertama kita buat database untuk direplikasikan.
    mysql> create database dbtest;
    kemudian kita buat tabel didalamnya.
    mysql> create table dbtest.nama (name varchar(10));
    kemudian kita isi tabelnya, misal:
    mysql> insert into dbtest.nama values (‘Saya’);
    setelah itu kita buat user yang sigunakan untuk replikasi
    mysql> create user ‘test’@’%’ identified by ‘testpassword’;

    kemudian kita aktifkan replikasi pada user tadi
    mysql> grant replication slave on *.* to ‘test’@’%’;
  3. selanjutnya kita lihat status dari master dengan cara
    mysql> show master status;
  4. grep CHANGE *sql | head -1
    Contoh hasil perintah diatas = ” CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=1170; ”

SLAVE Configuration :


  1. Setelah itu kita konfigurasi my.cnf pada /etc/mysql untuk SLAVE 
    $cd /etc/mysql

    Jangan lupa di backup dulu file my.cnf agar sewaktu - waktu dapat dikembalikan jika terjadi kesalahan konfigurasi.
    $ cp my.cnf my.cnf.backup
    kemudian barulah kita konfigurasi
    $ nano my.cnf
    Carilah server-id pada file, ubah nilai server-id = 2 dan hapus tanda pagar (comment) didepannya. Ubah juga bind-address dengan IP milik SLAVE.
    Kemudian simpan dan restart mysql.
  2. Setelah itu masuk pada mysql dengan cara 
    $mysql -u root -p
    buat database yang sama dengan MASTER
    mysql> create database dbtest;
    pilih database tsb.
    mysql> use dbtest;
    kemudian daftarkan pc SLAVE sebagai SLAVE
    mysql> change master to master_host = 'IP MASTER',-> master_user = 'test',
    -> master_password = 'testpassword';

    kemudian start SLAVE
    mysql> start slave;
    lihat status dari SLAVE
    mysql> show slave status\G;

    Pastikan Slave_IO_Running dan Slave_SQL_Running dalam keadaan aktif/yes.
  3. Cobalah masukkan sebuah data pada MASTER atau buat sebuah tabel dan cek apakah sudah tereplikasi pada SLAVE.

0 comments:

Posting Komentar