yo.... sekarang pada lab ini saya akan memberikan tutorial database replication pada database MariaDB jadi saya melanjutkan dari lab sebelumnya, sebelum itu saya akan menjelaskan kembali apasih replication itu,
DataBase Replication adalah sebuah metode yang digunakan untuk menyalin dan mendistribusikan data dari satu server ke server lainnya dan kemudian mensinkronisasikan antar database sehingga konsistensi data dapat terjamin, jadi jika kita mambuat sebuah data pada server master maka data tersebut akan disalin dan dikirim ke server database replication, jadinya secara tidak langsung jika kita membuat data pada server master data tersebut juga akan terdapat pada server replication.
adapun untuk topologinya adalah sebagai berikut
Konfigurasi DB Master Server
1. pertama kita harus mengedit mariadb-server.cnf yang terletak di /etc/opt/rh/rh-mariadb101/my.cnf.d/mariadb-server.cnf
kemudian pada bagian [server] tambahkan syntak seperti berikut
- log-bin=mysql-bin, yaitu binary logging mysql
- server-id=7, identitas untuk server, untuk nomer idnya sendiri itu bebas, asalkan idak sama dengan id server lainnya
2. setelah itu lakukan restart layanan mariadb
systemctl restart rh-mariadb101-mariadb
3. kemudian masuk ke shell maria db, kemudian buat user replica dengan command
grant replication slave on *.* to replica@'%' identified by 'password' ;
4. kemudian gunakan syntak flush privileges, untuk melakukan reload table akses
flush privileges;
dan exit untuk keluar dati shell mariadb
5. setelah itu tambahkan service mysql pada firewall
firewall-cmd --permanent --add-service=mysql
dan jangan lupa lakukan reload agar konfigurasi dapat berjalan
firewall-cmd --reload
Konfigurasi Replication Server / Node
1. pada node kita juga harus mengedit file mariadb-server.cnf dengan perintah
nano /etc/opt/rh/rh-mariadh101/my.cnf.d/mariadb-server.cnf
kemudian pada bagian [server] tambahkan syntak menjadi sebagai berikut
- log-bin=mysql-bin, yaitu binary logging mysql
- server-id=14, identitas dari server slave
- read_only=1, berguna agar tidak ada lagi pembaruan yang bisa dilakukan jika kita mengaturnya menjadi 0 maka layanan ini akan dinonaktifkan
- report-host=node1.queenvin.net, merupakan host dari server slave itu sendiri
jika sudah, kemudian save
2. lakukan restart layanan mariadb
systemctl restart rh-mariadb101-mariadb
Konfigurasi DB Master Server
1. pada server master db, masuk ke shell maria db dengan command mysql -u root -p, kemudian agar semua table yang terbuka tekunci gunakan command
flush tables with read lock;
2. selanjutnya untuk melihat informasi dari server master gunakan command
show master status;
dapat kita lihat terdapat kolom file dan position, ingat - ingat kedua value tersebut, kemdian keluar dari shell mariadb
3. selanjutnya kita lakukan perintah mysqldump, mysqldump itu sendiri adalah sebuah bagiandari mysql relasional paket database yang mengizinkan kita untuk "dump" atau mengumpulkan aatau menimbun sebuah database atau kumpulan dari database, untuk backup atau untuk dikirmkan ke database server lainnya
mysqldump -u root -p --add-databases --lock-all-tables --events > mysql_dump.sql
- --all-databases, "dump" atau menimbun semua table dari semua database
- --lock-all-table, mengunci semua table dari semua database
- --events, untuk "dump" events dari semua database yang telah di kumpulkan sebelumnya
- mysql_dump.sql, output dari proses mysqldump
4. setelah itu masuk kembali ke shell mariadb dan lakukan unlock pada semua table yang sebelumnya telah kita kunci
unlock tables;
setelah itu keluar dari shell mariadb
5. kemdudian kita akan transfer file mysql_dump.sql yang sebelumnya telah kita buat ke server node kita menggunakan perintah
scp mysql_dump.sql "ip atau dns server slave":/tmp/
Konfigurasi Replication Server / Node
1. pada server node, kita import file dump yang sebelumnya telah di kirim dati server master
mysql -u root -p < /tmp/mysql_dump.sql
2. kemudian masuk ke shell mariadb, kemdudian kita akan menambahkan identitas server master db agar server replication kita bisa terhubung dengan server master
- change master to, untuk mendefinisikan server master, agar server replication bisa terhubung dengan server master itu sendiri
- master_host='192.168.88.2', untuk mendefinisikan alamat dari host server master
- master_user='replica',user yang digunakan pada server master yaitu replica
- master_password='anjay', password yang digunakan oleh user replica
- master_log_file='mysql-bin.000001', status file yang sebelumnya telah kita lihat pada server master
- master_log_pos=969;, posisi master slave pada status
3. kemudian kita jalankan server node nya sebagai slave
start slave;
4. nah untuk melihat status dari server slave, kita bisa menggunakan command
show slave status\G
pada gambar diatas kita bisa melihat bahwa server slave kita telah berjalan
Verifikasi
1. untuk verifikasi saya akan mencoba membuat sebuah data base baru pada server master
create database nyobagan;
2. kemudian untuk mengeceknya saya akan membuak shell mariadb pada server replication, dan menggunakan command show databases; untuk melihat list dari semua database
nah dapat kita lihat diatas, saat saya menggunakan command show databases pada server replication database yang sebelumnya telah saya buat sebelumnya di server master sudah terbuat dengan sendirinya
3. selain itu untuk mencoba, kita juga bisa menggunakan phpMyAdmin, caranya login pada server master seperti biasa menggunakan user root
4. kemudian buat database baru, dengan cara klik menu Databases, isikan nama database baru anda kemudian klik create
5. selanjutnya akses database server replication kita dengan cara yang sama yaotu menggunakan phpMyAdmin dengan user root
3. selain itu untuk mencoba, kita juga bisa menggunakan phpMyAdmin, caranya login pada server master seperti biasa menggunakan user root
4. kemudian buat database baru, dengan cara klik menu Databases, isikan nama database baru anda kemudian klik create
nah pada gambar dibawah ini bisa kita lihat database yang baru kita buat sudah tercantum pada server master
5. selanjutnya akses database server replication kita dengan cara yang sama yaotu menggunakan phpMyAdmin dengan user root
dan..... jeng jeng, database yang kita buat pada server master juga terdapat pada server replication kita
sekian tutorial saya mengenai replication pada mariadb, terimakasih sudah berkunjung semoga bermanfaat...
0 comments:
Post a Comment