簡體   English   中英

快速備份MySQL數據庫

[英]backing up MySQL database on the fly

我為CMS編程了一個mysql備份系統,該系統將所有數據庫數據和結構轉儲到gzip的.sql文件中:

$filename = DB_NAME.'_'.date('Y.m.d_H\hi_(s.'.round(microtime()*100,0).')').'.sql.gz';
exec('mysqldump --default-character-set=UTF8 --opt --compress --host='.DB_HOST.' --user='.DB_USER.' --password='.DB_PASS.' '.DB_NAME.' | gzip > '.DIR_BACKUP.$filename);

它在我的開發服務器上正常工作,但是當我嘗試在生產服務器上運行相同的代碼時,永遠不會創建該文件。 這是權限問題嗎? 我應該如何配置才能正常工作? 謝謝!

---似乎問題取決於exec()函數。 我在哪里可以允許php運行該功能?

可能是權限問題,可能是您無法寫入文件系統,或者是更有可能(如果您使用的是共享主機服務,則可能是)不允許使用exec命令。 我相信您可以使用php_info()進行檢查;

您沒有收到錯誤消息嗎? 如果不是這樣,則可以在php中顯示錯誤/警告等信息

聽起來像是權限問題。 您是否嘗試將DIR_BACKUP設置為/ tmp或類似的名稱?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM