Mohon Maaf atas tidak tercantumnya semua sumber dari konten yang ada di website ini.. Terima Kasih kepada semua yang telah menyadur dan mencantumkan referensi dari website ini, semoga bermanfaat untuk semua.
Restore Database MySQL dengan PHP
16 Maret 2013 - dibaca : 2.597 kali

Restore Database MySQL dengan PHP

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);
}

?>


Terpopuler