[英]Trouble with mysqldump when backing up db as xml
我正在嘗試使用mysqldump
備份我的數據庫之一,並試圖將其導出到已經存在的xml文件中。 這是我所擁有的:
<?php
$dbUser = 'user'; // db User
$dbPass = 'pass'; // db User Password
$dbName = 'db'; // db name
$dest = $_SERVER['DOCUMENT_ROOT'] . 'backup'; // Path to directory
class MySQLDump {
private $cmd;
function MySQLDump($dbUser,$dbPass,$dbName,$dest) {
$fname = $dbName.'.xml';
$this->cmd='mysqldump -X -u'.$dbUser.' -p'.$dbPass.' '.$dbName.
' >'.$dest.'/'.$fname;
}
public function backup() {
system($this->cmd, $error);
if($error) {
trigger_error ('Backup failed: ' . $error . '<br />Attempted: ' . $this->cmd);
}
}
} // end class def
$mysqlDump = new MySQLDump($dbUser, $dbPass, $dbName, $dest);
$mysqlDump->backup();
?>
這總是會生成在backup
功能中引發的錯誤。 這是$cmd
輸出的示例:
mysqldump -X -udan -pdanPass danDB >/var/www/prod/dan/web/backup/danDB.xml
知道發生了什么事嗎? 我從未真正使用過mysqldump
所以不確定我是否正確地使用了它。 任何幫助是極大的贊賞。
嘗試在-u
和$dbUser
之間添加一個空格。
根據mysqldump是否返回狀態? 出問題了,是的。 我們不能說是警告還是錯誤,因為您沒有共享返回碼。
除此之外,通過查看mysqldump
命令返回的STDERR輸出 ,您可以輕松地了解到底出了什么問題。 例如,您可以將其通過管道傳送到database.err
:
mysqldump -X -udan -pdanPass danDB >/path/to/backup/danDB.xml 2>database.err
^^^^^^^^^^^^^^
這個為我工作
mysqldump --user=xxx --password=xxx databasename --xml > file.xml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.