TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Membuat Script PHP untuk Restore Database MySQL


March 28th, 2010 | by rosihanari | Cetak Artikel Cetak Artikel

Dalam artikel sebelumnya, saya telah menulis artikel cara membuat script PHP untuk backup data MySQL melalui mysqldump. Pada artikel kali ini saya akan menulis artikel cara membuat script PHP untuk restore database MySQL sebagai kelanjutan dari artikel tersebut.

Adapun skenario dari script untuk restore data MySQL sebagai berikut. Andaikan kita telah memiliki file hasil dump database. Selanjutnya, untuk merestore hasil dump tersebut kita browse file dump lalu kita klik tombol prosesnya. Selesai… Namun dalam hal ini, kita sudah tentukan dulu nama databasenya.

Berikut ini adalah tampilan form untuk melakukan restore data.

restore mysql

Bagaimana dengan ide proses restorenya? Untuk proses restore data di MySQL, kita gunakan perintah

mysql -u[username] -p[password] dbname < filedump

dengan [username] adalah nama user untuk koneksi ke MySQL, [password] adalah password dari si user. ‘dbname‘ adalah nama database dimana kita ingin merestore data, dan ‘filedump‘ adalah nama file hasil dump (backup). Perintah ini nanti dijalankan di dalam shell.

Lantas… bagaimana dengan ide script untuk restorenya? OK idenya adalah kita lakukan proses upload file dump melalui form. File dump ini akan diupload ke dalam folder yang sama dengan script untuk restore. Setelah file dump diupload, selanjutnya file dump tersebut akan direstore menggunakan perintah di atas. Begitu proses dump selesai, kita hapus file dump yang kita upload tersebut dengan perintah unlink() supaya terhapus secara otomatis.

OK.. ide untuk membuat script restore sudah dapat, sekarang kita bisa buat scriptnya.

restore.php

<?php
// koneksi ke db mysql
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "...";
$dbName = "...";

mysql_connect($dbHost, $dbUser, $dbPass);
mysql_select_db($dbName);

echo "<h1>Restore Data MySQL</h1>";

echo "DB Name: ".$dbName;

// form upload file dumo
echo "<form enctype='multipart/form-data' method='post' action='".$_SERVER['PHP_SELF']."?op=restore'>";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='20000000'>
      <input name='datafile' type='file'>
      <input name='submit' type='submit' value='Restore'>";
echo "</form>";

// proses restore data
if ($_GET['op'] == "restore")
{
  // baca nama file
  $fileName = $_FILES['datafile']['name'];

  // proses upload file
  move_uploaded_file($_FILES['datafile']['tmp_name'], $fileName);

  // membentuk string command untuk restore
  // di sini diasumsikan letak file mysql.exe terletak di direktori C:\AppServ\MySQL\bin
  $string = "C:\AppServ\MySQL\bin\mysql -u".$dbUser." -p".$dbPass." ".$dbName." < ".$fileName;

  // menjalankan command restore di shell via PHP
  exec($string);

  // hapus file dump yang diupload
  unlink($fileName);
}

?>

Bagaimana? mudah bukan membuatnya? nah silakan adopsi ide di atas ke dalam aplikasi yang Anda buat sendiri. Sebuah aplikasi tanpa fitur backup and restore database serasa masakan tanpa garam :-) Selamat mencoba sendiri ya…


Baca Juga Artikel Terkait
Membuat Sendiri Script PHP Untuk Backup MySQL
Script Proses Edit File Yang Telah Diupload Ke Database MySQL
Script PHP untuk Membuat Report Format MS. Excel
Import Data Format XML ke MySQL dengan Script PHP
Membuat Script PHP Untuk Auto Published Artikel Dengan Cron Jobs



Slot iklan tersedia, pasang iklan di atas


Kata kunci: php script - restore database - restore mysql - script mysql - script restore -


Ada 20 komentar dalam artikel ini.



  1. iyan says:

    mas saya uda coba mengutak ngatik scrip ini tp tetep ga jalan.disini saya menggunakan xampp.
    ini pun sudah saya ganti
    C:\AppServ\MySQL\bin\mysql …
    dengan
    C:\xampp\mysql\bin\mysql -u”.$dbUser.” -p”.$dbPass.” “.$dbName.” < ".$fileName;
    mohon penjelasannya mas.

    ato kalo ngga minta perbaikan yang lebih jelas nya.

    regards

  2. edi says:

    cara menggunakan data hasil restorenya, untuk dipakai lagi dalam aplikasi bagaimana ya pak?

  3. fakhri10 says:

    om erorr : Notice: Undefined index: op
    kira2 apa om

    • rosihanari says:

      @fakhri10: penjelasan dan solusi error tsb sudah pernah saya bahas di artikel lain dalam blog ini. Silakan disearch.