Untuk menjaga aplikasi yang sedang online di sebuah server penting sekali melakukan manajemen terhadap data yang tersimpan pada server tersebut. Jika cara manual biasanya kita melakukannya dengan masuk kedalam database server yang ada, atau melalui aplikasi database phpmyadmin.
Nah untuk kali ini kita akan membuat cara membackup database berserta tabel dan field-fieldnya dan juga termasuk data yang ada didalam databasenya. Caranya cukup mudah dan simpel. Yang terpenting adalah kamu harus tahu nama datatabase yang digunakan, username database dan passwordnya.
Cara Simpel Backup Database MYSQL dengan PHP
function backup_database($tables = ‘*’){
$server = “localhost”; $username = “root” ; $password = “” ; $database = “spp“;
//koneksi database$con = new mysqli($server,$username,$password,$database); if($con->connect_error){ die(“Koneksi gagal: “.$con->connect_error); }
$db = $con;
//mengambil semua tabel pada databaseif($tables == ‘*’){ $tables = array(); $result = $db->query(“SHOW TABLES”); while($row = $result->fetch_row()){ $tables[] = $row[0]; } }else{ $tables = is_array($tables)?$tables:explode(‘,’,$tables); }
//memecah semua tabel
foreach($tables as $table){ $result = $db->query(“SELECT * FROM $table”); $numColumns = $result->field_count;
$return .= “DROP TABLE $table;”;
$result2 = $db->query(“SHOW CREATE TABLE $table”); $row2 = $result2->fetch_row();
$return .= “\n\n”.$row2[1].”;\n\n”;
for($i = 0; $i < $numColumns; $i++){ while($row = $result->fetch_row()){ $return .= “INSERT INTO $table VALUES(“; for($j=0; $j < $numColumns; $j++){ $row[$j] = addslashes($row[$j]); $row[$j] = str_replace(“\n”,”\\n”,$row[$j]); if (isset($row[$j])) { $return .= ‘”‘.$row[$j].'”‘ ; } else { $return .= ‘””‘; } if ($j < ($numColumns-1)) { $return.= ‘,’; } } $return .= “);\n”; } }
$return .= “\n\n\n”; }//menyimpan file kedalam root aplikasi
$handle = fopen(‘db-backup-‘.time().’.sql’,’w+’); fwrite($handle,$return); fclose($handle);}
Script php diatas adalah berupa fungsi dengan nama backup_database. Untuk memanggilnya kamu tinggal panggil saja dimana script ini adakan kamu letakkan dengan cara menggunakan fungsi tersebut yaitu backup_database();
Yang perlu kamu atur yaitu script berwarna merah dan biru. Untuk yang berwarna biru merupakan database yang akan di backup. Pada kasus ini database yang akan saya backup yaitu database spp.
Nantinya database yang tersimpan akan secara otomatis terdownload didalam root aplikasi apda server yang kamu gunakan. Jadi untuk mengambilnya kamu hanya perlu masuk ke root aplikasi web yang ada.