Cara backup database MySQL menggunakan PHP

5
Cara backup database MySQL menggunakan PHP

Membackup database adalah tugas yang paling penting bagi setiap pengembang web. Membackup database secara reguler mencegah risiko kehilangan data dan membantu mengembalikan database jika ada masalah. Jadi, backuplah database bila memungkinkan.

Ada banyak cara yang tersedia untuk membackup database MySQL dalam sebuah file dan kamu bisa membackup database dalam satu klik dari server hostingmu. Tapi kalo kamu ingin mengambil backup’an database MySQL tanpa login ke server hosting atau phpMyAdmin, kamu bisa melakukannya menggunakan script PHP. Dalam tutorial ini, kita akan membuat script PHP untuk membackup database MySQL dan menyimpannya di file SQL.

Cara melakukan backup database MySQL dengan menggunakan PHP

Semua kode PHP akan dikelompokkan bersama dalam fungsi backupDatabaseTables(). Menggunakan fungsi backupDatabaseTables(), kamu dapat membuat cadangan/backup tabel tertentu atau semua tabel dari database. Parameter-parameter berikut diperlukan untuk membackup database MySQL menggunakan PHP.

  • $dbHost – Diperlukan. Untuk menentukan host database.
  • $dbUsername – Diperlukan. Untuk menentukan username database.
  • $dbPassword – Diperlukan. Untuk menentukan password database.
  • $dbName – Diperlukan. Untuk menentukan nama database.
  • $tables – Opsional. Untuk menentukan nama tabel dalam string atau array yang dipisahkan koma. Hilangkan parameter ini untuk mengambil backup dari semua tabel database.
<?php
//Menghasilkan backup DB
backupDatabaseTables('localhost','root','','pdf');

function backupDatabaseTables($dbHost,$dbUsername,$dbPassword,$dbName,$tables = '*'){

  //menghubungkan & memilih DB
    $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);

 //Mendapatkan semua Table
 if($tables == '*'){
  $tables = array();
  $result = $db->query("SHOW TABLES");
  while($row = $result->fetch_row()){
   $tables[] = $row[0];
  }
 }else{
  $tables = is_array($tables)?$tables:explode(',',$tables);
 }

 //Loop melalui Table
 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] = ereg_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";
 }

 //simpan file
 $handle = fopen('hasil-db-backup-'.time().'.sql','w+');
 fwrite($handle,$return);
 fclose($handle);
}

Penggunaan:

Gunakan fungsi backupDatabaseTables() di PHP untuk menghasilkan backup database MySQL dan menyimpannya ke dalam file SQL. Kamu bisa mengembangkan script ini.

backupDatabaseTables('localhost','root','','codingan');

Pecandu Aceh Gayo dan 182. Follow Instagram ↓↓↓

BAGIKAN

Leave a Reply

5 Komentar di "Cara backup database MySQL menggunakan PHP"

Beritahu
avatar
400
Urut berdasarkan:   terbaru | terlama | vote teratas
aguestpd
Tamu

maaf kok muncul error ya mas

wpDiscuz