Script Untuk Restore Database dengan PHP

Posted on Updated on


Fitur untuk melakukan restore database yang sudah kita backup sebelumnya sangatlah penting dalam sebuah sistem. File database yang dibackup disini berbentuk SQL Dump. File SQL Dump yang saya maksud adalah hasil backup database yang berbentuk query. Jadi dalam file SQL Dump tersebut terdapat banyak query-query SQL untuk membuat databasenya. Logikanya, ketika kita melakukan restore database, maka akan terdapat sebuah form, bentuk formnya kurang lebih sama seperti form upload foto. Kemudian, kita akan mengklik browse lalu kita pilih file SQL Dump yang telah kita backup sebelumnya. Jika sudah dipilih tekan tombol Restore untuk melakukan restore database. Pertama buatlah kira-kira form seperti ini:

Untuk melakukan restore database, kita menggunakan perintah

mysql -u[usernamedb] -p[passworddb] namadatabase < sqldump>

Usernamedb yang dimaksud adalah nama user untuk masuk ke mysql, passworddb adalah password untuk masuk ke database, namadatabase adalah nama dari database, dan sqldump adalah nama file yang telah kalian backup sebelumnya. Saya asumsikan nantinya file sql dump yang direstore ini akan diletakkan di Program Files, Xampp, Mysql, Data seperti letak file-file biasanya jika kalian menggunakan Xampp Control Panel. Ketika file sudah di upload, maka script query-query yang terdapat dalam file sql dump akan dijalankan sehingga database akan di restore. Jika proses restore sudah selesai, maka kita akan menghapus file sql dump dengna perintah unlink karena sudah tidak berfungsi lagi.

<?php
// koneksi ke db mysql
$host = “localhost”;
$username = “root”;
$password = “xxx”;
$dbname = “namadatabase”;
mysql_connect($host, $username, $password );
mysql_select_db($dbname);
echo “<h1>
Restore Data MySQL</h1>
“;

// form upload file dumo
echo “
<form action=””.$_SERVER[” enctype=”multipart/form-data” method=”post” php_self’].”?action=”restore'”>
“;
echo “<input name=”MAX_FILE_SIZE” type=”hidden” value=”20000000″ />
<input name=”filedump” type=”file” />
<input name=”submit” type=”submit” value=”Restore” />”;
echo “</form>
“;

// proses restore data
if ($_GET[‘action’] == “restore”)
{
// baca nama file
$namafile= $_FILES[‘filedump’][‘name’];
// proses upload file
move_uploaded_file($_FILES[‘filedump’][‘tmp_name’],$namafile);
// membentuk string command untuk restore
$string = “C:\ProgramFiles\Xampp\mysql\data\mysql -u”.$username.” -p”.$password.” “.$dbname.” < “.$namafile;
// menjalankan command restore di shell via PHP
exec($string);
// hapus file dump yang diupload
unlink($namafile);
}
?>

Saya asumsikan lagi bahwa file untuk merestore database ini diletakkan pada direktori yang sama dengan file sql dump di upload. Dengan fitur ini maka aplikasi yang anda buat terlihat semakin sempurna. Silahkan terapkan sesuai dengan kebutuhan kalian masing-masing. Semoga referensi ini membantu.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s