本文目錄一覽:
如何備份MYSQL數據庫里的數據?
你能直接登陸服務器並能取服務器本地的文件嗎?
如果能,那就登陸上服務器,在上面執行mysqldump工具備份即可.
如果不能登陸,那你就用第3方工具吧,如:SQLyog Enterprise
用SQLyog Enterprise登陸上去,選用你要備份的數據—右鍵選”Backup database as SQL dump”,然後按提示設置並選好保存結果的路徑即可.
請問mysql怎麼自動備份數據庫?
數據庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的數據庫,最好還是設置下自動備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的數據庫。點擊“計劃”,再點擊“新建批處理作業”。
雙擊上面的可用任務,它就會到下面的列表裡去,代表你選擇了這個任務。
點擊保存,彈出個命名對話框,給這個任務取個名字,點擊“確定”
點擊“設置”計劃任務。
彈出的對話框,選擇“計劃”,再點擊“新建”。
這裡設置為從2014年1月24號起每天早上九點備份該數據庫。如果想提高備份頻率、或者設置備份截止日期,請點擊“高級”。
高級選項可以把備份設置的更精細,比如這裡設置的是在24小時內每隔2小時就備份一次。加上前面的基本設置,任務計劃就是:從2014年1月24號開始,每天九點,每隔2小時備份一次,每天的備份都持續24小時。
最後,輸入電腦密碼就大功告成。
如何用PHP來實現MySQL備份
備份數據庫並下載到本地【db_backup.php】
?php
// 設置SQL文件保存文件名
$filename=date(“Y-m-d_H-i-s”).”-“.$cfg_dbname.”.sql”;
// 所保存的文件名
header(“Content-disposition:filename=”.$filename);
header(“Content-type:application/octetstream”);
header(“Pragma:no-cache”);
header(“Expires:0”);
// 獲取當前頁面文件路徑,SQL文件就導出到此文件夾內
$tmpFile = (dirname(__FILE__)).”\\”.$filename;
// 用MySQLDump命令導出數據庫
exec(“mysqldump -u$cfg_dbuser -p$cfg_dbpwd –default-character-set=utf8 $cfg_dbname “.$tmpFile);
$file = fopen($tmpFile, “r”); // 打開文件
echo fread($file,filesize($tmpFile));
fclose($file);
exit;
?
php,mysql數據庫備份和還原的最理想方式,類似phpadmin的代碼
一、備份數據庫並下載到本地【db_backup.php】
複製代碼 代碼如下:
?php
// 設置SQL文件保存文件名
$filename=date(“Y-m-d_H-i-s”).”-“.$cfg_dbname.”.sql”;
// 所保存的文件名
header(“Content-disposition:filename=”.$filename);
header(“Content-type:application/octetstream”);
header(“Pragma:no-cache”);
header(“Expires:0”);
// 獲取當前頁面文件路徑,SQL文件就導出到此文件夾內
$tmpFile = (dirname(__FILE__)).”\\”.$filename;
// 用MySQLDump命令導出數據庫
exec(“mysqldump -u$cfg_dbuser -p$cfg_dbpwd –default-character-set=utf8 $cfg_dbname “.$tmpFile);
$file = fopen($tmpFile, “r”); // 打開文件
echo fread($file,filesize($tmpFile));
fclose($file);
exit;
?
二、還原數據庫【db_restore.php】
複製代碼 代碼如下:
form id=”form1″ name=”form1″ method=”post” action=””
【數據庫SQL文件】:input id=”sqlFile” name=”sqlFile” type=”file” /
input id=”submit” name=”submit” type=”submit” value=”還原” /
/form
?php
// 我的數據庫信息都存放到config.php文件中,所以加載此文件,如果你的不是存放到該文件中,注釋此行即可;
require_once((dirname(__FILE__).’/../../include/config.php’));
if ( isset ( $_POST[‘sqlFile’] ) )
{
$file_name = $_POST[‘sqlFile’]; //要導入的SQL文件名
$dbhost = $cfg_dbhost; //數據庫主機名
$dbuser = $cfg_dbuser; //數據庫用戶名
$dbpass = $cfg_dbpwd; //數據庫密碼
$dbname = $cfg_dbname; //數據庫名
set_time_limit(0); //設置超時時間為0,表示一直執行。當php在safe mode模式下無效,此時可能會導致導入超時,此時需要分段導入
$fp = @fopen($file_name, “r”) or die(“不能打開SQL文件 $file_name”);//打開文件
mysql_connect($dbhost, $dbuser, $dbpass) or die(“不能連接數據庫 $dbhost”);//連接數據庫
mysql_select_db($dbname) or die (“不能打開數據庫 $dbname”);//打開數據庫
echo “p正在清空數據庫,請稍等….br”;
$result = mysql_query(“SHOW tables”);
while ($currow=mysql_fetch_array($result))
{
mysql_query(“drop TABLE IF EXISTS $currow[0]”);
echo “清空數據表【”.$currow[0].”】成功!br”;
}
echo “br恭喜你清理MYSQL成功br”;
echo “正在執行導入數據庫操作br”;
// 導入數據庫的MySQL命令
exec(“mysql -u$cfg_dbuser -p$cfg_dbpwd $cfg_dbname “.$file_name);
echo “br導入完成!”;
mysql_close();
}
?
原創文章,作者:SYZJE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/329598.html