Jun 2, 2017

LAB 9.6 Replication Database MariaDB CentOS 7

Pengertian

Database Replication adalah suatu metode yang digunakan untuk menyalin dan mendistribusikan data dari satu database ke database yang lain. Selanjutnya, mensinkronisasikan antar database, sehingga konsistensi data dapat terjamin. Database Replication dapat digunakan pada banyak sistem manajemen Daatabase, yang dimana proses ini terbentuk dari hasil sikronisasi antara master dengan slave, atau antara yang asli dan salinannya, yang tentunya memerlukan beberapa konfigurasi tambahan agar Replication ini dapat bekerja.

Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet.
Tujuan pembuatan database raplication ini adalah membuat pengganti apabila server utama mati. Selain itu juga sebagai backup dari database guna mengantisipasi hal-hal yang tidak diinginkan terjadi pada database.

Persiapan

Persiapan yang diperlukan masih sama yaitu Sistem Operasi CentOS 7 sebagai server dan Sistem Operasi Windows sebagai client. Disini saya telah mengkonfigurasi web server Apache sebelumnya. Pastikan server terhubung ke internet.

Topologi


  • IP Address Server Master (Controller) = 192.168.43.100/24
  • IP Address Server Slave (Node 1) = 192.168.43./24
  • IP Address Client = 192.168.43.101/24


Konfigurasi Server Master ( Controller )

1.  Langkah pertama adalah edit file mariadb-server.cnf yang merupakan file konfigurasi maria-db. Masukkan perintah berikut.


2.  Temukan bagian [mysqld] dan tambahkan script seperti yang sudah saya tandai pada gambar berikut.

Keterangan :
  • log-bin=mysql-bin merupakan binary logging sql, yaitu mysql.bin.
  • server-id=1 merupakan penamaan untukserver, ini tidak bisa menggunakan kata-kata atau kalimat, hanya berlaku untuk angka.


3.  Restart service Apache agar konfigurasi yang dilakukan dapat running.


4.  Selanjutnya masuk ke shell mariadb dengan perintah berikut.


5.  Lalu matikan mode slave pada master.


6.  Setelah itu buat user replication beserta passwordnya.


7.  Kemudian jalankan perintah flush privileges yang tujuannya sama dengan reload, disini reload meminta server untuk membaca ulang tabel hak akses.


8.  Keluar dari mariadb dengan perintah exit.


9.  Berikutnya masukkan service mariadb kedalam firewall lalu reload firewall.


Konfigurasi Server Slave ( Replica / Node 1 )

1.  Pada server node 1, edit file mariadb-server.cnf yang merupakan file konfigurasi mariadb. Buka file dengan perintah nano.


2.  Temukan bagian [mysqld] dan tambahkan script yang etlah saya tandai berikut ini.

Keterangan :
  • log-bin=mysql-bin merupakan binary logging mysql, yaitu mysql.bin.
  • server-id=1 merupakan penamaan untuk server, ini tidak bisa menggunakan kata-kata atau kalimat, hanya berlaku untuk angka. Dan pastikan ID yang Anda buat berbeda antar server master dengan server slave ini.
  • read_only=1, karena diatur menjadi 1, ini berarti tidak ada pembaruan yang diizinkan kecuali dari pengguna dengan hak superuser atau server slave yang diperbarui dari master. Variabel read_only berguna bagi server slave untuk memastikan tidak ada pembaruan yang sengaja dilakukan di luar apa yang dilakukan pada master.
  • report-host=node1.dimas.name merupakan host dari server slave itu sendiri, Anda dapat mengaturnya menjadi nama domain, hostname, atau IP Address dari server slave.


3.  Restart service mariadb agar konfigurasi yang telah dilakukan dapat running.


4.  Setelah itu masukkan service mariadb kedalam firewall lalu reload firewall.


Konfigurasi Server Master ( Controller )

1.  Masuk kembali kedalam shell mariadb dengan perintah berikut.


2.  Kemudian lakukan flush terhadap semua table yang terbuka. Tabel baru hanya diperbolehkan dibuka dengan read lock sampai perintah unlock tables; dijalankan.


3. Setelah itu lihat informasi status tentang binary log files pada server master, dimana informasi ini akan digunakan dan dicocokan pada server slave nantinya.


4.  Lalu lakukan perintah mysqldump, Mysqldump ini adalah bagian dari paket database relasional mysql yang memungkinkan Anda untuk "dump" database, atau kumpulan database, untuk backup atau transfer ke server SQL lain.

Keterangan :
  • --all-databases = digunakan untuk Dump semua tabel di semua database yang ada.
  • --lock-all-tables = digunakan untuk mengunci semua tabel pada semua database.
  • --events = digunakan untuk Dump events terhadap database yang di dump.
  • mysql_dump.sql = merupakan  file yang terbuat dari proses mysqldump.


5.  Kembali ke shell mariadb.


6.  Kemudian jalankan perintah unlock tables yang bertujuan untuk melepas global (keseluruhan) read lock yang diperoleh dari perintah flush tables with read lock tadi.


7.  Masukkan perintah exit untuk keluar dari shell.


8.  Setelah itu copy file mysql_dump.sql tadi ke host server master dengan perintah scp. Scp merupakan secure copy, dimana proses ini hampir sama dengan ssh yaitu melalui enkripsi. Disini saya mengcopy file tersebut ke direktori /tmp.


Konfigurasi Server Slave ( Replica / Node 1 )

1.  Setelah file mysql_dump.sql tadi telah dicopy, masukkan file tersebut kedalam sql server slave. Ini dilakukan agar pada kedua server memiliki file dump yang sama sehingga sinkron.


2.  Setelah itu masuk ke shell mariadb.


3.  Kemudian lakukan join pada server slave ke server master dengan perintah berikut.

Keterangan :
  • change master to = merupakan opsi untuk mengatur parameter yang digunakan oleh server slave untuk terhubung dan berkomunikasi dengan server master selama replikasi.
  • master_host = merupakan alamat host dari server master.
  • master_user = merupakan user replica pada server master.
  • master_password = merupakan password dari user replica tersebut.
  • master_log_file dan master_log_pos = merupakan status binary log files beserta lokasinya pada server master. Ini harus sama dengan status master yang ada pada server master.


4.  Selanjutnya jalankan kembali mode slave dengan perintah start.


5.  Untuk pengecekan, lihat status antara server master dengan server slave. Jika sudah sinkron maka status pada bagian Slave_IQ_Running dan Slave_SQL_Running adalah yes.


Verifikasi

1.  Untuk verifikasi, akses server master melalui phpmyadmin kemudian buat database.


2.  Pastikan database berhasil dibuat.


3.  Setelah itu akses server slave kemudian lihat daftar database, pastikan database yang dibuat pada server master terdapat juga pada server slave tersebut.


Selesai.
Sekian untuk konfigurasi Replication Database MariaDB, bila ada kekurangan saya minta maaf. Selamat mencoba dan semoga bermanfaat.


0 komentar:

Post a Comment