Menggunakan mysqldump merupakan cara paling praktis untuk membackup atau memindahkan tabel MySQL dari sebuah komputer ke komputer lainnya. Dalam tutorial belajar MySQL di duniailkom kali ini, saya akan membahas cara membackup database mysql menggunakan mysqldump, serta cara me-restore kembali database tersebut.
Cara Menggunakan Mysqldump
Mysqldump sebenarnya adalah sebuah program atau aplikasi internal yang ikut disertakan ketika kita menginstall MySQL. Anda akan menemukan file mysqldump.exe di dalam folder bin pada folder instalasi MySQL. Jika mengikuti tutorial cara menginstall MySQL di duniailkom, folder tersebut akan berada di alamat D:\MySQL\bin atau D:\MySQL 5.6\bin.
Apabila anda menggunakan setingan default pada saat menginstall MySQL, maka folder aplikasi MySQL ini berada di C:\Program Files\MySQL\MySQL Server 5.6\bin.
Aplikasi mysqldump biasanya digunakan untuk membuat file teks external yang berisi seluruh perintah pembuatan tabel beserta isinya. File external ini juga bisa digunakan untuk membackup database, atau untuk memindahkan database ke komputer lain, bahkan ke aplikasi database lain.
Untuk menggunakan mysqldump, kita harus masuk kedalam folder bin MySQL (folder dimana aplikasi mysqldump.exe berada). Perintah mysqldump akan dijalankan dari luar MySQL Client (tidak perlu masuk ke MySQL).
Sebagai contoh tutorial, saya akan membackup seluruh tabel yang ada di dalam database mahasiswa. Berikut perintah yang diperlukan:
D:\MySQL 5.6\bin>mysqldump -u root mahasiswa> mahasiswa_db.sql
Perintah diatas akan membuat sebuah file teks di dalam folder D:\MySQL 5.6\bin dengan nama mahasiswa_db.sql. Anda boleh menggunakan nama file dan extension apa saja. Extension *.sql sendiri sudah menjadi ‘standar’ untuk file teks yang berisi query MySQL.
Selain itu, perintah diatas berasumsi bahwa anda menggunakan user root tanpa password. Apabila menggunakan password, maka perintahnya akan seperti ini:
D:\MySQL 5.6\bin>mysqldump -u root -p password mahasiswa> mahasiswa_db.sql
Untuk memastikan, silahkan buka folder D:\MySQL 5.6\bin dan cari file mahasiswa_db.sql. File inilah yang berisi seluruh perintah MySQL untuk membuat seluruh tabel beserta isinya dari database mahasiswa. Anda bisa membuka file ini menggunakan aplikasi teks editor.
Cara Me-restore File hasil Mysqldump
Setelah file hasil mysqldump tersedia, kita akan mencoba menginput kembali file external ini kedalam MySQL.
Sebagai persiapan awal, kita harus menyiapkan sebuah database untuk menampung tabel yang akan diinput. Ini karena file hasil mysqldump memang tidak menyertakan pembuatan database. Sebagai contoh, saya membuat sebuah database mahasiswa_baru:
D:\MySQL 5.6\bin>mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 13 Server version: 5.6.22 MySQL Community Server (GPL)  Copyright (c) 2000, 2014, 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> CREATE DATABASE mahasiswa_baru; Query OK, 1 row affected (0.00 sec)
Untuk menjalankan file mahasiswa_db.sql, terdapat 2 cara: dari luar MySQL Client, atau dari dalam MySQL Client (menggunakan perintah source). Kedua cara ini telah saya bahas dalam tutorial Cara Menjalankan Query MySQL dari File Teks.
Kali ini saya akan menggunakan cara dari luar MySQL Client. Silahkan keluar dari MySQL Client (jika masih berada di dalamnya), kemudian gunakan perintah berikut:
D:\MySQL 5.6\bin>mysql -u root mahasiswa_baru < mahasiswa_db.sql
Perhatikan bahwa kali ini saya tidak menggunakan mysqldump, tapi hanya mysql saja. Setelah memberikan informasi tentang user (root), berikutnya adalah perintah mahasiswa_baru < mahasiswa_db.sql. Perintah ini berarti: input file mahasiswa_db.sql ke database mahasiswa_baru. Jika tidak ada pesan error yang tampil, maka tabel daftar_dosen dan mata_kulian telah sukses diinput ke database mahasiswa_baru.
Untuk memastikan, silahkan masuk ke MySQL Client dan periksa database mahasiswa_baru:
D:\MySQL 5.6\bin>mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 Server version: 5.6.22 MySQL Community Server (GPL)  Copyright (c) 2000, 2014, 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> USE mahasiswa_baru; Database changed mysql> SHOW TABLES; +--------------------------+ | Tables_in_mahasiswa_baru | +--------------------------+ | daftar_dosen            | | mata_kuliah             | +--------------------------+ 2 rows in set (0.00 sec)  mysql> SELECT * FROM daftar_dosen; +------------+------------------+------------+-----------+ | NIP       | nama_dosen      | no_hp     | alamat   | +------------+------------------+------------+-----------+ | 0160436012 | Sabrina Sari    | 0812349900 | Pekanbaru | | 0260432002 | Maya Ari Putri  | 0812345234 | Palembang | | 0275430005 | Susi Indriani   | 0812656532 | Palembang | | 0480432066 | Tia SariSantrini | 0812451177 | Padang   | | 0576431001 | M. Siddiq       | 0812979005 | Jakarta  | | 0770435006 | Rubin Hadi      | 0812567678 | Papua    | | 0869437003 | Arif Mustalifah | 0812338877 | Aceh     | | 1080432007 | Arif Budiman    | 0812456345 | Jakarta  | +------------+------------------+------------+-----------+ 8 rows in set (0.00 sec)
Dapat terlihat, kedua tabel telah sukses di bentuk.
Perintah mysqldump merupakan salah satu perintah paling penting di dalam MySQL. mysqldump bisa digunakan untuk melakukan backup database secara reguler untuk mengantisipasi hal-hal yang tidak diinginkan.
Misi mas,,kalau mysqldump script ny d buat kedalam php atau java untuk back up sma restore database gmn cara ny,mas?..makasish sebelumny y mas..
maaf mas, saya punya database dengan nama "warna". dan saya sudah mengetik query C:\xampp\mysql\bin\mysqldump -u root warna> warna.sql dari luar mysql. tapi kenapa file.sql yang saya inginkan gak ada ya? apakah query saya salah?
Saya cek perintahnya sudah benar. Jika tidak ada pesan error, bisa di cek lagi apakah di folder C:\xampp\mysql\bin\ sudah ada file warna.sql atau belum. Bisa juga test dengan tukar ke file lain misalnya warna001.sql. Atau bisa juga test untuk export database lain.
Jika perintahnya salah atau tidak sesuai, seharusnya akan muncul pesan error.