本文的主題將會圍繞 Discuz 備份為主,連帶教給大家大部分 php+mysql 程序的備份方法,介紹順序為從虛擬主機到獨立主機。

虛擬主機用户

這裏虛擬主機的環境為星外 (7i24) 控制面板,其他控制面板大同小異。

第一種是最簡單的備份方法,打開 discuz 的後台或者 ucenter 的後台,

點擊提交備份即可,如果 ucenter 和 discuz 安裝在同一空間 (主機),推薦在 ucenter 後台連帶論壇+ucenter 數據一起備份,因為 discuz7.0 之後用户數據均在 ucenter 數據庫中。

備份完成後會提示備份的路徑,請儘快下載並在空間中刪除.sql 備份文件,但是這樣備份的缺點是如果論壇數據量較大的話,會產生幾十個備份文件,後續整理上會很麻煩,消耗時間也非常長。另外還需要備份 ucenter 的頭像目錄及 discuz 的上傳目錄。

恢復這種數據的方法就是上傳備份的.sql 文件,然後在論壇後台或者 tools.php 中恢復數據。

第二種是利用虛擬主機控制面板自帶的數據庫管理面板備份/還原/導入數據庫功能。

然後登陸臨時創建的 ftp 空間即可看到備份好的.sql 文件。下載保存即可。

恢復方法是點擊後台的從備份中還原,如果轉移空間了,將這個.sql 文件傳到網站的根目錄,將下面的代碼編輯正確並另存為 import.php,執行它提示 import ok,則代表導入成功。

<?
system("mysql -uroot -pmypassword database < a.sql");
print "import ok";
?>

§

第三種是進入 phpmyadmin 進行備份,點擊數據庫管理面板的高級管理即可進入。

首先在左邊選擇所屬的數據庫名稱,這裏是 discuz 這個數據庫。

然後點擊右邊中間位置的導出按鈕,打開導出頁面。

一般來説直接拉到最下面,選擇另存為文件,並選擇下面壓縮為 gzip 壓縮,點擊執行。

就會彈出提示另存為,保存即可。

恢復方法同樣是登陸 phpmyadmin,點擊導入。 選擇這個文件。如果導出文件很大,則解壓成.sql 文件,同樣第二種方法末尾的辦法用 php 腳本導入。

第四種,利用第三方軟件進行備份。

1 、我們可以到我提供的地址下載帝國備份,然後上傳到網站的一個目錄下。

我們用默認的 admin 123456 來登陸,登陸後會提示去設置數據庫連接的賬號密碼。 (數據庫賬號密碼如果不知道的可以看 discuz 根目錄的 config.inc.php)

我們可以看到我們的數據庫,點擊後面的備份數據。一般來説參數都不需要修改,直接拉到最下面點擊開始備份即可。備份好後,可以上 ftp 將備份目錄拖到本地。

恢復方法是先上傳網站程序,然後上傳帝國備份王,最後上傳備份的數據庫路徑到帝國備份王目錄下,恢復即可

§

2 、在我的下載頁面下載 Navicat 軟件

連接遠程 mysql 服務器,星外用户需要在後台開啓遠程訪問。

獲取自己的 IP 可以訪問 http://ip.sudu.us/

連接後同樣可以看到我們的數據庫。 雙擊數據庫名稱。

選擇備份。然後點擊創建備份。

選擇開始。

我們就可以看到備份成功,這個備份取決於本地連接服務器網速。

獨立主機用户

Windows 主機

第一種是同虛擬主機第四種方法,使用 Navicat 軟件。

第二種使用命令性導出為.sql 文件

使用 cmd 進入 mysql 的 bin 目錄,輸入以下命令導出

mysqldump -u 用户名 -p 數據庫名 > 導出的文件名

導入在 bin 目錄下使用命令

mysql -u 用户名 –p

use 目標數據庫名;

source 導入的文件名;

第三種方法是在停止 mysql 服務。直接複製 mysql data 下相應的數據,恢復直接粘貼回來即可。 (但在備份期間會中斷訪問)

Linux 主機 (這裏以 CentOS 為例)

第一種, 停止 mysql 服務,使用 cp 命令複製 mysql 源文件至備份目錄,如

cp/usr/local/mysql/var /data1/bak/20100801/mysql

cp /data1/web /data1/bak/20100801/web

第二種,同 windows 主機第三種,使用命令導出為.sql 文件

cd/usr/local/mysql/var

mysqldump -u root -p discuz>discuz.sql

還原方法:

cd/usr/local/mysql/var

mysql -u root -p discuz<discuz.sql

到這裏,本文已經差不多結束了,限於本人水平有限,一些小的錯誤在所難免,不足之處敬請諒解。