Mysql
使用 mysql dump 備份 mysql 數據庫時獲取 0KB 大小的文件
我正在使用下面的程式碼使用 php 腳本備份我的數據庫,但我得到了 0KB 大小的文件。如何使用所有常式和功能備份我的完整數據庫?
$dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname='mydatabase'; $toDay = date('d-m-Y'); //exec("mysqldump --user=$dbuser --password='$dbpass' --host=$dbhost --single-transaction $dbname > D:\Sql_Backups/".$toDay."_DB.sql"); //exec('mysqldump --user=$dbuser --password=$dbpass --host=$dbhost $dbname > D:\Sql_Backup/file.sql'); exec ("mysqldump --routines --h $dbhost --u $dbuser --p $dbpass --single-transaction $dbname > D:\Sql_Backup/db3_backup.sql" >
您獲得 0KB 文件用於輸出的原因是由於 mysqldump 中的語法錯誤
你有這個問題
exec ("mysqldump --routines --h $dbhost --u $dbuser --p $dbpass --single-transaction $dbname > D:\Sql_Backup/db3_backup.sql" > ...
-h
從,-u
, 中刪除多餘的破折號-p
exec ("mysqldump --routines -h $dbhost -u $dbuser -p $dbpass --single-transaction $dbname > D:\Sql_Backup/db3_backup.sql" > ...
當您拼寫選項時,您註釋掉的前兩個命令有雙破折號。那部分語法是正確的。
其他要檢查的事項
確保在文件上使用相同的斜杠。另外,檢查以下哪一項在 PHP 中正常工作
D:/Sql_Backup/db3_backup.sql
D:\Sql_Backup\db3_backup.sql
D:\\Sql_Backup\\db3_backup.sql
確保
mysqldump.exe
在 %PATH 中。如果不是,則必須通過執行以下操作來使用絕對路徑:exec (“D:\Program Files\MySQL\MySQL 5.x Server\bin\mysqldump –routines –h $ dbhost –u $ 數據庫使用者–p $ dbpass –single-transaction $ 數據庫名 > D:\Sql_Backup/db3_backup.sql” > …