我曾尝试使用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
,带有erroCode:2(不能写/创建)。
答案 0 :(得分:2)
SELECT ... INTO OUTFILE
仅限于创建新文件。它不能覆盖现有文件作为安全措施。同样,请确保在Windows中运行MySQL的帐户对该...\backup\contact_keeper
目录具有写入权限。它可能只有读/执行。