[Termux] MariaDB Replication Master-Slave

 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARoAAABQCAYAAADGB7oEAAAJ23RFWHRteGZpbGUAJTNDbXhmaWxlJTIwbW9kaWZpZWQlM0QlMjIyMDE5LTA5LTI5VDEyJTNBMTglM0E1MS4zOTJaJTIyJTIwaG9zdCUzRCUyMnd3dy5kcmF3LmlvJTIyJTIwYWdlbnQlM0QlMjJNb3ppbGxhJTJGNS4wJTIwKFdpbmRvd3MlMjBOVCUyMDEwLjAlM0IlMjBXaW42NCUzQiUyMHg2NCUzQiUyMHJ2JTNBNjkuMCklMjBHZWNrbyUyRjIwMTAwMTAxJTIwRmlyZWZveCUyRjY5LjAlMjIlMjBldGFnJTNEJTIySExQSDNJZi05SWpTTlRDbFVMNm8lMjIlMjB2ZXJzaW9uJTNEJTIyMTIuMC4wJTIyJTIwcGFnZXMlM0QlMjIyJTIyJTNFJTNDZGlhZ3JhbSUyMGlkJTNEJTIyY0hISE5HbXNYcGEzbnNBLVlUTHQlMjIlMjBuYW1lJTNEJTIyUGFnZS0xJTIyJTNFN1ZoZGI5b3dGUDAxUElLY0wyQ1A1YXZUUnFkS2JPcTJsOGtrbDhTckUwZU9RNEZmUDVzNEpDWkEyMUhhVFdvZktENyUyQnVyN25uT3VFbGpPTVY5Y2NwOUVOQzRDMmJCU3NXczZvWmRzMjZpTDVUeUhyQXVtNlRnR0VuQVFGWkZYQWpHeEFnM3BlbUpNQU1tT2dZSXdLa3BxZ3o1SUVmR0ZnbUhQMllBNWJNR3J1bXVJUUdzRE14N1NKM3BGQVJBWGE5MUNGZndRU1J1WE9GdEk5TVM0SGF5Q0xjTUFlYXBBemJqbER6cGdvdnNXcklWQ1Z2REl2eGJ6SmtkNWRZQndTOFpRSjM2YWpuNTluTjclMkY0WWdBYjd5dUVvMDlKMjlXeGlYVjVZTTd5SkFBMUI3V2NBZU1pWWlGTE1KMHlsa3JRa3VCdkVHS3RxY0s1WUJLS1JFeDFMeVRCbFVxOGJDWXNnUUtaRUVyMWtzMjQ5VkV5bG5NZlRnU3JsUU9CUVprJTJCN1RXd0dBUmZ5d0VjS0Jaa2FUS0l0UkRDM2JqZDFGdEdaQ2cyMHFKMUhaMFZMVm5MN3BsTENNeERFSHBXbFhINXBSWkdCVzE1ZUFZbjFvZGl1eVdtZVVrS0xJRm5vSktVUmNvQ3VWUTdKVW5Zb0UlMkZBU3BoOGNNaklCcyUyQjNBMVQlMkJVeFgzOWlUZW9PV05KSUlwQ1JNSiUyQkpJUjRCS1Ftd2tpUFhDbE8ySVNCR3IlMkJnT0k1MEFIMjc4T3RUSWFNTXI3ZDExbHMlMkZ3N1NlMHA0YWlkWUhYS3lqdGd3aThHeW5vVTZxR2ViaExYMVNuJTJCcmczSUlXeXd5dUFqRlRvUGhMeUZKVmhLYU1oek1NY1dKTDVuWUo3Zkdha25SVkRGeXl6SWlDRk5VelprUUxENUU2aE80MiUyQmRkS01zUE1zSFolMkZhNzYyVHVrdGdKQ2ZUUlI0bHBJbng5YWVWZjgxS0FBWjlHdXdzaWVWQjB2WG9YcUJ1a1FsdlU2UklvZzYyUXg1aUtOaWlKeXRHdzBKSFJVS3BabG04WXUydzlWWmJmNkJSVFZpcnFEamt2SFVNWnpaZEJyTUt4cTIwdzNkZlg4aHd0eTk1VUtzdHMzZWZQc1Z5M0kzWVpiaDVRUzBKdlY2WHZVbFFjY2JKcXRZVnZUYTVyQVBac2hOQmhQN0FObXdwdWNReWZQdGl1OWdJTmMyek9Zc0h1bzRTQzMxJTJGR2FIdkl1NVNHcmU0bEhHQm5aZDlsb3k5dkY2NWJJRDdXaVBKeHVqbFo2aDZLMXJyZHVnUk41UHBWM0RaNzJZTjMzVmNEakNoMzRPVjl1ejJTZFpkbnl1YnF3ekdzJTJCYkozSE1qcDZZOTdCWEg3T1FLWkgzcGpJYXNqaCUyRmRZOHklMkZQdHZlcmJmZU5MMHpwOWF6N0JQUzlYSHc2VUI5ZHhMbEVnem5COCUyQmRyOG56bSUyQkZPcWpqcmZmSFg5WngxdHZiWG03V2YxWkNrbnhMcHhwSGJ4cjRDVTE0THJJMU1EbDNwVmtzJTJGb1ZySGhtcjM1TGRNWiUyRkFBJTNEJTNEJTNDJTJGZGlhZ3JhbSUzRSUzQ2RpYWdyYW0lMjBpZCUzRCUyMkhpdDg5NEpqb0xkSDNJLWVhaE9aJTIyJTIwbmFtZSUzRCUyMlBhZ2UtMiUyMiUzRTdWWkxiOXBBRVA0MVNPMGh5QTlJNkJFSU5JY2dSZUxROUZRdDltQnZXWHVzOVFKMmZuMW44ZmdGZVNoVm1sTTVvSjF2djUzWm1mbDJZT0RQayUyQks3RmxtOHdoRFV3SFBDWXVEZkRqeHZjajJoYnd1VUZUQzYlMkJWWUJrWlpoQmJrdHNKWlB3S0RENkY2R2tQZUlCbEVabWZYQkFOTVVBdFBEaE5aNDdOTzJxUHBSTXhIQkJiQU9oTHBFZjhqUXhKelcyR254TzVCUlhFZDJIZDVKUkUxbUlJOUZpTWNPNUM4RyUyRmx3am1tcVZGSE5RdG5aMVhZdzM5ZE83M2VwUmphRjRBdjFMdTd1cnl0bnlQVWVhRkRTazVtTmRqemcxVTliMWdwREt4eVpxRTJPRXFWQ0xGcDFwM0tjaFdLOE9XUzNuSGpFajBDWHdOeGhUc2hiRTNpQkJzVWtVNzFJV3Vud2s0OG9adW02RCUyRkxRZWglMkJQYXZDMDRRbVdWWGVzQnRFekFnRzdBY0dxMVFtYUtLVlRJVWlyRiUyQjFXV05yVXpVYnhSVWVibHVOY0J2TUx6V05oQ1IlMkZDYVA3JTJCUkRUMDNRRXBCbDNST2d4SkdIdnFYRXl6OHFPRzF6YVVGOSUyRmNkdmVaTEhvVGFjNlNCZDYzb3VyTlFIbWdaMmVXdE1HSWpjaURpR3ZTQktzd2NDdG1oUFhQeXkwcmsxSkd2THgwNDAxbEhEeFRGU0hxeDkySUQ2Z0Z6YVNTbXRMZEJZekFoZ2xBeXNrQkEzYkk5bnluTG5JbGdGNTNFT0VlRiUyQnVUVzM1NCUyQkhhZFRQbXVzT0dlNTBiaHJCb0hYSUIwUGpqTnhsbFkwVzlMUGM1NmJPV0JKb2NqajVpM1FUbWJUUzRySXp0S2h4UHhtS0dteTVjTThFZHBrY1NWT2JnVGRFSXElMkZFT1NsZ0dvdkl4NVZQS3RkbiUyQjFqTyUyRmxjbnVkeFolMkJqVnRBJTJCWG5QJTJCUEpiZFc0Z0F2S3U2Q1gwTWJmWTc4RiUyQnVuaTlYM1AwMnNaTFklMkYwNmU5em44ZGYlMkZFSCUzQyUyRmRpYWdyYW0lM0UlM0MlMkZteGZpbGUlM0VafOSpAAAF2ElEQVR4nO3dMW7bSBTGcV4gF9iWt0jlTtfYlvU228lVABZ7gBQB3LFMvZUKtblACsIXSJEE3jUCI5g0efTz+M2QlDXUy+T/A4jYFkmRz49fSEkcN8GZw+1D2B/uzzYdbh8uvUvArNr7vrn0BsT2h/vQXH8+27Q/3F96l4BZtfe926B5/e4u/PXv/ydPr9/duSw4YKm9790GTa3JDlhq73u3QfPqzZfwxz9fT55evfnisuCApfa+dxs01y8s1PXP9XgrOGCpve8JGsCB2vueoAEcqL3vCRrAgdr7nqABHKi97wkawIHa+56gARyove8JGsCB2vueoAEcqL3vCRrAgdr7nqABHKi976sPmubq79A0DROT22m/3xM0W6u94ICl9r4naAAHau97ggZwoPa+J2gAB2rve4IGcKD2vidoAAdq73uCBnCg9r4naAAHau97ggZwoPa+dxs0tf7ZCcBSe98TNIADtfe926DJnUJ+/PQ9XN3chY+fvifn8XoKCVhq7/tfMmjefvgWmuvP4e2Hb8l5vBYcsNTe926D5urmLlwf7pPTn+//yz5+dePzbxADltr73m3Q1HqtClhq73t3QXO4fQj7w/3ZpsPtw6V3CZhVe9+7CxoA9SFoABRH0AAojqABUBxBA6A4ggZAcU0IwfwTEF3XLVrB8XgMTTOfV+M4hqZpwjiOL9viF4j3Eb83+n7DbZANGYbhyQNt2y4q+q9S8LZtQ9/30/d93xM2vzn6fjvJoJFCSoGGYTCTX75v2zY7nxS867rpMf2cqeVCeCyOtZzehtQvNPXLjtdlrUfqsNvtpv2UZWSb1ywPP+j79HrO3ffJoJGfH4/HZ1/LE43j+CzZU/PJTu92O/MXOrdcXDyhEzsugCY7bO1nbj2ynbJc13XTfF3XTY2xdHn4Qd9v1/fZoJEUixNRJ6UueG4++VqKKkXo+37RclZiW6evOnlj8f8eMl9uPdb/cLrIx+Nx1fLwg77fru8Xn9HEp3GpZE/NZxVOCp5bThckVah40tekKbKsLpi1nrhg4ziGtm2nf+e2g6Dxi77fru9nX6PRX+sntQqem89K9lT65dI8fm7Z6ZxhGKZTV00/f2o9VlBIMSXh1y4PH+j77fo++66TJGSc3nLdlyq4NZ9+USzekNxywzA82RnrWjVOev1L1UWyXoSTQqTWYxVcts9qniXLwwf6fru+T36OJj4Nm149/rnh+gnk57n5rFff4+vW1Pr1MlZBrdNLS+oUNbceq+CptwiXLg8f6Pv0es7d97zfCqA4ggZAcQQNgOIIGgDFETQAiiNoABS3WdD0fR/6vp/ex4/vkLXeo19r6R211nLWB5uAc5JjQMRvOwvrQ37ncMk+3yRoxnGcdlA+KxAHQtM00z0Upzo1aEJ43gTAOeljIIT88A2lgkae5xJ9vknQdF335Bbztm3DbrebCilJq4PmlNvn5Xv9iUrrg0qpoRtODSlgjj4G5oZviIMmdSysHbpBP7a1TZ5R75gEjU5W+VoHjVXoudvn4zOatUM36PADzik+uHPDN8RBkzoW1g7doJ976z4vHjTxjVcSNPp6UXZcfn6O2+dPGbqByyeUkLr5MDV8gw6a3LGwdugGcYk+v1jQhPCY8vKvPqN5ye3z1jz6XpZc0CwdMxZYasnd1vqGxPiMJjcExZqhG8Ql+rx40OgihPA0aGRcDjmziVP5lNvnddCsHbqBMxqUYB0DueEbdNDMHQsSIkuGbhBVntGEYL9GE8JjUstOp07/lt4+b71Gs2boBl6jQSnWu6yp4RusoBH6WNDfLxm6Qa+jutdoQrDfdQrheRH0pdOpt8/Hn0lYcgu7nhcoQR8DIvXSQHzplDsW1gzdoB/b2uafo/GKyyaU5OUYqPpzNCH4PpCXDo0IvMSlj4FL9jnXCgCKI2gAFEfQACiOoAFQHEEDoDiCBkBxBA2A4ggaAMURNACKI2gAFEfQACiOoAFQHEEDoDiCBkBxBA2A4n4AE8l9PlJdLcQAAAAASUVORK5CYII=

