2012-06-18 128 views
0

我寫了這段代碼來進行數據庫備份。 我使用MySQL作爲我的DB和PHP作爲編譯器。使用php進行數據庫備份的mysqldump不起作用

<?php 
$dbhost = "localhost"; 
$dbuser = "root"; 
$dbpwd = "admin"; 
$dbname = "mydatabase"; 
mysql_connect($dbhost, $dbuser, $dbpwd, $dbname) or die('Problem'); 
$dumpfile = $dbname . "_" . date("Y-m-d_H-i-s") . ".sql"; 
passthru("/usr/bin/mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpwd --all-databases > $dumpfile"); 
echo "$dumpfile "; passthru("tail -1 $dumpfile"); 
?> 

代碼得到執行,但問題是下載的文件是0KB,即文件中沒有數據。

問題是什麼。我在互聯網上搜索了很多,但無法找到解決方案。

+0

哪些操作系統正在使用? – Harsh

+0

@Harsh它的窗口 –

+1

你確定/ usr/bin/mysqldump在Windows機器上可用嗎?不應該是c:\ blah \ mysql ...? – MilMike

回答

0

檢查代碼運行目錄的權限。它應該有寫入權限。

+0

我已給予該文件夾仍然無法使用的完整權限。 –

2

如果您使用的是Windows,請將mysqldump.exe可執行文件放在與備份腳本相同的位置。這應該工作