Tutorial Replikasi untuk MariaDB Replication

Dalam Artikel ini kita melakukan setup untuk Replikasi menggunakan MariaDB.
18  
       

Replikasi Data sangat penting untuk melindungi dan memastikan data secara High Availability dan kemudahan akses selama kesalahan tak terduga seperti kerusakan sistem, kesalahan berbasis perangkat keras atau perangkat lunak, dll. Dengan adanya replikasi sistem database diharapkan layanan database dapat selalu tersedia. Dalam Artikel ini kita melakukan setup untuk Replikasi menggunakan MariaDB.

Sebelum Memulai

Pastikan sudah menentukan mau dimana MariaDB ini akan diinstall, setidaknya kita butuh 2 instance untuk menjalankan MariaDBnya. Pada tutorial kali ini kita akan menggunakan 2 WSL (windows) yaitu Ubuntu 22.04 dan Ubuntu 18.04 yang akan di install MariaDB versi 10.5 pada masing-masing mesin. Sementara untuk mac atau linux, bisa menggunakan docker untuk mensimulasikan hal yang sama.

Jenis Replikasi

Sebagai informasi, pada MariaDB ini ada beberapa opsi untuk replikasi yaitu Master ke Master dan Master Ke Slave. Selain itu juga ada beberapa jenis replikasi tambahan yang menggabungkan dua metode tersebut.

Install MariaDB 10.5 di Ubuntu 22.04

untuk di Ubuntu 22.04 cara installnya mudah. Cukup jalankan beberapa perintah dibawah ini.

# untuk memastikan semua package dalam keadaan uptodate
sudo apt update -y && sudo apt upgrade -y

# install package common ubuntu
sudo apt -y install software-properties-common

# tambahkan key mariadb
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

# ini untuk update dari repo MariaDB yang baru
sudo apt update

# ini untuk install maria DB
sudo apt install -y mariadb-server mariadb-client

# setup security MariaDB
# pastikan ikuti langkah demi langkah
# dan jangan lupa passwordnya
sudo mysql_secure_installation 

# cek bahwa mariadb telah berjalan
systemctl status mysql

# Test login ke MariaDB
#jika perlu password pastikan isi password
# pas setup security
mysql -u root -p

# setelah muncul kotak SQL
SELECT VERSION();

# keluar dari SQL client MariaDB
# tekan CTRL dan D barengan atau
exit;

Install MariaDB 10.5 di Ubuntu 18.04

untuk di Ubuntu 22.04 cara installnya mudah. Cukup jalankan beberapa perintah dibawah ini.

# untuk memastikan semua package dalam keadaan uptodate
sudo apt update -y && sudo apt upgrade -y

# install package common ubuntu
sudo apt -y install software-properties-common

# tambahkan key mariadb
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.lstn.net/mariadb/repo/10.5/ubuntu focal main'

# ini untuk update dari repo MariaDB yang baru
sudo apt update

# ini untuk install maria DB
sudo apt install -y mariadb-server mariadb-client

# setup security MariaDB
# pastikan ikuti langkah demi langkah
# dan jangan lupa passwordnya
sudo mysql_secure_installation 

# cek bahwa mariadb telah berjalan
systemctl status mysql

# Test login ke MariaDB
#jika perlu password pastikan isi password
# pas setup security
mysql -u root -p

# setelah muncul kotak SQL
SELECT VERSION();

# keluar dari SQL client MariaDB
# tekan CTRL dan D barengan atau
exit;

File my.cnf

Setelah selesai install, pastikan bahwa anda telah menemukan file my.cnf baik di Ubuntu 18.04 maupun di 22.04. Biasanya file ini bisa ditemukan di /etc/mysql/my.cnf, bisa juga di /etc/my.cnf bahkan di /var/lib/mysql/my.cnf. Pastikan anda tidak salah mengedit file-nya.

Setup untuk Master

Pertama-tama ubah kode my.cnf dibawah [mariadb], lihat contoh dibawah ini:

[mariadb]
Log-bin
server_id=1
log-basename=master1
binlog-format=mixed

Dengan pengaturan ini, dipastikan mesin akan dianggap sebagai master. Setelah filenya diubah, kemudian restart MariaDB nya dengan cara:

sudo service mariadb restart

Setelah itu login ke MariaDB melalui mysql client dengan cara:

mysql -u root -p

# setelah muncul SQL jalan perintah ini 
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'bigs3cret';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
# kode tersebut untuk membuat USER yang akan digunakan oleh SLAVE

FLUSH PRIVILEGES; FLUSH TABLES WITH READ LOCK.

# jalankan perintah dibawah ini
# lihat nilai di kolom file dan position
SHOW MASTER STATUS;
# catat kedua hal tersebut

UNLOCK TABLES; 

# keluar dengan CTRL + D atau
exit;

Untuk master sudah selesai di Setup.

Setup untuk Slave

Kemudian buka instance yang satunya lagi, dan ubahlah pengaturannya menjadi seperti ini.

[mysqld]
server-id = 2
replicate-do-db=masterdb

Dengan pengaturan ini, dipastikan mesin akan dianggap sebagai slave. Setelah filenya diubah, kemudian restart MariaDB nya dengan cara:

sudo service mariadb restart

Setelah itu login ke MariaDB melalui mysql client dengan cara:

# Lgoin ke MariaDB yang akan dijadikan Slave
mysql -u root -p

# setelah muncul SQL jalan perintah ini 
CHANGE MASTER TO
  MASTER_HOST=[IP ADDRESS MESIN MASTER],
  MASTER_USER='replication_user',
  MASTER_PASSWORD=[password pas setup security],
  MASTER_PORT=3306,
  MASTER_LOG_FILE=[INI DI ISI NILAI DARI SHOW MASTER STATAUS],
  MASTER_LOG_POS=[INI DI ISI NILAI ANGKA DARI SHOW MASTER STATAUS],
  MASTER_CONNECT_RETRY=10;

# CTRL+D atau
exit;

#restart lagi MariaDB di Slave nya
sudo service mariadb restart

# Login lagi ke MariaDB
mysql -u root -p

# setelah muncul SQL, jalankan
CHECK SLAVE STATUSG;
# perhatikan pada SLAVE_IO_STATUS
# jika isinnya "Waiting for master to send event
# Berarti telah selesai
# CTRD+D atau
exit;

Demikian cara untuk setup MariaDB dengan jenis replikasi Master ke Slave. Semoga membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>