[英]command restore mysql db backup in php
還原db文件時出現問題。 以下是我用來還原的腳本:
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpwd = "";
$dbname = "fhc_test";
$dumpfile = "backup/".$_GET['id'].".sql";
exec("C://xampp/mysql/bin/mysql -u $dbuser -p $dbpwd $dbname < $dumpfile");
?>
以下是用於執行備份的腳本:
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpwd = "";
$dbname = "fhc";
date_default_timezone_set("Asia/Singapore");
$dumpfile = "backup/". $dbname . "_" . date("d-m-Y_H_i_s") . ".sql";
exec("C://xampp/mysql/bin/mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpwd $dbname > $dumpfile");
?>
備份文件時沒有發現問題。 當我復制n並將備份內容手動粘貼到數據庫中時,它可以完美還原而不會出現問題。 但是,當我運行還原腳本以執行還原時,文件會保持加載很長時間而不會提示任何錯誤。 因此,我停止了加載,並且似乎沒有表還原到數據庫中。
當我嘗試從cmd運行腳本時,還原可以完全而快速地完成。 在這種情況下,我將備份文件放在與mysql.exe相同的文件夾中
這是我在cmd中執行命令的方式:
C:\xampp\mysql\bin>mysql -u root -p fhc_test < fhc.sql
誰能幫助我找出還原腳本中存在的問題? bcos我已經做了很多檢查,而且代碼似乎沒有錯誤。 我是否必須從c:/ xampp / mysql / bin復制mysql.exe文件,並將其放入放置php文件的文件夾中?
我真的不知道該怎么辦。
鑒於您使用:
C:\xampp\mysql\bin>mysql -u root -p fhc_test < fhc.sql
它是您嘗試使用的用戶root。 不是phpmyadmin用戶。 因此,您需要使用-p
選項來提供root用戶的密碼。
在PowerShell中運行命令,您將收到此錯誤:
The '<' operator is reserved for future use.
您顯然是在Windows中運行此程序,因此需要將語法調整為:
Get-Content fhc.sql | mysql -u root -p fhc_test
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.