在本地主机中看不到备份文件

Cannot see backup files in localhost

我正在编写 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(我想保存备份的地方)时,我看不到脚本所做的任何备份。请帮我解决这个问题。

实际上你正在尝试的会为你提供数据备份,而不是像 .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