要使用PHP備份MySQL數據庫,您可以按照以下步驟操作:
創建一個PHP腳本文件,如backup_database.php
。
在腳本中引入必要的文件,包括config.php
(數據庫配置信息)和db.php
(數據庫連接信息)。
在config.php
文件中,設置數據庫的主機名、用戶名、密碼和數據庫名。
在db.php
文件中,編寫一個函數來連接到數據庫并執行備份操作。
在backup_database.php
文件中,編寫一個函數來調用db.php
中的備份函數,并將備份文件保存到服務器上的指定位置。
在腳本中添加一個HTML表單,允許用戶選擇備份時間和文件名。
處理表單提交,調用備份函數,并在完成后顯示下載鏈接或消息。
以下是一個簡單的示例代碼:
config.php
<?php
$db_host = 'localhost';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'database_name';
?>
db.php
<?php
require_once 'config.php';
function backup_database() {
$connection = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$connection) {
die('Error: ' . mysqli_connect_error());
}
$backup_file = 'backup_' . date('Y-m-d_H-i-s') . '.sql';
$backup_query = "SELECT * INTO OUTFILE '" . $backup_file . "' FROM " . $db_name;
if (mysqli_query($connection, $backup_query)) {
echo 'Backup successfully created: ' . $backup_file;
} else {
echo 'Error: ' . mysqli_error($connection);
}
mysqli_close($connection);
}
?>
backup_database.php
<?php
require_once 'config.php';
require_once 'db.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$backup_file = $_POST['backup_file'];
backup_database();
echo '<a href="' . $backup_file . '">Download Backup</a>';
} else {
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<label for="backup_file">Select backup file name:</label>
<input type="text" id="backup_file" name="backup_file">
<input type="submit" value="Backup Database">
</form>
<?php
}
?>
在這個示例中,用戶可以通過表單選擇備份文件的名稱,然后點擊“Backup Database”按鈕執行備份操作。備份文件將被保存在服務器上的當前目錄中,并顯示一個下載鏈接。