Belum lama ini saya melakukan migrasi database mysql dari 1 mesin ke mesin yang lain yang mana lokasi mesin tersebut berjauhan bahkan sudah beda negara. Migrasi ini dilakukan melalui jaringan internet.
Karena kondisinya sedang non aktif pekerjaan ini menjadi lebih sederhana. Berikut urutan yang dilakukan.
Mari kita asumsinya sebagai berikut
- ip mesin sumber 12.34.56.78 kita sebut sebagai mesin A
- ip address mesin barunya 87.65.43.21 kita sebut sebagai mesin B
- Nama database adalah DATAGUA
Pastikan mysql di mesin A dapat di buka menggunakan akses internet.
Pada konfigurasi mysql
bind-address = 12.34.56.78
Lalu buatlah sebuah user yang memberikan ijin user misalnya user “asalnya” boleh mengakses accountnya dari ip tertentu. Kita lakukan query berikut menggunakan mysql shell
GRANT ALL ON *.* TO asalnya@'87.65.43.21' IDENTIFIED BY 'passwordnya';
Untuk memberikan akses terbatas dapat mengganti *.* pada perintah mysql dengan database.*
lalu dari mesin B kita mengakses database menggunakan mysqldump melalu perintah shell seperti contoh berikut
mprasodjo@gauli.com:~$ mysqldump -u asalnya -p -h 12.34.56.78 DATAGUA > DATAGUA_dump.sql
Kemudian kita bisa duduk tenang dulu ngopi ngopi karena berapa lama selesainya mysqldump ini bekerja tergantung pada berapa besar data dan juga seberapa cepat koneksi yang dimiliki ke-2 mesin.
Setelah selesai mysqldump akan langsung kembali ke prompt.
Berikutnya yang kita lakukan adalah
buatlah database terlebih dahulu
mprasodjo@gauli.com:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 366 Server version: 5.5.28-0ubuntu0.12.04.3 (Ubuntu) Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> mysql>create database DATAGUA;
Kemudian dari shell
mprasodjo@gauli.com:~$ mysql -u root -p DATAGUA < DATAGUA_dump.sql
Dan datapun telah berpindah dan siap digunakan.
*nyeruput kopi dulu