php簡單備份與還原MySql的方法具體如下:
創(chuàng)新互聯(lián)主營尼河口網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),尼河口h5重慶小程序開發(fā)搭建,尼河口網(wǎng)站營銷推廣歡迎尼河口等地區(qū)企業(yè)咨詢
一、備份:
?php
header?(?"content-Type:?text/html;?charset=utf-8"?);
//備份數(shù)據(jù)庫
$host="localhost";
$user="root";//數(shù)據(jù)庫賬號
$password="123456";//數(shù)據(jù)庫密碼
$dbname="test";//數(shù)據(jù)庫名稱
//這里的賬號、密碼、名稱都是從頁面?zhèn)鬟^來的
if(!mysql_connect($host,$user,$password))?//連接mysql數(shù)據(jù)庫
{
echo?'數(shù)據(jù)庫連接失敗,請核對后再試';
exit;
}
if(!mysql_select_db($dbname))?//是否存在該數(shù)據(jù)庫
{
echo?'不存在數(shù)據(jù)庫:'.$dbname.',請核對后再試';
exit;
}
mysql_query("set?names?'utf8'");
$mysql=?"set?charset?utf8;\r\n";
$q1=mysql_query("show?tables");
while($t=mysql_fetch_array($q1)){
$table=$t[0];
$q2=mysql_query("show?create?table?`$table`");
$sql=mysql_fetch_array($q2);
$mysql.=$sql['Create?Table'].";\r\n";
$q3=mysql_query("select?*?from?`$table`");
while($data=mysql_fetch_assoc($q3)){
$keys=array_keys($data);
$keys=array_map('addslashes',$keys);
$keys=join('`,`',$keys);
$keys="`".$keys."`";
$vals=array_values($data);
$vals=array_map('addslashes',$vals);
$vals=join("','",$vals);
$vals="'".$vals."'";
$mysql.="insert?into?`$table`($keys)?values($vals);\r\n";
}
}
$filename="data/".$dbname.date('Ymjgi').".sql";?//存放路徑,默認(rèn)存放到項目最外層
$fp?=?fopen($filename,'w');
fputs($fp,$mysql);
fclose($fp);
echo?"數(shù)據(jù)備份成功";
?
二、還原
!--
author:果凍
qq:52091199
blog:
--
meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/
?php
$filename?=?"test20101216923.sql";
$host="localhost";?//主機(jī)名
$user="root";?//MYSQL用戶名
$password="123456";?//密碼
$dbname="test";?//在此指定您要恢復(fù)的數(shù)據(jù)庫名,不存在則必須先創(chuàng)建,請自已修改數(shù)據(jù)庫名
mysql_connect($host,$user,$password);
mysql_select_db($dbname);
$mysql_file="data/".$filename;?//指定要恢復(fù)的MySQL備份文件路徑,請自已修改此路徑
restore($mysql_file);?//執(zhí)行MySQL恢復(fù)命令
function?restore($fname)
{
if?(file_exists($fname))?{
$sql_value="";
$cg=0;
$sb=0;
$sqls=file($fname);
foreach($sqls?as?$sql)
{
$sql_value.=$sql;
}
$a=explode(";\r\n",?$sql_value);?//根據(jù)";\r\n"條件對數(shù)據(jù)庫中分條執(zhí)行
$total=count($a)-1;
mysql_query("set?names?'utf8'");
for?($i=0;$i$total;$i++)
{
mysql_query("set?names?'utf8'");
//執(zhí)行命令
if(mysql_query($a[$i]))
{
$cg+=1;
}
else
{
$sb+=1;
$sb_command[$sb]=$a[$i];
}
}
echo?"操作完畢,共處理?$total?條命令,成功?$cg?條,失敗?$sb?條";
//顯示錯誤信息
if?($sb0)
{
echo?"hrbrbr失敗命令如下:br";
for?($ii=1;$ii=$sb;$ii++)
{
echo?"pb第?".$ii."?條命令(內(nèi)容如下):/bbr".$sb_command[$ii]."/pbr";
}
}??//-----------------------------------------------------------
}else{
echo?"MySQL備份文件不存在,請檢查文件路徑是否正確!";
}
}
?
1,恢復(fù)前備份。2,有之前的備份才可以恢復(fù)。3,下載數(shù)據(jù)庫管理工具,sqlyun,navcat,等可進(jìn)行導(dǎo)入導(dǎo)出。4.注意恢復(fù)期間對前臺影響。(最好關(guān)閉前臺訪問)5.做好出問題時的應(yīng)對準(zhǔn)備
可以,利用 MySql日志文件 恢復(fù)數(shù)據(jù) 。這個恢復(fù)是有前提的,就是你至少得有一個從日志記錄開始后的數(shù)據(jù)庫備份,通過日志恢復(fù)數(shù)據(jù)庫實際上只是一個對以前操作的回放過程而已。
1、用FTP登陸到【caches/bakup/default】文件夾,把這個文件夾整個復(fù)制下來吧,簡單點操作。
2、把復(fù)制的文件【default】復(fù)制一份作為備份,省的不能挽回。
3、找到你造成讓你后悔手賤那一刻的時間,并且把那個時間的文件全部圈出來,都要改的!
4、把其中里面的【capable.sql】改名為【phpcmstables_20130407_3755_1.sql】就是這個數(shù)字格式。當(dāng)然數(shù)字可以換!
5、把你從新命名的文件回傳到你的主機(jī)【caches/bakup/default】文件夾下。
6、去你的后臺-擴(kuò)展-數(shù)據(jù)庫工具-數(shù)據(jù)庫導(dǎo)入,你發(fā)現(xiàn)你剛才命名的文件【phpcmstables_20130407_3755_1.sql】出現(xiàn)了,請點擊后面的【數(shù)據(jù)庫恢復(fù)】,謝天謝地,主表回來了。你可以點擊下【管理內(nèi)容】,現(xiàn)在各欄目算是回來了。
7、緊接著,請把那個災(zāi)難時間產(chǎn)生的文件依次序命名為【phpcmstables_20130407_3755_1.sql】格式。
8、先命名download.sql 再命名download_data.sql (就是先恢復(fù)沒有data的),如果你將 download.sql命名為phpcmstables_20130407_3756_1.sql,那么最好將download_data.sql 命名為phpcmstables_20130407_3756_2.sql.
9、將重命名的文件上傳到你的主機(jī)的【caches/bakup/default】文件夾下。
10、重復(fù)6的步驟,按照你命名的順序,點擊【1】,數(shù)據(jù)庫會自動把連號的【2】也恢復(fù)的!
11、當(dāng)你的文件依次恢復(fù)后,你能看到效果的。
12、可能你在恢復(fù)過程有報錯,但是還是能用的,請繼續(xù)!
分享名稱:php模板數(shù)據(jù)庫恢復(fù) php刪除的文件如何恢復(fù)
網(wǎng)站地址:http://bm7419.com/article10/dohjcgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、App開發(fā)、動態(tài)網(wǎng)站、域名注冊、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)