无法在localhost中看到备份文件

时间:2015-08-19 04:17:28

标签: php mysql localhost database-backups

我正在编写一个php脚本来获取MySql中数据库的备份,以下是我的脚本。

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$d= date('d.m.y_H.i');
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$table_name = "redcap_data";
$backup_file  = "backups/$d.sql";
$sql = "SELECT * FROM $table_name INTO OUTFILE '$backup_file'";

mysql_select_db('test2');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not take data backup: ' . mysql_error());
}
echo "Backedup  data successfully\n";
mysql_close($conn);
?>

脚本运行得很好。但是当我转到localhost / backups(我想保存备份的地方)时,我看不到脚本所做的任何备份。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

实际上,您正在尝试的将为您提供数据备份,但不提供.sql等逻辑备份。

如果您只想要数据备份,那么@Drew为您提供了解决方案,但是如果您想以.sql格式进行备份,那么使用dump方法也会很快,您也可以避免锁定。

命令在这里 -

mysqldump -u<user> -p<pass> mydb mytable > /path/mybackup.sql

为避免锁定,请使用--single-transaction选项 -

mysqldump --single-transaction -u<user> -p<pass> mydb mytable > /path/mybackup.sql