Replikasi MySQL (MySQL Replication) adalah proses yang memungkinkan Anda untuk secara otomatis menyalin data dari satu database server ke satu atau beberapa server lain.
MySQL mendukung sejumlah topologi replikasi dengan topologi Master/Slave menjadi salah satu topologi paling terkenal di mana satu server database bertindak sebagai master, sementara yang lain bertindak sebagai slave. Berikut adalah ilustrasi sederhana bagaimana replication bekerja.
Secara default, konsep kerja replikasi adalah asinkron, yang artinya ketika master mengirimkan pemberitahuan tentang modifikasi database ke log binernya, maka slave akan meminta events modifikasi tersebut ketika sudah siap. Singkatnya, perubahan tidak terjadi secara langsung, terdapat jeda perubahan sekitar beberapa mili-detik dengan data asli dari master.
Jenis topologi replikasi ini paling cocok untuk deploy replikasi dengan read database yang tinggi, backup live database untuk pemulihan bencana dan untuk pekerjaan analitik.
Tutorial ini mencakup contoh dasar replikasi MySQL Master/Slave dengan satu server sebagai sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf0 dan satu server sebagai sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf1 pada Ubuntu 18.04. Langkah yang sama berlaku juga untuk MariaDB.
Kami sarankan Anda untuk menguji setiap tutorial atau panduan yang ada di Internet di virtual machine (vmware atau virtualbox) sebelum menerapkan ke server produksi, agar tidak mengacaukan sistem yang berjalan ketika ada kesalahan.
Prasyarat
Contoh ini mengasumsikan Anda memiliki dua server yang menjalankan Ubuntu 18.04, yang dapat berkomunikasi satu sama lain melalui jaringan pribadi. Jika Anda tidak memiliki Private IP, Anda dapat menggunakan public IP dan mengkonfigurasi firewall Anda untuk mengizinkan lalu lintas di port 3306 hanya dari sumber tepercaya.
Server dalam contoh ini memiliki IP berikut:
IP Server Master : 192.168.121.190 IP Server Slave : 192.168.121.236Install MySQL
Repositori default Ubuntu 18.04 menyertakan paket MySQL versi 5.7. Untuk menghindari masalah, kita akan menginstal MySQL versi 5.7 di kedua server.
Install MySQL di server Master dan di server Slave dengan perintah berikut:
sudo apt-get update sudo apt-get install mysql-serverKonfigurasikan Master Server
Pertama, kita akan mengkonfigurasi server MySQL master dan membuat perubahan berikut:
- Atur server MySQL untuk listen pada private IP
- Tetapkan ID server yang unik
- Aktifkan binary logging
Untuk melakukannya buka file konfigurasi MySQL dan tambahkan baris berikut di bagian [sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf2]:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfkonfigurasi sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf3 untuk server master sebagai berikut :
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.logSetelah selesai, restart layanan MySQL agar perubahan diterapkan
sudo systemctl restart mysqldLangkah selanjutnya adalah membuat user replikasi baru. Masuk ke MySQL server sebagai root:
mysql -u root -pDari dalam prompt MySQL, jalankan query SQL berikut yang akan membuat user sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf4 dan memberikan hak akses sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf5 kepada user tersebut :
CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'ganti_dengan_password'; GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';Pastikan untuk mengubah IP dengan alamat IP mesin slave Anda. Anda dapat memberi nama user dengan nama lain yang Anda inginkan.
Saat masih di dalam prompt MySQL, jalankan perintah berikut yang akan mencetak nama file dan posisi biner.
SHOW MASTER STATUS\G*************************** 1. row *************************** File: mysql-bin.000001 Position: 1326 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)Perhatikan nilai yang keluar, ‘mysql-bin.000001’ dan position ‘1326’. Anda akan membutuhkan nilai-nilai ini ketika mengkonfigurasi server slave. Nilai-nilai ini mungkin akan berbeda di server Anda.
Konfigurasikan Server Slave
Seperti untuk server master di atas, kita juga akan membuat perubahan berikut ke server slave:
- Atur server MySQL untuk listen pada private IP
- Tetapkan ID server yang unik
- Aktifkan binary logging
Buka file konfigurasi MySQL dan edit baris berikut :
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfsudo apt-get update sudo apt-get install mysql-server0Simpan dan tutup text editor sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf6 dan Restart layanan MySQL:
sudo systemctl restart mysqldLangkah selanjutnya adalah mengkonfigurasi parameter yang akan digunakan server slave untuk terhubung ke server master. Login ke shell MySQL:
mysql -u root -pPertama, hentikan threads server slave dengan perintah :
sudo apt-get update sudo apt-get install mysql-server3Jalankan query berikut yang akan mengatur slave untuk mereplikasi master:
sudo apt-get update sudo apt-get install mysql-server4Pastikan Anda menggunakan alamat IP, nama user, dan kata sandi yang benar. Nama dan posisi file log harus sama dengan nilai yang Anda peroleh dari server master.
Setelah selesai, jalankan threads untuk server slave.
sudo apt-get update sudo apt-get install mysql-server5Pengujian Konfigurasi
Pada poin ini, Anda sudah memiliki setup replikasi Master / Slave yang berfungsi.
Untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan, kita akan membuat database baru di server master:
sudo apt-get update sudo apt-get install mysql-server6Login ke shell MySQL slave:
mysql -u root -pkemudian list semua database MySQL :
sudo apt-get update sudo apt-get install mysql-server8Anda akan melihat bahwa database yang Anda buat di server master direplikasi pada slave:
sudo apt-get update sudo apt-get install mysql-server9Kesimpulan
Dalam tutorial ini, kami telah menunjukkan Anda membuat replikasi MySQL Master/Slave di Ubuntu 18.04.
- LABEL
- MariaDB
- MySQL
- Ubuntu
- Ubuntu 18.04
- Ubuntu Server
Share
Telegram
Berita sebelumyaPerintah Rsync Untuk Mengecualikan Folder dan Direktori
Berita berikutnyaCara Install Netbeans di Ubuntu 18.04
xsand
Related Post
Cara Install CMS Jejaring Sosial Mastodon di Ubuntu 18.04
Cara Install Visual Studio Code - Server IDE di Ubuntu 18.04 LTS
Tutorial Konfigurasi Apache Virtual Hosts di Ubuntu 20.04
Tutorial Mount exFAT USB Drive di Ubuntu Linux
Tutorial Penggunaan Server Blocks Nginx di Ubuntu 18.04
Cara Install dan Konfigurasi Apache Maven di Ubuntu 18.04
Cara Install dan Konfigurasi Anaconda di Ubuntu 18.04
Cara Install dan Konfigurasi OpenCV di Ubuntu 18.04
Tutorial Instal dan Konfigurasi Yarn di Ubuntu 20.04
Terbaru
Daftar Repository Lokal Ubuntu 22.04 Jammy Jellyfish
xsand
Setiap rilis Ubuntu memiliki nomor versi yang terdiri dari jumlah tahun dan bulan rilis. Misalnya, Rilis pertama Ubuntu 22.04 adalah April 2022. Nomor versi...
Cara Upgrade ke Ubuntu 22.04 dari Baris Perintah
Daftar Repository Lokal Indonesia Debian 11
Menghapus Kernel Module Linux dengan Perintah Rmmod
Tutorial Konfigurasi Nginx Server Blocks di Ubuntu 20.04
Tutorial Konfigurasi Apache Virtual Hosts di Ubuntu 20.04
Rekomendasi
Cara Install dan Konfigurasi NFS Server di CentOS 8
xsand
Network File System (NFS) adalah protokol file sistem terdistribusi yang memungkinkan Anda untuk berbagi direktori melalui jaringan. Dengan NFS, Anda dapat memasang direktori jarak...