من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

دریافت بکاپ از mysql با php

دریافت بکاپ از mysql با php
دریافت بکاپ از mysql با php

دریافت بکاپ از mysql با php

گاهی اوقات ممکن است دسترسی شما به پنل دایرکت ادمین و سی پنل ناموجود شود و نیاز شود یک کپی یا یک بکاپ از دیتابیس mysql خود تهیه کنید که در این حالت دسترسی به phpmyadmin ندارید؛ با کمک این آموزش و این کد می‌توانید یک نسخه از دیتابیس خود را بدون phpmyadmin و با کمک زبان برنامه نویسی php دانلود کنید.

 

دریافت بکاپ از mysql با php

اگر می‌خواهید از بانک اطلاعاتی خود که در بستر phpmyadmin تعریف شده است به سادگی یک نسخه‌ی کپی یا بکاپ تهیه کنید کافیست قطعه کد زیر را در فایلی با پسوند php ذخیره کنید و در سرور خود اضافه کنید. نکته اینکه شاید بگویید اگر دسترسی به هاست نداریم پس چگونه این کار را انجام دهیم؟! برای این‌کار ما فرض می‌کنیم که شما دسترسی به FTP دارید.

 

کد PHP برای بکاپ از دیتابیس بدون دسترسی به phpmyadmin

کد زیر را با نام mysqlbak.php ذخیره کنید و آن‌را اجرا کنید:

<?php
// Database configuration
$host = "localhost";
$username = "root";
$password = "";
$database_name = "mydatabasename";
// Get connection object and set the charset
$conn = mysqli_connect($host, $username, $password, $database_name);
$conn->set_charset("utf8");
// Get All Table Names From the Database
$tables = array();
$sql = "SHOW TABLES";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
$sqlScript = "";
foreach ($tables as $table) {
// Prepare SQLscript for creating table structure
$query = "SHOW CREATE TABLE $table";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_row($result);
$sqlScript .= "\n\n" . $row[1] . ";\n\n";
$query = "SELECT * FROM $table";
$result = mysqli_query($conn, $query);
$columnCount = mysqli_num_fields($result);
// Prepare SQLscript for dumping data for each table
for ($i = 0; $i < $columnCount; $i ++) {
while ($row = mysqli_fetch_row($result)) {
$sqlScript .= "INSERT INTO $table VALUES(";
for ($j = 0; $j < $columnCount; $j ++) {
$row[$j] = $row[$j];
if (isset($row[$j])) {
$sqlScript .= '"' . $row[$j] . '"';
} else {
$sqlScript .= '""';
}
if ($j < ($columnCount - 1)) {
$sqlScript .= ',';
}
}
$sqlScript .= ");\n";
}
}

$sqlScript .= "\n";
}

if(!empty($sqlScript))
{
// Save the SQL script to a backup file
$backup_file_name = $database_name . '_backup_' . time() . '.sql';
$fileHandler = fopen($backup_file_name, 'w+');
$number_of_lines = fwrite($fileHandler, $sqlScript);
fclose($fileHandler);
// Download the SQL backup file to the browser
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($backup_file_name));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($backup_file_name));
ob_clean();
flush();
readfile($backup_file_name);
exec('rm ' . $backup_file_name);
}
?>

در کد بالا متغیرهای $host و $username و $password و $database_name را تغییر دهید و آن‌را اجرا کنید؛ اگر به این اطلاعات نیاز دارید کافیست در فایل wp-config.php آن‌ها را مشاهده کنید. با اجرای کد بالا یک نسخه از دیتابیس خود را دانلود می‌کنید.

 

پینشنهاد نویسنده: کتاب آموزش php و mysql

 

اگر سوالی در ارتباط با این نوشته دارید برای ما بنویسید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]