Cara menggunakan restore table mysql

Cara menggunakan restore table mysql

Bismillaahirrohmaanirrohiim…

Tujuan penulisan ini adalah untuk:

  • Melakukan backup data besar MySQL
  • Dilakukan menggunakan command line
  • Restore file SQL ke database

Artinya jika hanya backup restore database kecil menggunakan PHPMyAdmin sudah cukup mudah.

Oke, langkah pertama adalah buka Command Prompt kalau di windows, ketik CMD lalu enter

Arahkan pointer ke mysql bin, contoh

cd D:\xampp\mysql\bin
Perintah Backup Database besar dengan Command Line
mysqldump -u root -p namadatabase > "D:\lokasi_backup\namadatabase.sql"
Perintah Backup table besar MySQL
mysqldump -u root -p namadatabase namatable > "D:\lokasi_backup\namatable.sql"

Saat perintah di atas dijalankan, akan ada prompt notifikasi untuk memasukkan password MySQL.

Untuk melakukan bypass agar tidak ada peringatan untuk memasukkan username atau password, silahkan modifikasi file my.ini

[mysqldump]
quick
max_allowed_packet = 16M
password=123
user=root

Maka perintah backupnya akan berubah menjadi

mysqldump -u root namadatabase > "D:\lokasi_backup\namadatabase.sql"

atau

mysqldump namadatabase > "D:\lokasi_backup\namadatabase.sql"
Perintah Restore database besar mySQL
mysql database_name -u root -p namadatabase < "D:\lokasi_backup\namadatabase.sql"

pakai cara di atas terkadang ada masalah, yaitu jika kita restore file ke 2, ke 3, dst, yang di import cuma yang pertama.

bisa juga dengan menggunakan perintah di bawah ini (DIREKOMENDASIKAN).

mysql -u root
show databases;
use namadatabase;
source "D:\lokasi_backup\namadatabase.sql"

Updated:

Perintah backup dan restore hanya berbeda tanda > (untuk backup) dan < (untuk restore), jadi harus hati-hati saat menjalankan perintahnya.

mysqldump -u root -p namadatabase > "D:\lokasi_backup\namadatabase.sql"
dan
mysqldump -u root -p namadatabase < "D:\lokasi_backup\namadatabase.sql"

Adakalanya perintah backup atau restore di atas gagal, jadi harus masuk ke MySQL menggunakan command LINE:

//masuk MySQL
mysql -u userdatabase -p
//masukkan password
use namadatabase
//untuk restore 
source /home/domain.com/public_html/database.sql

Tambahan info:

1. Kadangkala saat import data besar ada masalah, yaitu “MySQL Error 1153 – Got a packet bigger than ‘max_allowed_packet’ bytes”, ini perlu merubah file my.ini atau my.cnf pada parameter max_allowed_packet atau max max yang lainnya.

Kemudian masuk mysql via command line, dan jalankan perintah di bawah ini:

set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;

Setelah itu bisa direstart mysqlnya.

2. Jika errornya set foreign_key_checks = on error, maka import tidak bisa dilakukan via phpmyadmin, langsung via command line.

3. Setelah import sukses, jika ada error SELECT command denied to user ‘pma’@’localhost’ for table ‘pma_table_uiprefs’, saat klik tabel di phpmyadmin, maka perlu di reset cookienya dengan cara klik icon keluar disamping icon home pada phpmyadmin pojok kiri atas.

Demikian, semoga bermanfaat.

Kamu bisa melakukan proses backup dan restore database MySQL langsung di server atau backup secara remote menggunakan komputer ke server.

Hasil backup bisa ditentukan berupa plain text dalam format *.sql atau menggunakan file kompresi *.gz jika database mu besar agar hasil backup menjadi lebih kecil.

Kamu juga bisa setting agar proses backup database dilakukan secara otomatis dengan jadwal waktu yang bisa kamu tentukan.

Pembahasan artikel cara backup & resotre mysql via terminal berisi:

  • Perintah mysqldump
  • Cara Backup & Restore Database
  • Cara Backup Database Masal
  • Cara backup Otomatis

Cara Backup Database MySQL Dengan mysqldump

Aplikasi mysqldump otomatis terpasang saat kamu install aplikasi MySQL, jadi kamu bisa langsung menggunakannya dan lokasi file mysqldump tersimpan dalam satu folder dengan aplikasi mysql.

Cara menggunakan perintah mysql backup:

mysqldump [OPTIONS] namadatabase > filebackup.sql

Penjelasan. Perintah mysqldump bisa di sertai dengan options yang tersedia lalu di ikuti dengan nama database yang akan di backup lalu akan di simpan hasil backup menjadi filebackup.sql setelah itu kamu bisa simpan hasil backup di tempat yang aman.

Akun dan OPTIONS Perintah mysqldump

Proses backup di MySQL biasanya membutuhkan user dan password oleh karena itu kamu perlu tau username dan password server MySQL yang akan di backup.

Setelah itu kamu bisa melakukan proses backup dengan user dan password menggunakan opsi -u untuk memasukan user dan dan -p untuk memasukan password.

Contoh perintahnya lengkapnya seperti ini:

mysqldump -u root -p namadb > hasilbackup.sql

Durasi Proses Backup