Pada artikel kali ini, akan dibahas mengenai bagaimana cara membuat replikasi database master slave menggunakan mariadb di termux.

tools yang perlu disiapkan :
  1. dua buah smartphone android yang telah terinstall termux
  2. koneksi internet yang stabil

Setelah toolsnya telah disiapkan, mari lakukan tahap-tahap berikut :

A. Inisialisasi Database Server
  1. Buka termux 
  2. Install mariadb dan teks editor nano dengan perintah : pkg install mariadb nano. Tunggu proses instalasi sampai selesai
  3. Cek IP address masing-masing HP dengan perintah ip address atau ifconfig. maka akan muncul output seperti berikut :
    ..............
     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

    ................
    Catat IP tersebut.

B. Setting Master Database
  1. 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]
    bind-address=192.168.43.1 #isikan dengan IP master yang didapat di tahap A.3.
    log-bin
    server_id=1
    log-basename=master
    Setelah semua dibuat, simpan dengan menekan ctrl + x, kemudian tekan y dan enter.
  2. Mulai service mariadb dengan perintah mysqld_safe &
  3. Buat database baru dengan perintah mysql -u $(whoami) -e "create database praktikum;"
  4. 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;"
  5. Login ke shell mariadb dengan perintah mysql -u $(whoami)
  6. 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.
  7.  Buka tab baru di termux. kemudian dump semua database dengan perintah mysqldump -u $(whoami) --all-databases > db.sql
  8. Kembali ke tab pertama termux, kemudian ketikkan unlock tables;
  9. 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.
