Posting ini akan membahas contoh kecil replikasi database dengan MariaDB, satu master akan mengirimkan informasi ke satu budak. Untuk proses kerjanya, Anda memerlukan 2 alamat IP, satu server master dan satu lagi slave Show Dalam hal ini, saya akan menggunakan alamat IP berikut 10. 19. 19. 251 – sebagai Basis Data Utama PersiapanPosting ini mengasumsikan Anda memiliki 2 VM dan memiliki akses sudo ke 2 VM tersebut. Sistem Operasi yang akan saya gunakan adalah Ubuntu 16. 04 server, MariaDB telah diinstal dan belum dikonfigurasi. Anda dapat menggunakan berbagai teknologi untuk membuat VM, baik menggunakan VirtualBox, Libvirt, Proxmox VE, atau bahkan VMware Jika MariaDB belum terinstal, Anda dapat menginstalnya dengan perintah ini $ sudo apt install mariadb-server mariadb-client Langkah 1. Konfigurasikan Database MasterBuka konfigurasi MariaDB di server master $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_ Begitu berada di dalam file, ubah beberapa parameter berikut Pertama cari baris sebagai berikut, bind-address = 127.0.0.1 Ganti alamat IP default dengan alamat IP server, dalam hal ini adalah 10. 19. 19. 251 bind-address = 10.19.19.251 Selanjutnya konfigurasikan server-id. Konfigurasi ini terletak di bagian [mysqld]. Anda dapat memilih nomor apa pun untuk konfigurasi ini, tetapi nomor tersebut harus unik dan tidak boleh sama di antara grup replikasi. Untuk database master ini cukup gunakan 1. Pastikan baris berikut tidak dikomentari (tanda # di awal baris) server-id = 1_ Berikutnya adalah baris log_bin. Semua detail informasi replikasi akan disimpan di sini. Database budak akan menyalin semua perubahan yang terdaftar di log ini. Untuk langkah ini, cukup hapus tanda # di depan log_bin log_bin = /var/log/mysql/mysql-bin.log Anda juga perlu menentukan database apa yang akan direplikasi di server slave. Anda dapat menyertakan lebih dari satu database dengan mengulangi baris ini untuk setiap database yang diperlukan binlog_to_db = puskoapp_ Simpan file konfigurasi dengan menekan Ctrl+X, lalu Y, dan Enter. Mulai ulang MariaDB $ sudo systemctl restart mysql Langkah selanjutnya, masuk ke shell MariaDB $ sudo -i # mysql -u root -p_ Buat database yang akan direplikasi, lewati langkah ini jika sudah ada database MariaDB [(none)]> CREATE DATABASE puskoapp;_ Berikan akses budak dengan mengetikkan perintah berikut di shell MariaDB $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_0 Nama pengguna yang digunakan adalah slave_user dan kata sandi rahasia. Nama pengguna dan kata sandi akan digunakan oleh budak untuk mengakses dan mereplikasi database dari master. Ganti sesuai keinginan. Kemudian, $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_1 Buka tab/jendela baru untuk melakukan langkah selanjutnya. Pada tab baru, login kembali ke MariaDB dan gunakan database untuk direplikasi $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_2 Jalankan perintah berikut untuk mencegah (baca. kunci) perubahan ke database $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_3 Lalu ketik $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_4 Jika berhasil, akan muncul tabel seperti berikut ini $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_5 Ini adalah posisi di mana database budak akan mulai direplikasi. Catat nomor ini, karena akan digunakan pada langkah berikutnya. Jika Anda membuat perubahan di jendela yang sama, database akan dibuka secara otomatis Untuk alasan ini, Anda perlu membuka tab/jendela baru untuk melanjutkan ke langkah berikutnya Saat database dikunci, ekspor database menggunakan mysqldump di jendela baru. (pastikan perintah ini dijalankan di bash shell, bukan MariaDB) $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_6 Sekarang, kembali ke jendela sebelumnya, buka kunci basis data (buat dapat diedit) $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_7 Keluar dari shell MariaDB dengan mengetik exit; $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_8 Konfigurasi pada master selesai Langkah 2. Konfigurasi pada Slave DatabaseSetelah konfigurasi master database selesai, sekarang konfigurasikan database slave Masuk ke server slave, buka shell MariaDB dan buat database baru dengan nama yang sama, lalu keluar $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_9 Impor database yang sebelumnya diekspor dari database master bind-address = 127.0.0.10 Konfigurasikan lebih lanjut seperti yang dilakukan pada master $ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf_ Pastikan beberapa konfigurasi berikut diatur dengan benar. Pertama adalah server-id. Seperti disebutkan sebelumnya, nomor server-id di sini harus unik. Tidak mungkin ada kesamaan antara kelompok tuan-budak. Karena defaultnya adalah 1, pastikan untuk mengubahnya ke nomor yang berbeda bind-address = 127.0.0.12 Pastikan setidaknya kriteria konfigurasi berikut diisi dengan benar bind-address = 127.0.0.1_3 Anda perlu menambahkan baris log relai secara manual. Baris itu tidak ada sebelumnya. Setelah perubahan konfigurasi dilakukan sesuai keinginan, simpan dan keluar dari file konfigurasi Mulai ulang MariaDB lagi $ sudo systemctl restart mysql Langkah selanjutnya, aktifkan replikasi dengan shell MariaDB. Buka shell MariaDB lagi dan ketik perintah berikut, ubah dengan konfigurasi Anda bind-address = 127.0.0.15 Perintah menyelesaikan beberapa pekerjaan sekaligus Dengan cara ini, Anda telah mengonfigurasi replikasi database master dan slave. Kemudian aktifkan server budak bind-address = 127.0.0.16 Anda dapat melihat detail informasi replikasi budak dengan mengetikkan perintah ini. Opsi \G setelah perintah berikut untuk memformat teks agar lebih mudah dibaca bind-address = 127.0.0.17 Jika ada masalah koneksi, Anda dapat menjalankan slave dengan perintah lewati bind-address = 127.0.0.1_8 Selesai Periksa HasilnyaPada master database, buat tabel, misalnya dengan perintah berikut bind-address = 127.0.0.1_9 Kemudian periksa database budak. Jika berhasil, akan dibuat tabel di sana, persis sama dengan yang ada di master |