Featured Post

Membuat Backup Databse Sendiri

Membuat Backup Databse Sendiri

kali ini saya akan share tutorial cara membuat backup database dengan menggunakan PHP, dalam tutorial ini contoh database yang akan di backup adalah MySQL, dengan menggunakan backup database ini anda tidak perlu membackup dari PhpMyAdmin atau dari cpanel karena dengan ini anda bisa menempatkan kode backup database ini di dalam web aplikasi yang sudah anda buat maupun yang sedang di kerjakan.
karena satu tugas yang paling penting setiap pengembang web aplikasi adalah perlunya sering melakukan backup database, padahal sebagian besar web hosting baik yang free maupun berbayar tidak mengijinkan exec() di dalam PHP. mungkin dengan tutorial ini bisa menjadi alternatif untuk membackup database anda
Ok petama buatlah projek dengan nama terserah anda kemudian buat file koneksi.php dan simpan di dalam projek yang sudah anda buat, lalu salin kode berikut
<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'dbiubttgis';

$conn = mysql_connect($host, $user, $pass);
mysql_select_db($db, $conn);
untuk $host, $user, $pass dan $db, ganti dan sesuaikan dengan database yang akan anda backup
selanjutnya buat file dengan nama function.php dan simpan file di dalam projek yang sudah anda buat, lalu salin kode berikut
<?php
// set function backup
function backup_db($table = '*') {
$result = null;
$tables = array();

// check table yang akan di backup
if ($table == '*') {
$sql = 'SHOW TABLES';
$rs = mysql_query($sql) or die ($sql);

while ($row = mysql_fetch_array($rs)) {
$name = $row[0];

array_push($tables, $name);
}
} else {
$tables = is_array($table) ? $table : explode(',', $table);
}

// loop table
foreach ($tables as $table) {
// create table
$sql = 'SHOW CREATE TABLE '.$table;
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
$create_table = $row[1];

// show data table
$sql = 'SELECT * FROM '.$table;
$rs = mysql_query($sql);

// set field per table
$fields = mysql_num_fields($rs);

// create comment table
$result .= "--------------------\n";
$result .= '-- CREATE TABLE '.$table."\n";
$result .= "--------------------\n";
$result .= 'DROP TABLE '.$table.";\n";
$result .= $create_table."\n\n";

// loop field per table
for ($i=0; $i<$fields; $i++) {

// loop data table
while($row = mysql_fetch_array($rs)) {
$result .= 'INSERT INTO '.$table.' VALUES (';

// loop value field per table
for ($j=0; $j<$fields; $j++) {
$row[$j] = addslashes($row[$j]);
$row[$j] = preg_replace('/\n/i','\\n',$row[$j]);

if (isset($row[$j])) {
$result .= '"'.$row[$j].'"';
} else {
$result .= 'NULL';
}

$result .= $j < ($fields - 1) ? ', ' : '';
}

$result .= ");\n";
}
}
$result .= "\n\n\n";
}

// simpan file sql
$handle = fopen('db-backup-'.time().'-'.md5(implode(',', $tables)).'.sql', 'w+');
fwrite($handle, $result);
fclose($handle);
}
file function ini yang akan memproses backup dari database yang sudah anda tentukan di file koneksi
dan yang terakhir buat file dengan nama index.php kemudian simpan di dalam projek yang sudah anda buat lalu salin kode berikut
<?php
// load koneksi dan function
require_once __DIR__.'/koneksi.php';
require_once __DIR__.'/function.php';

// show table dari database
$sql = 'SHOW TABLES';
$rs = mysql_query($sql) or die ($sql);

if (isset($_POST['backup'])) {
backup_db($_POST['table']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>MEMBUAT BACKUP DATABSE SENDIRI</title>
<script type="text/javascript">
window.onload = function() {
_('all-table', 'id').addEventListener('click', function(e) {
var checked = _('all-table', 'id').checked,
tables = _('table', 'class');

for(var i=0; i<tables.length; i++) {
if (checked) {
tables[i].checked = true;
} else {
tables[i].checked = false;
}
}
});
}

function _(element, type) {
var e = type == 'id' ? document.getElementById(element) : document.getElementsByClassName(element);
return e;
}
</script>
</head>
<body style="font-style: Verdana; font-size: 14px">
<form method="POST">
<h3>LIST TABLE</h3>
<hr />
<label><input type="checkbox" id="all-table" /> <b>Semua table</b></label>< br />
<?php while ($row = mysql_fetch_array($rs)) { ?>
<label><input type="checkbox" name="table[]" class="table" value="<?php echo $row[0]; ?>" /> <?php echo $row[0]; ?></label>< br />
<?php } ?>
<hr />
<button type="submit" name="backup">BACKUP DATABASE</button>
<p>* pilih table yang akan anda backup</p>
</form>
</body>
</html>
sekarang buka projek yang sudah anda buat dengan browser, jika tidak terjadi error maka anda akan mendapatkan tampilan dengan semua table yang ada di databse yang sudah anda tentukan, setelah itu coba anda ceklist salah satu table atau lebih kemudian klik button backup database, setelah itu buka projek yang sudah anda buat anda akan menemukan file bari dengan nama db-backup-... dengan ekstensi .sql
dalam tutorial ini saya membackup table categories dengan isi file .sql sebagai berikut



ada 3 untuk menggunakan function backup_db yaitu :
1. backup_db('*') jika di jalankan dalam script maka semua table yang ada di database anda akan di backup
2. backup_db('table_1, table_2') jika di jalankan dalam script maka table_1 dan table_2 table yang ada di database anda akan di backup
3. backup_db(array('table_1', 'table_2')) jika di jalankan dalam script maka table_1 dan table_2 table yang ada di database anda akan di backup
cara 2 dan 3 akan menghasilkan output yang sama, jadi anda hanya perlu memilih salah satu dari ke 3 cara di atas
Ok. sampai disini dulu tutorial kali ini selamat mencoba dan semoga bisa bermanfaat
DONASI VIA PAYPAL Bantu berikan donasi jika artikelnya dirasa bermanfaat. Donasi akan digunakan untuk memperpanjang domain https://apaitu10.blogspot.com/. Terima kasih.
Postingan Lebih Baru Postingan Lebih Baru Postingan Lama Postingan Lama

Postingan lainnya

Komentar

Posting Komentar