Assalamu'alaikum Warahmatullahi Wabarakatuh.
Bismillah, sekarang kita lanjut ke materi lab yang selanjutnya. masih mgenenai database replication, jika pada lab sebelumnya kita menggunakan postgresql, sekarang kita akan menggunakan mariadb. untuk mempersingkat waktu langsung saja masuk ke dalam tahapan-tahapan konfigurasinya.
Topologi :
Konfigurasi Master
1) Petama-tama, kita lakukan pengeditan pada file konfigurasi mariadb-server.cnf yang terletak di /etc/opt/rh/rh-mariadb101/my.cnf.d
2) Sekarang, carilah baris [mysqld] kemudian tambahkan syntak seperti yang sudah saya tandai pada gambar dibawah ini.
Keterangan :
log-bin=mysql-bin adalah suatu binary logging sql, yaitu mysql.bin
server-id=1 adalah penamaan saja untuk si server, ini tidak bisa menggunakan kata-kata atau kalimat, hanya berlaku untuk angka. Disini saya mengaturnya menjadi 1.
3) Setelah kita melakukan beberapa konfigurasi pada server master, untuk itu kita ketikkan perintah restart service mariadb agar konfigurasi yang baru berjalan.
4) Selanjutnya, masuk ke shell mariadb dan matikan mode slave pada master. kemudian, kita buat user replication beserta passwordnya. untuk user dan passwordnya bersifat bebas, sesuai dengan kebutuhan dan keinginan kalian. Dan terakhir jalankan perintah flush privileges;.
Keterangan :
flush privileges;. adalah sinonim untuk reload. Perintah reload menyuruh server untuk membaca ulang tabel hak akses.
Konfigurasi Server Slave (Replica)
1) Edit file konfigurasi mariadb, yaitu mariadb-server.cnf yang terletak di /etc/opt/rh/rh-mariadb101/my.cnf.d/
2) Cari baris [mysqld] kemudian tambahkan syntak seperti yang sudah saya tandai warna biru pada gambar dibawah ini.
Keterangan:
log-bin=mysql-bin ialah binary logging mysql, yaitu mysql.bin.
server-id=1 merupakan penamaan untuk server. Di sini saya mengaturnya menjadi angka 2. penamaan server-id ini antar server master dan slave harus berbeda.
read_only=1, karena diatur menjadi 1,menandakan berarti tidak ada pembaruan yang diizinkan kecuali dari pengguna dengan hak superuser atau server slave yang diperbarui dari master. value dari read_only berguna bagi server slave untuk memastikan tidak ada pembaruan yang sengaja dilakukan di luar apa yang dilakukan pada master.
report-host=node1.fitrahanugrah.com merupakan host dari server slave.
4) Selanjutnya, jalankan perintah firewall mariadb kedalam firewall kemudian reload.
Konfigurasi Server Master DB
1) Masuk ke shell mariadb. Kemudian kita lakukan flush terhadap semua tables yang terbuka. tabel baru hanya diperbolehkan dibuka dengan read lock sampai perintah unlock tables; dijalankan. Selanjutnya, kita lihat informasi status tentang binary log files pada master, yang dimana informasi ini akan digunakan dan dicocokan pada server slave nanti.
2) Lakukan perintah mysqldump.
Keterangan :
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.
--all-databases difungsikan untuk Dump semua tabel di semua databas
--lock-all-tables difungsikan untuk Mengunci semua tabel di semua databas
--events difungsikan untuk Dump events terhadap database yang di dum
mysql_dump.sql adalah file yang terbuat dari proses mysqldump.
3) Pertama-tama, kita berpindah ke dalam shell masiadb terlebih dahulu. Sekarang jalankan perintah unlock tables;. Penggunaan unlock tables ini yaitu untuk melepas global (semua) read lock yang diperoleh pada perintah flush tables with read lock; kemudian exit untuk menutup.
4) Copy file mysql_dump.sql yang telah terbuat tadi ke host server slave menggunakan perintah scp.
keterangan:
Scp ini adalah secure copy, yang dimana proses kirim ini melalui enkripsi seperti ssh. Di sini saya mencopykan ke dalam directory /tmp/ pada slave.
Konfigurasi Server Slave (Replica)
1) Sekarang kita masukan file mysql_dump.sql yang telah tercopy tadi kedalam sql server slave. Hal ini dilakukan agar file dump pada slave sama dengan yang ada pada master, jadi nanti bisa tersinkronisasi.
2) Lanjutnya, kita lakukan join pada server slave ke server master.
Keterangan :
change master to ini merupakan opsi untuk mangatur 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 tersebut
master_log_file dan master_log_pos ialah status binary log files beserta lokasinya pada server master. Ini harus sama dengan status master yang ada pada server master.
3) Nah, sekarang baru kita jalankan /start pada mode slavenya.
4) Sekarang lihat status slave untuk pengecekan apakah antara server master ataupun slave berhasil tersinkronisasi atau tidak. dengan perintah show slave status\G;
keterangan : apabila server mster dan slave telah tersinkronasi, maka hasil output dan keterangan pada Slave_IO_Running dan Slave_SQL_Running statusnya yaitu Yes.
Verivikasi Client
1) Akses databasesnya melalui website. masukkan user root beserta passwordnya. kemudian beralih ke tab Databases.
2) Untuk pengujian, kita akan mencoba untuk membuat database pada server master.
4) Setelah itu, akses server slave, kemudian coba cekapakah database yang telah kita daftarkan sebelumnya pada server master, juga terdapat pada server slave atau tidak. dengan cara mengakses server slavenya.
Keterangan : Dari gambar di bawah ini, dapat dilihat bahwa databases terlihat pula pada server slave.
Mungkin sekian yang dapat saya sampaikan, semoga bermanfaat. Wassalamu'alaikum Warahmatullahi Wabarakatuh.
0 komentar:
Posting Komentar