[英]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.