Replikasi MySQL (MySQL Replication) memungkinkan kita membuat salinan dari database secara realtime dari database master ke slave. Tujuan utama replikasi database adalah untuk melakukan backup dari database master, penggunakan database replikasi sangat bermanfaat jika kita melakukan analisa database, karena kita tidak perlu menyentuh database master secara langsung, sehingga jika terjadi suatu kesalahan tentunya tidak akan mempengaruhi database master. Disini kita akan membangun replikasi database dengan model Master – Slave. Sistem yang saya gunakan pada tutorial ini adalah : Master : IP Address192.168.10.10Sistem OperasiWindows 7DatabasesiteSlave: IP Address192.168.10.20Sistem OperasiUbuntu 16.04DatabasesiteKonfigurasi MasterMembuat Database Master
Membuat Database dan Tabel MySQL 1 2 3 4 5 6 7 8 9 10 CREATE DATABASE `site`; USE `site` CREATE TABLE `site`.`user`( `ID` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR(25) NOT NULL, `email` VARCHAR(25) NOT NULL, `address` VARCHAR(100) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE = InnoDB;
Konfigurasi MySQLKita perlu melakukan beberapa perubahan pada file konfigurasi MySQL Note : Buat User Baru Pada Master
Buat User Baru MySQL MySQL 1 2 GRANT REPLICATION SLAVE ON *.* TO ‘user_slave’@‘%’ IDENTIFIED BY ‘MySlavePassword’; FLUSH PRIVILEGES;
Dump DatabaseDump database yang nantinya akan kita import ke database slave, sebelumnya kita harus mengunci database untuk mencegah terjadinya perubahan data untuk sementara.
Lock Database MySQL 1 2 3 4 5 6 7 8 9 10 11 12 mysql> USE site; mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; +———————-+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +———————-+———-+————–+——————+ | mysql–bin.000001 | 317 | site | | +———————-+———-+————–+——————+ 1 row in set (0.00 sec) mysql> QUIT;
Simpan informasi diatas untuk konfigurasi pada database slave. Setelah mengunci database selanjutnya dump database.
Dump Database MySQL 1 mysqldump -u root -p site > site.sql
Izinkan kembali perubahan pada database master. Masuk ke mysql console, jalankan :
Unlock Database Mysql MySQL 1 2 3 USE site; UNLOCK TABLES; QUIT;
Untuk konfigurasi pada database master telah selesai, kita lanjutkan konfigurasi pada database slave.
Konfigurasi pada Slave |