我試圖寫一個PHP程序自動創建MySQL表作爲服務器上的SQL文件的備份:mysqldump的結果,沒有實質內容
$backup = "$path/$tablename.sql"; $table = "mydbname.mytablename"; exec( sprintf( '/usr/bin/mysqldump --host=%s --user=%s --password=%s %s --quick --lock-tables --add-drop-table > %s', $host, $user, $password, $table, $backup ) );
所有我在結果得到.sql文件是這樣的:
-- MySQL dump 10.10 -- -- Host: localhost Database: mydbname.mytablename -- ------------------------------------------------------ -- Server version 5.0.27 /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; /*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; /*!40101 SET @[email protected]@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @[email protected]@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */;
看起來魚虎得意的結果列表Database:mydbname.mytablename。
我不知道從哪裏開始尋找。我的主機在幫助我最初設置程序時說,我需要關閉safe_mode(已經完成)並且允許訪問二進制文件(我不知道這意味着什麼)。
由於主持人每次回答問題需要兩天的時間回覆,如果可能,我想自己解決。
我在數據庫名稱和表名稱(而不是句點)之間加了一個空格,它工作正常。謝謝! – 2009-09-17 17:17:25
不客氣:-)玩得開心! – 2009-09-17 17:56:20