Sewaktu menjalankan proses backup di tunggu saja sampai proses selesai cepat atau lama bergantung dari kecepatan komputer dan besar file yang akan di backup.

Jadi tunggu hingga proses selesai dan pastikan tidak ada pesan error sewaktu backup ini penting untuk diperhatikan.

Cara Backup dan Restore Database MySQL

Proses backup dan restore database MySQL bisa dilakukan langsung di server atau kamu bisa melakukan backup dari server ke komputer kamu secara remote.

Jika database mu besar banget maka baiknya kamu menggunakan fitur kompresi saat backup agar hasil backup menjadi lebih kecil.

Backup Langsung di Server Tanpa Kompresi

Kamu bisa lakukan cara ini untuk melakukan backup database di server lalu menyimpan hasil backup masih di server yang sama, misalnya kamu simpan di folder yang berbeda

Cara ini bisa kamu gunakan jika ukuran database mu tidak terlalu besar.

Backup database website_belajarlinux ke dalam file backup_website_belajarlinux.sql

$ sudo mysqldump -u root -p website_belajarlinux > backup_website_belajarlinux.sql

Restore backup_website_belajarlinux.sql ke database yang baru dengan perintah berikut:

$ sudo mysql -u root -p website_baru < backup_website_belajarlinux.sql

Backup Langsung di Server Dengan Kompresi

Cara ini sangat direkomendasikan jika ukuran database mu besar agar file backup menjadi kecil sehingga cepat ditransfer antar server ataupun didownload.

Backup database blog_linux ke dalam file blog_linux.sql.gz yang sudah langsung terkompres dengan ukuran file yang lebih kecil

$ mysqldump -u username -p blog_linux | gzip -9 > blog_linux.sql.gz

Restore mengembalikan backup database blog_linux.sql.gz yang telah terkompres ke server dengan nama database blog_linux.

$ zcat blog_linux.sql.gz | mysql -u username -p blog_linux

Backup & Restore Secara Remote Dari client/Laptop Mu

Kamu bisa backup database yang ada di server menggunakan komputermu langsung.

Syaratnya di komputermu sudah terinstall aplikasi mysqldump.

Jika belum ada maka install MySQL di komputermu maka otomatis aplikasi mysqldump akan terinstall.

Backup database website_belajarlinux yang ada di dserver IP server 113.34.1.14 ke dalam file backup_website_belajarlinux.sql di komputer kamu

$ sudo mysqldump -h "113.34.1.14" -u root -p website_belajarlinux > backup_website_belajarlinux.sql

Restore file backup_website_belajarlinux.sql dari laptop ke server yang ada di IP 113.34.1.14

$ sudo mysql -h  "113.34.1.14" -u root -p website_belajarlinux <  backup_website_belajarlinux.sql

Cara Backup Database MySQL Secara Masal

Apa lagi nih? Iya ini hanya tips dan trik bonus tambahan dari saya untuk proses backup berdasarkan pengalaman pribadi.

Server biasanya berisi banyak database, maka kamu bisa melakukan proses backup beberapa database yang dipilih atau bisa juga semua/sekaligus.

Backup Beberapa Database Sekaligus

Didalam satu server database biasanya terdapat beberapa database maka akan sangat melelahkan melakukan proses backup database satu per satu maka lebih baik gunakan cara ini:

$ sudo mysqldump -u root -p --databases website1 website2 aplikasi_db > backup_db.sql

Penjelasan. Perintah di atas akan melakukan proses backup data yang ada di database website1, website2 dan aplikasi_db kedalam 1 file backup yaitu backup_db.sql

Backup Semua Database

Kalau tidak mau pusing kamu lakukan cara ini untuk backup semua database yang ada di server

$ sudo mysqldump -u root -p --all-databases > all_databases.sql

Penjelasan. Semua database akan di backup ke dalam file all_database.sql

Setelah backup dengan –all-databases mungkin selanjutnya kamu hanya mau restore salah satu database saja maka kamu bisa pakai cara ini

$ mysql --one-database aplikasi_db < all_databases.sql

Backup Database MySQL Otomatis

Pasti capek kan backup setiap hari? Nah proses backup bisa di buat otomatis dengan menggunakan bantuan cron-job di linux.

Jalankan perintah ini cukup sekali saja, gunanya untuk menambah perintah ke cron-job sehingga proses backup dapat berjalan otomatis setiap hari pada pukul 3.00 pagi hari.

sudo echo $(crontab -l ; echo '0 03 * * * mysqldump -u root -pPASSWORDKAMU --all-databases > ~/all_databases.sql') | crontab -

Penjelasan. Ganti PASSWORDKAMU dengan password database milik kamu, backup akan berjalan otomatis setiap hari jam 3 pagi file backup akan di simpan di folder /root/all_databases.sql

KESIMPULAN

Sekarang kamu sudah tau cara backup menggunakan terminal sekarang tinggal kamu melakukan tugas kamu untuk melakukan proses backup.

Proses backup bisa dilakukan secara berkala secara otomatis atau sesuai kebutuhan yang kamu perlukan.

Dengan menggunakan aplikasi mysqldump kamu bisa melakukan proses backup dan restore langsung di server atau kamu bisa melakukannya dari komputer kamu yang di remote ke server.

Akhir kata, selamat mencoba kalau kamu ada pertanyaan silakan isi komentar di bawah.