Laporan Praktikum Replikasi

Embed Size (px)

DESCRIPTION

Pengetahuan tentang replikasi untuk basis data terdistribusi

Citation preview

  • 5/26/2018 Laporan Praktikum Replikasi

    1/14

    Replikasi Bagian II Database Master-Slave

    Mata Kuliah Basis Data Terdistribusi

    Oleh :

    Moh. Tri Hidayat (112410101006)

    Qilbaaini Effendi M (112410101066)

    PROGRAM STUDI SISTEM INFORMASI

    UNIVERSITAS JEMBER

    2014

  • 5/26/2018 Laporan Praktikum Replikasi

    2/14

    Konsep Dasar Model Replikasi Daisy Chain

    Model replikasi daisy chain merupakan suatu model replikasi dimana suatu

    server dapat menjadi slave server sekaligus master server bagi slave lainnya.

    Model replikasi daisy chain biasanya digunakan ketika dalam beberapa kasus,

    dimana terdapat banyak mesin harus mereplikasi satu server yang sama. Hal ini dapat

    menyebabkan beban yang sangat besar bagi master. Atau bila replikasi dilakukan antaraslave dan master yang terpisah sangat jauh jaraknya. Model daisy chain dapat

    menawarkan kecepatan replikasi yang lebih baik dari model replikasi lain.

  • 5/26/2018 Laporan Praktikum Replikasi

    3/14

    Praktik ReplikasiPraktik proses replikasi database ini dilakukan 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 4 komputer

    yang terkoneksi / terhubung dan 4 komputer tersebut sudah ter-install MySQL. Pada

    praktik kali ini digunakan virtual box sebagai pengganti komputer yang saling terhubung,

    pada virtual box telah diinstal Linux Mint sebagai sistem operasinya.

    Dalam proses replikasi database terdapat 4 server database yaitu Server A

    (192.168.100.2), Server B (192.168.100.3), Server C (192.168.100.4), dan Server D

    (192.168.100.5). Server A merupakan Master Server bagi Server B dan C, dan Server B

    merupakan Master Server bagi Server D.

    Konfigurasi IP pada Server A, Server B, Server C, dan Server D

    Dilakukan PING dari Master Slaver ke Server Slave ataupun sebaliknya untuk mengecek

    apakah komputer dan virtual box telah terkoneksi .

  • 5/26/2018 Laporan Praktikum Replikasi

    4/14

    Ping dari A ke B dan C Ping dari B ke A dan D

    Ping dari C ke A Ping dari D ke B

    Dalam Praktikum ini, pada masing-masing server telah dipasang database bernama

    dbase, yang berisi tabel T1 dan T2. Tabel T1 berisi kolom T1_A dan T1_B. tabel T2

    berisi kolom T2_A dan T2_B. Ditentukan bahwa Server C, hanya mereplikasi tabel T1

    dari Server A sedangkan Server B mereplikasi tabel T1 dan T2. Server D hanya

    mereplikasi tabel T2 dari Server B.

    Setting konfigurasi:

    Pada Komputer Master Server A:Pada komputer Master Server, pada file my.cnf, yang berada pada path

    \opt\lampp\etc\my.cnf. Kemudian dilakukan tambahan configurasi dibawah [mysqld]

    dengan :

    Lebih lengkapnya dapat dilihat dari gambar berikut:

    server-id = 2

    log-bin = mysql-bin

    innodb_flush_at_trx_commit = 1

    sync-binlog = 1

    binlog-do-db = dbase

  • 5/26/2018 Laporan Praktikum Replikasi

    5/14

    Pada gambar diatas, dbase adalah nama database yang akan dipergunakan untuk

    proses replikasi, database yang akan secara otomatis disimpan pada Slave Server.

    Setelah perubahan disimpan , mulai service lampp melalui terminal.

    Setelah XAMPP dimulai, masuk ke dalam sql console.

    Kemudian masuk pada konsol mysql dengan user root lalu buat user yang akan

    melakukan proses replikasi. Caranya dengan mengetikan perintah ini :

    Setelah user dibuat, gunakan perintah grant replication slaveuntuk memberikan hak

    akses pada user.

    Setelah itu, cek status Master dengan mengetikkan perintah berikut:

    Pada gambar, setelah perintah show master status dijalankan terdapat file log yang

    berisi perintah-perintah Master Server disimpan, posisi Master Server dan Database

    yang di replikasi.

  • 5/26/2018 Laporan Praktikum Replikasi

    6/14

    Pada Komputer Server B (Slave sekaligus Master Server bagi Server D):a. Sebagai Slave

    Cari file my.cnf pada Komputer Server B. Sama seperti pada komputer Master

    Server, file my.cnf kami berada pada path \opt\lampp\etc\my.cnf. Bila sudah

    buka dengan akses sebagai Super User lalu tambahkan dibawah [mysqld] beberapasettingan dibawah ini :

    Yang terpenting adalah samakan nama database replikasinya dengan settingan pada

    Master Server dan server-id harus berbeda valuenya dengan server-id pada

    settingan di Master Server. Khusus pada Server B yang juga bertindak sebagai

    Master bagi Server D, ditambahkan setting log-slave-updates = 1, yang berfungsi

    agar log file diupdate apabila terjadi perubahan pada Server A.

    Lengkapnya bisa dilihat disettingan kami pada gambar dibawah ini:

    o Jalankan mysql pada computer Slave Server melalui Terminal.

    server-id = 3

    log-bin = mysql-bininnodb_flush_log_at_trx_commit = 1

    sync-binlog = 1log-slave-updates = 1

    binlog-do-db = dbase

    replicate-do-db = dbase

  • 5/26/2018 Laporan Praktikum Replikasi

    7/14

    o Kemudian masuk pada konsol mysql pada Server slave, dengan akses sebagaiSuper User terlebih dahulu, kemudian mengetikkan perintah Slave Stop.

    Kemudian set master pada server slave dengan mengetikkan query seperti di

    bawah ini

    Master host, user , password sama dengan server master. Untuk master logfile dan

    logpos dilihat dari show master status pada perintah di server master.

    Kemudian Start Slave

    Lengkapnya bisa dilihat pada gambar berikut:

    Kemudian lihat status pada Slave Server apakah sudah terhubung atau belum

    dengan menggunakan perintah show slave status \G;, jika terhubung slave_IO

    dan slave_SQL akan mempunyai status YES dan data base kita akan terbaca

  • 5/26/2018 Laporan Praktikum Replikasi

    8/14

    b. Sebagai MasterGunakan perintah grant replication slave untuk memberi hak akses replikasi

    pada user. User yang digunakan pada Server B, sama dengan user yang digunakan

    pada Server A, yaitu master_BDT dengan password master_BDT.

    Setelah itu, cek status Master dengan mengetikkan perintah berikut:

    Pada gambar, setelah perintah show master status dijalankan terdapat file log

    yang berisi perintah-perintah Master Server disimpan, posisi Master Server dan

    Database yang di replikasi.

    Pada Komputer Server C (Slave dari Server A):Cari file my.cnfpada Komputer Server C. Sama seperti pada komputer Master Server,

    file my.cnf kami berada pada path \opt\lampp\etc\my.cnf. Bila sudah buka dengan

    akses sebagai Super User lalu tambahkan dibawah [mysqld] beberapa settingandibawah ini :

    Lengkapnya bisa dilihat disettingan kami pada gambar dibawah ini:

    server-id = 4

    log-bin = mysql-bin

    innodb_flush_log_at_trx_commit = 1sync-binlog = 1

    replicate-do-table = dbase.T1

  • 5/26/2018 Laporan Praktikum Replikasi

    9/14

    o Jalankan mysql pada computer Slave Server melalui Terminal.

    o Kemudian masuk pada konsol mysql pada Server slave, dengan akses sebagaiSuper User terlebih dahulu, kemudian mengetikkan perintah Slave Stop.

    Kemudian set master pada server slave dengan mengetikkan query seperti di

    bawah ini

    Master host, user , password sama dengan server master. Untuk master logfile dan

    logpos dilihat dari show master status pada perintah di server master.

    Kemudian Start Slave

  • 5/26/2018 Laporan Praktikum Replikasi

    10/14

    Lengkapnya bisa dilihat pada gambar berikut:

    Kemudian lihat status pada Slave Server apakah sudah terhubung atau belum

    dengan menggunakan perintah show slave status \G;, jika terhubung slave_IO

    dan slave_SQL akan mempunyai status YES dan data base kita akan terbaca

    Pada Komputer Server D (Slave dari Server B):Cari file my.cnfpada Komputer Server B. Sama seperti pada komputer Master Server,

    file my.cnf kami berada pada path \opt\lampp\etc\my.cnf. Bila sudah buka dengan

    akses sebagai Super User lalu tambahkan dibawah [mysqld] beberapa settingan

    dibawah ini :

  • 5/26/2018 Laporan Praktikum Replikasi

    11/14

    Lengkapnya bisa dilihat disettingan kami pada gambar dibawah ini:

    o Jalankan mysql pada computer Slave Server melalui Terminal.

    o Kemudian masuk pada konsol mysql pada Server slave, dengan akses sebagaiSuper User terlebih dahulu, kemudian mengetikkan perintah Slave Stop.

    Kemudian set master pada server slave dengan mengetikkan query seperti di

    bawah ini

    Master host, user , password sama dengan server master. Untuk master logfile dan

    logpos dilihat dari show master status pada perintah di server master.

    Kemudian Start Slave

    server-id = 5log-bin = mysql-bin

    innodb_flush_log_at_trx_commit = 1sync-binlog = 1

    replicate-do-table = dbase.T2

  • 5/26/2018 Laporan Praktikum Replikasi

    12/14

    Lengkapnya bisa dilihat pada gambar berikut:

    Kemudian lihat status pada Slave Server apakah sudah terhubung atau belum

    dengan menggunakan perintah show slave status \G;, jika terhubung slave_IO

    dan slave_SQL akan mempunyai status YES dan data base kita akan terbaca

  • 5/26/2018 Laporan Praktikum Replikasi

    13/14

    Perubahan data pada Master- SlaveUntuk menguji apakah replikasi telah berjalan seperti yang diharapkan, dilakukan

    pengujian dengan insert data baru pada T1 dan T2 di Server A.

    Hasil Select dari T1 dan T2 dari Server A setelah dilakukan Insert.

    Kemudian cek database dari Server B, C, D dengan perintah Select.

    - Server B

    Hasil Select dari T1 dan T2 dari Server B

    Dari gambar diatas, dapat diketahui bahwa Server B melakukan replikasi penuh

    terhadap Server A. hal itu dapat dilihat dari hasil query select T1 dan T2 pada

    Server A dan B sama persis.

    - Server C

    Hasil Select dari T1 dan T2 dari Server C

  • 5/26/2018 Laporan Praktikum Replikasi

    14/14

    Dari gambar diatas, terlihat bahwa T1 mengalami perubahan, sedangkan T2 tidak

    mengalami perubahan sama sekali. Hal ini dikarenakan, Server C dikhususkan

    untuk mereplikasi tabel T1 yang ada pada Server A, sehingga semua perubahan

    yang terjadi pada tabel T2 di Server A tidak akan berpengaruh.

    - Server D

    Hasil Select dari T1 dan T2 dari Server D

    Dari gambar diatas, terlihat bahwa T2 mengalami perubahan, sedangkan T1 tidak

    mengalami perubahan sama sekali. Hal ini dikarenakan, Server C dikhususkan

    untuk mereplikasi tabel T2 yang ada pada Server B, sehingga semua perubahan

    yang terjadi pada tabel T1 di Server B tidak akan berpengaruh.