Membuat Auto Backup Database Mysql Menggunakan PHP
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.
Demikian artikel tentang cara Membuat Auto Backup Database Mysql Menggunakan PHP. Semoga dapat bermanfaat dan buat teman-teman yang ingin mencoba silahkan mencobanya.
Webinar Gratis 2024
Sabtu, 09 Maret 2024
10 Bahasa Rekomendasi Untuk Dipelajari di 2024
Python Developer, Data Science, Web Application
Minggu, 26 Mei 2024, 09.00-13.00 WIB
(4 Jam Membuat Backend di Laravel 11)