| |
|
| |
| |
| |
Butuh IT Support untuk kegiatan Perusahaan/ Institusi Anda?
Himakom siap sebagai Organisasi Sosial Mahasiswa.

|
|
|
|
| |
|
| |
|
| |
Replikasi database mysql
Oleh : Mr Wevils
Post : Kamis, 15 Januari 2009
Replikasi atau duplikasi sama aja dengan sinkronisasi dua database mysql. Hal ini sering kita jumpai ketika database online akan disamakan dengan database yang ada dikomputer lokal. Esensi teknik ini saya belum ketahui jika dibandingkan dengan teknik mysqldump. Paling tidak sampai tulisan ini aku buat asumsi saya adalah replikasi database mendukung realtime.
Oke, langsung saja untuk replikasi ada dua mesin mysql yang akan disamakan databasesnya. Satu bertindak sebagai master dan satu bertindak sebagai slave. Master adalah source db dan slave adalah distination db.
Berikut cara membuatnya:
Konfigurasi mesin master (192.168.1.153)
Edit file my.cnf
root@master:~# vim /etc/mysql/my.cnf
[mysqld]
#skip-networking
#bind-address = 127.0.0.1
server-id=1
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db=nama_database
# save lalu keluar
Restart service mysqld
root@master:~# /etc/init.d/mysql restart
Create user khusus replication misalnya user rep_db
root@master:~# mysql -u root -p
Enter password:
mysql> GRANT REPLICATION SLAVE ON *.* TO ' rep_db'@'%' IDENTIFIED BY 'password_kamu';
--------------
mysql> GRANT ALL ON databasename.* TO repl@'%' IDENTIFIED BY 'put_some_pass_here';
mysql> FLUSH PRIVILEGES;
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'%' IDENTIFIED BY 'put_some_pass_here';
------------------
mysql> FLUSH PRIVILEGES;
mysql> USE nama_database;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
Catat informasi yang ditampilkan.
Siapkan database replikasi jika dibutuhkan
Ambil database server jika di komputer local belum ada
mysqldump -u root -p --opt exampledb > exampledb.sql
Unlock databse replikasi
mysql -u root -p
Enter password:
UNLOCK TABLES;
quit;
Sampai disini sisi server harusnya sudah bisa.
Konfigurasi mesin slave (192.168.1.154)
1. Buat database replikasi_db
Samakan dengan nama database diserver
root@slave:~# mysql -u root -p
Enter password:
CREATE DATABASE nama_database;
quit;
2. Konfigurasi my.cnf posisi slave
root@master:~# vim /etc/mysql/my.cnf
[mysqld]
server-id=2
master-host=192.168.1.153
master-user= rep_db
master-password= password_kamu
master-connect-retry=60
replicate-do-db= nama_database
3. Restart service mysql
root@master:~# /etc/init.d/mysql restart
4. Import database dari server
mysql -u root -p exampledb < /path/to/exampledb.sql
Jika tidak ingin import, load database langsung dari server master.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
mysql -u root -p
Enter password:
LOAD DATA FROM MASTER;
quit;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5. SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.1.153', MASTER_USER='rep_db', MASTER_PASSWORD='rahasia', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
START SLAVE;
Quit;
Sampai disini setingan untuk slave seharusnya sudah oke, silahkan tes menggunakan phpMyAdmin atau via mysql console dan bandingkan isi kedua database lalu coba lakukan perubahan data didatabase master.

|
|
|