Cara Membuat Backup Database Mysql Dengan Php Di Linux
Cara Membuat Backup Database Mysql Dengan Php Di Linux
namun rasanya kayak mempersulit jika kita tiap backup data harus mengetikkan printah tersebut di terminal, oleh karena itu kita buat saja programnya atau kita tambah fiturnya di dalam sistem yang kita buat, berikut caranya
pertama kita buat dulu file atau form backup-nya.
simpan code berikut dengan nama backup.php
<?php //variabel database $host="localhost"; $user="root"; $pass="1"; $db="smabukit"; //koneksi database $koneksi=mysql_connect($host,$user,$pass); //bila terkoneksi if($koneksi){ //pilih database mysql_select_db($db); }else{ echo "Database tidak terkoneksi"; } echo " SILAKAN TANDAI TABEL YANG INGIN DI BACKUP DARI DATABASE "; echo " BERIKUT INI DAFTAR TABEL DARI DATABASE: ".$DB." "; // query untuk menampilkan semua tabel dalam database $query = "SHOW TABLES"; $hasil = mysql_query($query); // menampilkan semua tabel dalam form echo ""; echo ""; while ($data = mysql_fetch_row($hasil)) { echo " ".$data[0]." "; } echo " “; “; <span style="background-color: white;"><span style="color: #2c3e50; display: inline ! important; float: none; font-family: Roboto_Regular,Roboto,'Roboto Regular','Franklin Gothic Medium','Franklin Gothic Book','Lucida Sans','Lucida Sans Unicode',Helmet,Freesans,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><code><br /></code></span></span> 1 <span style="background-color: white;"><span style="color: #2c3e50; display: inline ! important; float: none; font-family: Roboto_Regular,Roboto,'Roboto Regular','Franklin Gothic Medium','Franklin Gothic Book','Lucida Sans','Lucida Sans Unicode',Helmet,Freesans,sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; text-align: center; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"><code><br /></code></span></span> echo " "; echo " ?>
maka hasilnya akan seperti gambar berikut
dari gambar diatas maka hasil backup kita akan terdownload, maka dengan demikian kita bisa import kembali ke database jika suatu saat kita butuhkan, dan lebih untungnya lagi kita bisa tentukan tabel mana saja yang akan kita backup, bisa satu tabel, atau dua tabel atau bahkan semua tabel, oke yang terakhir kita buat proses backup yang gunanya untu memeroses backup, simpan code berikut dengan nama proses_backup.php
<?php //variabel database $host=”localhost”; $user=”root”; $pass=”1″; $db=”smabukit”; //koneksi database $koneksi=mysql_connect($host,$user,$pass); //bila terkoneksi if($koneksi){ //pilih database mysql_select_db($db); }else{ echo “Database tidak terkoneksi”; } ?> <?php // membaca tabel-tabel yang dipilih dari form $tabel = $_POST[‘tabel’]; // proses untuk menggabung nama-nama tabel yang dipilih // sehingga menjadi sebuah string berbentuk ‘tabel1 tabel2 tabel3 …’ $listTabel = “”; foreach($tabel as $namatabel) { $listTabel .= $namatabel.” “; } // membentuk string command menjalankan mysqldump // diasumsikan file mysqldump terletak di dalam folder C:AppServMySQLbin $command = “mysqldump -u”.$user.” -p”.$pass.” “.$db.” “.$listTabel.” > “.$db.”.sql”; // perintah untuk menjalankan perintah mysqldump dalam shell melalui PHP exec($command); // bagian perintah untuk proses download file hasil backup. header(“Content-Disposition: attachment; filename=”.$db.”.sql”); header(“Content-type: application/download”); $fp = fopen($db.”.sql”, ‘r’); $content = fread($fp, filesize($db.”.sql”)); fclose($fp); echo $content; exit; ?>
catatan untuk menjalankannya silakan sesuaikan dulu koneksinya dengan koneksi database kawan-kawan, kemudian perlu di ingat script untuk membackup data di linux tersebut yaitu
$command = "mysqldump -u".$user." -p".$pass." ".$db." ".$listTabel." > ".$db.".sql";