如何使用Discuz!后臺備份和恢復Discuz!站點數據庫
Discuz!為方便用戶備份和恢復數據庫,已在后臺內置了此功能,易于站長操作。今天在這分享一下Discuz! x2.5論壇后臺數據庫的備份和恢復方法,以及備份數據庫和恢復數據庫要注意的一些細節問題。 一、利用Discuz!后臺備份數據庫 1、為備份數據完整無誤,備份數據前請站長先關閉站點; 2、利用站長權限登錄后臺——》站長——》數據庫——》備份,有兩個基本的數據備份類型:“Discuz! 和 UCenter 數據” 和 “自定義備份”; 1)、選擇“Discuz! 和 UCenter 數據”,會備份你Discuz!數據庫的所有數據表文件;(包括插件等生成的數據表) 2)、選擇“自定義備份”,按照要求勾選你要備份的數據表即可。 3、“提交”旁邊有一個“更多選項”,用戶可以根據自己的需求來設置一下更多選項,不是很懂的用戶可以不必點開更多選項設置,保持Discuz!設置的默認值就可以了;下面分析一下更多選項的技巧提示: 1)、MySQL Dump 的速度比 Discuz! 分卷備份快很多,但需要服務器支持相關的 Shell 權限,同時由于 MySQL 本身的兼容性問題,通常進行備份和恢復的服務器應當具有相同或相近的版本號才能順利進行。因此 MySQL Dump 是有風險的:一旦進行備份或恢復操作的服務器其中之一禁止了 Shell,或由于版本兼容性問題導致導入失敗,您將無法使用 MySQL Dump 備份或由備份數據恢復;Discuz! 分卷備份沒有此限制; 2)、數據備份選項中的設置,僅供高級用戶的特殊用途使用,當您尚未對數據庫做全面細致的了解之前,請使用默認參數備份,否則將導致備份數據錯誤等嚴重問題; 3)、十六進制方式可以保證備份數據的完整性,但是備份文件會占用更多的空間; 4)、壓縮備份文件可以讓您的備份文件占用更小的空間。 4、上面選好“數據備份類型”,點擊提交就可以開始備份了,備份的數據文件會保存在站點根目錄下的data目錄的一個backup_XXXXXX文件夾里; 5、備份完數據庫后即可重新打開站點。 二、利用Discuz!后臺恢復數據庫 1、為恢復數據完整無誤,恢復數據前請站長先關閉站點; 2、利用站長權限登錄后臺——》站長——》數據庫——》恢復,會看到你各次的數據備份記錄,并且有備份時間、備份數據類型等; 3、上傳恢復數據庫必須的restore.php文件; 1)、恢復數據前請在 Discuz! X2.5 安裝文件目錄下utility文件夾內找到 restore.php 文件,然后將 restore.php 文件上傳到程序文件夾data目錄下; 2)、如果你恢復過數據庫,會在根目錄生成/data/restore.lock文件,恢復數據功能鎖定,如果您確定要恢復數據,請到服務器上刪除./data/restore.lock。
discuz只有數據庫表怎么恢復
1、進入后臺,點擊“站長”--“數據庫”--“恢復”,
2、然后根據提示,第一步,第二步,
3、安裝文件目錄下utility文件夾內找到 restore.php 文件,
4、然后將 restore.php 文件上傳到程序文件夾data目錄下,然后執行“第二步”,
5、然后點擊后面的,導入,點擊“確定”
6、等待導入,直到成功
7、為了您站點的安全,成功恢復數據后請務必及時刪除 restore.php 文件。
以上內容來自百度經驗
Discuz,論壇如何搬家和轉移數據教程
1、首先我們需要登錄DZ論壇后臺,在全局設置里邊,關閉站點,防止網站出現新數據導致備份數據不完整。如圖:
2、找到站長板塊,點擊數據庫,進行備份。
3、按照提示,選擇備份類型,點擊提交開始進行備份。
4、備份完成之后我們可以看到如下圖。
5、接下來我們需要把整個網站進行壓縮打包。
6、打包完成之后把壓縮包文件下載到本地。
7、下載完成之后解壓文件,并重新壓縮成zip格式。(我用的linux主機,限制zip格式才能解壓)
8、壓縮包上傳到新空間網站根目錄里面。
9、登陸空間后臺點擊壓縮包進行解壓。
10、解壓完成之后在后臺創建數據庫。
11、上傳install文件夾里面的index.php文件,開始進行安裝。如下圖:
會提示安裝鎖定,按照路徑提示刪除鎖定文件,然后進行安裝。
12、進入正常安裝DZ步驟開始安裝。
13、選擇全新安裝,點擊下一步。
14、填寫正確的數據庫信息,創建管理員賬號密碼。
15、填寫完成之后進行安裝。
16、安裝完成之后用安裝的時候的賬號密碼登陸進入后臺。
17、選擇站長板塊,點擊數據庫,選擇恢復數據庫。
18、恢復數據前請在 Discuz! 安裝文件目錄下utility文件夾內找到 restore.php 文件,然后將 restore.php 文件上傳到程序文件夾data目錄下。為了您站點的安全,成功恢復數據后請務必及時刪除 restore.php 文件。(我們可以重新下載一個全新的DZ然后上傳需要的文件)
19、點擊導入,進行數據庫恢復
20、點擊確定,開始恢復。恢復數據的整個過程會在一個新頁面完成,您成功恢復數據后請務必及時刪除restore.php文件。
21、等待導入進行就可以了。
22、導入成功。
23、請在后臺更新緩存,并盡快刪除restore.php文件,以免對數據造成影響。
好了,現在論壇已經完美搬家成功,本次完美搬家教程到此結束。
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_dbur -p$cfg_dbpwd --default-character-t=utf8 $cfg_dbname > ".$tmpFile);
$file = fopen($tmpFile, "r"); // 打開文件
echo fread($file,filesize($tmpFile));
fclo($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 ( ist ( $_POST['sqlFile'] ) )
{
$file_name = $_POST['sqlFile']; //要導入的SQL文件名
$dbhost = $cfg_dbhost; //數據庫主機名
$dbur = $cfg_dbur; //數據庫用戶名
$dbpass = $cfg_dbpwd; //數據庫密碼
$dbname = $cfg_dbname; //數據庫名
t_time_limit(0); //設置超時時間為0,表示一直執行。當php在safe mode模式下無效,此時可能會導致導入超時,此時需要分段導入
$fp = @fopen($file_name, "r") or die("不能打開SQL文件 $file_name");//打開文件
mysql_connect($dbhost, $dbur, $dbpass) or die("不能連接數據庫 $dbhost");//連接數據庫
mysql_lect_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_dbur -p$cfg_dbpwd $cfg_dbname < ".$file_name);
echo "<br>導入完成!";
mysql_clo();
}
?>