0

我曾尝试使用 PHP 备份我的 MySQL 数据库,但是当我设置备份路径时,我在运行脚本时收到另一个路径。

这是我的脚本:

$baseDir = 'backup/';
$db;
$table;
$server = $_SERVER['HTTP_HOST'] . substr($_SERVER['SCRIPT_NAME'],0,strrpos($_SERVER['SCRIPT_NAME'],'/'));

这是在备份功能内:

global $baseDir;
global $db;
global $server;
$backupFile = $server . "/$baseDir$db/$tab.sql";
$query = mysql_query("SELECT * INTO OUTFILE '$backupFile' FROM $tab");
if(!$query)
    echo "\t" .mysql_error() .PHP_EOL;
else
    echo " backuped." . PHP_EOL;

我得到的路径是:c:\wamp\bin\mysql\mysql5.1.36\data\localhost\db\backup\contact_keeper\accounts.sql使用错误代码:2(无法写入/创建)。

4

1 回答 1

2

SELECT ... INTO OUTFILE仅限于创建一个新文件。作为安全措施,它不能覆盖现有文件。同样,确保在 Windows 中运行 MySQL 的帐户对该...\backup\contact_keeper目录具有写权限。它可能只有读取/执行。

于 2010-11-27T13:36:17.600 回答