我試圖通過使用PHP的SSH備份mysql數據庫。 我已經通過ssh進行了ssh連接,但是我沒有在數據庫備份方面取得任何進展 。 這是我的代碼:通過ssh使用php備份mysql數據庫
<?php
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
if(!($con = ssh2_connect("server.hosting.com", 22))){
echo "fail: unable to establish connection\n";
} else {
if(!ssh2_auth_password($con, "user", "password")) {
echo "fail: unable to authenticate\n";
} else {
// allright, we're in!
echo "okay: logged in...\n";
if (!($stream = ssh2_exec($con, 'echo "mysqldump -u userdb -p pass
dbname tablename > mydb_tab.sql"|mysql'))) {
echo "fail: unable to execute command\n";
} else {
// collect returning data from command
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream,4096)) {
$data .= $buf;
}
fclose($stream);
}
}
}
?>
什麼錯誤,你得到運行此腳本時? – BK435
你的執行電話是無用的。 'mysql'期望** SQL **作爲輸入,並且您正在爲它發送一些隨機文本,而這恰恰是一個有效的shell命令。你不需要'mysql'進行轉儲。它應該是'mysqldump ...> dump.sql' –