[Termux] MariaDB Replication Master-Slave
Pada artikel kali ini, akan dibahas mengenai bagaimana cara membuat replikasi database master slave menggunakan mariadb di termux.
tools yang perlu disiapkan :
- dua buah smartphone android yang telah terinstall termux
- koneksi internet yang stabil
Setelah toolsnya telah disiapkan, mari lakukan tahap-tahap berikut :
A. Inisialisasi Database Server
- Buka termux
- Install mariadb dan teks editor nano dengan perintah : pkg install mariadb nano. Tunggu proses instalasi sampai selesai
- Cek IP address masing-masing HP dengan perintah ip address atau ifconfig. maka akan muncul output seperti berikut :
..............
Catat IP tersebut.
swlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c2:87:eb:96:7f:29 brd ff:ff:ff:ff:ff:ff
inet 192.168.43.1/24 brd 192.168.43.255 scope global swlan0
valid_lft forever preferred_lft forever
inet6 fe80::c087:ebff:fe96:7f29/64 scope link
valid_lft forever preferred_lft forever
................
B. Setting Master Database
- Buat file konfigurasi di /data/data/com.termux/files/usr/etc/my.cnf.d/replication.cnf dengan perintah
nano /data/data/com.termux/files/usr/etc/my.cnf.d/replication.cnf. Isikan konfigurasi berikut :[mariadb]
Setelah semua dibuat, simpan dengan menekan ctrl + x, kemudian tekan y dan enter.
bind-address=192.168.43.1 #isikan dengan IP master yang didapat di tahap A.3.
log-bin
server_id=1
log-basename=master - Mulai service mariadb dengan perintah mysqld_safe &
- Buat database baru dengan perintah mysql -u $(whoami) -e "create database praktikum;"
- Buat user untuk replikasi (username : repluser dan password rahasia123) dengan perintah mysql -u $(whoami) -e "grant replication slave on *.* to 'repluser'@'%' identified by 'rahasia123'; flush privileges;"
- Login ke shell mariadb dengan perintah mysql -u $(whoami)
- Lock database dan cek status master database dengan perintah flush tables with read lock; show master status;
Catat file dan position datanya. Jangan tutup session database ini. - Buka tab baru di termux. kemudian dump semua database dengan perintah mysqldump -u $(whoami) --all-databases > db.sql
- Kembali ke tab pertama termux, kemudian ketikkan unlock tables;
- Copy ke database db.sql ke server slave dengan perintah scp -P8022 db.sql <user termux slave>@<ip termux slave>:/data/data/com.termux/files/home/. Contoh dalam tulisan ini, user termux slave adalah u0_217 dan IPnya 192.168.43.57, maka perintahnya : scp db.sql u0_217@192.168.43.57:/data/data/com.termux/files/home/. kemudian masukkan password dari user termux slave.
- Buat file konfigurasi di /data/data/com.termux/files/usr/etc/my.cnf.d/replication.cnf dengan perintah
nano /data/data/com.termux/files/usr/etc/my.cnf.d/replication.cnf. Isikan konfigurasi berikut :[mariadb]
Setelah semua dibuat, simpan dengan menekan ctrl + x, kemudian tekan y dan enter.
bind-address=192.168.43.57 #isikan dengan IP slave yang didapat di tahap A.3.
log-bin
server_id=2
log-basename=slave
read-only=1 - Mulai service mariadb dengan perintah mysqld_safe &
- Import database yang telah disalin dari database master tadi dengan perintah mysql -u $(whoami) < db.sql
- Masuk ke shell mysql dengan perintah mysql -u $(whoami)
- Atur database agar mengarah ke master yang telah dibuat dengan perintah :
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='<IP Address Master',
mengacu pada tahap B.6, maka konfigurasi untuk artikel ini adalah :
MASTER_USER='<user untuk replikasi>',
MASTER_PASSWORD='<password user untuk replikasi',
MASTER_LOG_FILE='<value pada field file di master>',
MASTER_LOG_POS=<value pada field position di master>;
MASTER_CONNECT_RETRY=10;
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='192.168.43.1',
MASTER_USER='repluser',
MASTER_PASSWORD='rahasia123',
MASTER_LOG_FILE='master-bin.000001',
MASTER_LOG_POS=1371,
MASTER_CONNECT_RETRY=10; - Setelah itu, mulai slave server dengan perintah start slave;
- Cek status slave dengan perintah show slave status\G; maka hasilnya kurang lebih akan seperti dibawah :
- Ambil HP yang bertindak sebagai database master.
- Masuk ke shell mariadb dengan perintah mysql -u $(whoami)
- Buat tabel dengan nama replikasi di database praktikum dengan perintah create table praktikum.replikasi ( test varchar(20));
- Insert data ke tabel tersebut dengan perintah insert into praktikum.replikasi values("tes replikasi");
- Cek apakah data berhasil dimasukkan ke database dengan perintah select * from praktikum.replikasi; Hasilnya akan seperti dibawah :
- Kemudian ambil HP yang bertindak sebagai database slave.
- Masuk ke shell mariadb dengan perintah mysql -u $(whoami)
- Cek apakah data berhasil direplikasi dari database master dengan perintah select * from praktikum.replikasi; Apabila konfigurasi benar, maka hasilnya akan seperti dibawah :
Pada gambar tersebut membuktikan bahwa database slave berhasil mereplikasi data yang ada di database master
Komentar
Posting Komentar