Membuat Auto Backup Database Mysql Menggunakan PHP

17/09/2019    Shelli Ripati    75     Website

Haloo teman-teman Dumet School, pada kesempatan kali ini saya akan Membuat Auto Backup Database Mysql Menggunakan PHP. Dimana saya akan membuat function untuk backup database mysql menggunakan php dan akan saya looping dengan settimeout dengan durasi tertentu. Agar function backup tersebut terus berjalan sesuai waktu yang kita tentukan.

Langkah pertama teman-teman buat file dengan nama backup.php untuk membuat function backup seperti pada script di bawah ini.

    <?php

    backupDatabaseTables('localhost','dumet','school','test');
    //membuat function backup database
    function backupDatabaseTables($dbHost,$dbUsername,$dbPassword,$dbName,$tables = '*'){
      //menghubungkan & memilih database
        $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
     //Mendapatkan semua Table dengan (*)
     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 , alamat penyimpanan dan nama file
     $handle = fopen('backup/dumet-school.sql','w+');
     fwrite($handle,$return);
     fclose($handle);
    }

Jika sudah maka tahap selanjutnya teman-teman buat file dengan nama index.php yang berisi script untuk melooping function yang sudah di buat sebelumnya.

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

<script>
        function backupDatabaseTables(){
            $.get("backup.php", function(){
            })
            setTimeout(backupDatabaseTables, 500000);
        }
        backupDatabaseTables();     
</script>

Dan jika sudah maka teman-teman buat satu folder backup untuk menyimpan file hasil backup databasenya. maka akan tampil seperti pada gambar di bawah ini.

Membuat Auto Backup Database Mysql Menggunakan PHP

Demikian artikel tentang cara Membuat Auto Backup Database Mysql Menggunakan PHP. Semoga dapat bermanfaat dan buat teman-teman yang ingin mencoba silahkan mencobanya.

No data.

Cara Cepat Pintar Membuat Website, Tanpa Perlu Basic IT

Membuat website perusahaan, portal berita, blog, katalog online, dan e-commerce.

Learn More

Cara Cepat Pintar Membuat Website, Tanpa Perlu Basic IT

Membuat website perusahaan, portal berita, blog, katalog online, dan e-commerce.

Learn More