簡體   English   中英

使用PHP的MySQL數據庫備份

[英]MySQL database backup using PHP

我使用以下命令檢查服務器上是否啟用了exec()

public function exec_enabled() {
  $disabled = explode(',', ini_get('disable_functions'));
  return !in_array('exec', $disabled);
}

我發現它已在我的服務器上啟用。 現在,我嘗試運行以下命令,並且數據庫沒有備份:

exec('mysqldump --user=foo --password=bar --host=localhost foobar > backup.sql');

我也嘗試過

exec('mysqldump -u foo -p bar foobar > backup.sql');

但這也不起作用。 另外,我沒有收到任何錯誤(錯誤報告已打開)。 有人可以告訴我我在做什么錯嗎?

句法:

mysqldump -u username -ppass_word database_name table_name > path/sql_file_name.sql

這應該工作-

exec('mysqldump -u foo --password=bar --host=localhost foobar > backup.sql');

在* nix系統中,使用WHICH命令顯示mysqldump的位置,請嘗試以下操作:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'test';
$mysqldump=exec('which mysqldump');

$backup_file = $dbname .'.gz';
$command = "$mysqldump --opt -h $dbhost -u $dbuser -p $dbpass ".
           "test_db | gzip > $backup_file";

exec($command);
?>

將完整路徑放入mysql dump似乎有效

exec('complete\path\to\mysqldump.exe -uUSERNAME -pPASSWORD DATABASE_NAME > output_folder_path/filename.sql');

暫無
暫無

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

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