C. Konfigurasi Slave Database
  1. 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]
    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
    Setelah semua dibuat, simpan dengan menekan ctrl + x, kemudian tekan y dan enter.
  2. Mulai service mariadb dengan perintah mysqld_safe &
  3. Import database yang telah disalin dari database master tadi dengan perintah mysql -u $(whoami) < db.sql
  4. Masuk ke shell mysql dengan perintah mysql -u $(whoami)
  5. Atur database agar mengarah ke master yang telah dibuat dengan perintah :
    MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='<IP Address Master',
    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;
    mengacu pada tahap B.6, maka konfigurasi untuk artikel ini adalah :
    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;
  6. Setelah itu, mulai slave server dengan perintah start slave;
  7. Cek status slave dengan perintah show slave status\G; maka hasilnya kurang lebih akan seperti dibawah :
D. Pengujian
  1. Ambil HP yang bertindak sebagai database master.
  2. Masuk ke shell mariadb dengan perintah mysql -u $(whoami)
  3. Buat tabel dengan nama replikasi di database praktikum dengan perintah create table praktikum.replikasi ( test varchar(20)); 
  4. Insert data ke tabel tersebut dengan perintah insert into praktikum.replikasi values("tes replikasi");
  5. Cek apakah data berhasil dimasukkan ke database dengan perintah select * from praktikum.replikasi; Hasilnya akan seperti dibawah :
  6.  Kemudian ambil HP yang bertindak sebagai database slave.
  7. Masuk ke shell mariadb dengan perintah mysql -u $(whoami)
  8. 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

Postingan populer dari blog ini

Monitoring Suhu dan Kelembaban Menggunakan DHT11, NodeMCU, MQTT, Node-Red dan MySQL

[Termux] Nginx sebagai Load Balancer dan Web Server

Bagian-Bagian Motherboard(Mainboard) dan Fungsinya