要使用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”按钮执行备份操作。备份文件将被保存在服务器上的当前目录中,并显示一个下载链接。