Pindahkan data MySQL dari Sono ke Sini

Awalnya adalah karena Saya butuh replika database dari MySQL Server nun jauh di Sono, database replikanya mesti ada di MySQL server yang ada di komputer kerja Saya. Pada awalnya sih mikir untuk mirroring, tapi liat manualnya ternyata agak banyak yang mesti di setting. ya sudah dari pada mumet Saya pake cara tradisional saja deh.

Ide nya adalah begini: Database di server di dump, lalu file sql hasil dump itu di download untuk kemudian di Restore di kompie kerja Saya. Namun semuanya itu saya pengen di masukkan ke dalam satu script saja. Akhirnya ketemulah kombinasinya adalah pake ssh+rsync+ mysqladmin.

Sebetulnya rsync bisa diganti scp, tapi ya karena males baca2 lagi, sidahlah Saya pake rsync aja, Commandnya kan tinggal copy paste edit-edit dikit dari yang kemaren .

yuk, mari dimulai....

STEP 1: Backup database server
backupnya pake mysqldump, tapi karena backupnya server di sono jadinya pake ssh
ssh nama_user@nama_mesin.com "mysqldump -u user_mysql -p'passwordnya' nama_database > /home/nama_user/nama_file.sql"

STEP 2: Ambil hasil backup tadi
rsync -avz -e "ssh -l nama_user " nama_user@nama_mesin.com:/home/nama_user/nama_file.sql

STEP 3: Restore ke database Lokal
Tetapi terlebih dahulu hapus dulu database **silakan dipikirkan kenapanya
mysqladmin drop nama_database -u nama_user -p'passwordnya' -f
mysqladmin create nama_database -u nama_user -p'passwordnya'
mysql -u nama_user -p'passwordnya' fkkm < nama_file.sql

terakhir, hapus aja file sql yang di donlot itu.
Kira2 scriptnya jadi seperti inih:
#!/bin/bash

# backup database di server
echo "Backup database di server..."
ssh nama_user@nama_mesin.com "mysqldump -u user_mysql -p'passwordnya' nama_database > /home/nama_user/nama_file.sql"

# ambil hasil backup
echo "Ambil hasil backup..."
rsync -avz -e "ssh -l nama_usernama_user@nama_mesin.com:/home/nama_user/nama_file.sql .

# Restore di database lokal
echo "Restore di mySql lokal..."
mysqladmin drop nama_database -u nama_user -p'passwordnya' -f
mysqladmin create nama_database -u nama_user -p'passwordnya'
mysql -u nama_user -p'passwordnya' fkkm < nama_file.sql
echo "Data sudah di restore ke mySql lokal!"

# hapus file yang di donlot
rm nama_file.sql



echo "Selesai ^_^"

** yang miring ituh silakan Anda sesuaikan dengan kondisi Anda masing2.

Komentar

Postingan populer dari blog ini