Discuz! 為站長提供了非常強大的數據庫管理功能,可以一鍵完成諸如數據庫備份、恢復、升級、優化、校驗等操作。具有高級技術的站長朋友可以通過 「升級」 完成自己對數據庫需要完成的高級操作。下面將對如何使用此類功能,做一個詳細的講解。
操作路徑:【後台】=> 【站長】=> 【數據庫】
一、備份
包括備份 Discuz! 數據和 UCenter 數據以及自定義備份。
1 、備份 Discuz! 和 UCenter 數據
上圖中出現的是數據庫備份界面,其中的單選選項默認選擇了 「Discuz! 和 UCenter 數據」,在這裏無需其他設置,直接點擊提交即可完成站點所有數據的備份工作。
如果是高級用户,一鍵備份的選擇不能滿足您,可以點擊上圖中的 「更多選項」,以此來定製自己需要的備份方式。如下圖所示:
數據庫備份方式默認選擇為 「Discuz! 分卷備份 - 文件長度限制 (kb)」,初始化為 2048kb(2MB)
使用擴展插入 (Extended Insert) 方式 - 使用增量備份的方式,默認為否
建表語句格式 - 使用默認格式,即 MySQL 自身的默認格式。如果是搬家,新服務器 MySQL 版本和現在不同,可以選擇對應的 MySQL 版本。
強制字符集 - 可以不選,如果是需要論壇轉碼的時候備份用到的需要選擇對應的字符集。
十六進制方式 - 默認選擇是。十六進制方式可以保證備份數據的完整性,但是備份文件會佔用更多的空間。
壓縮備份文件 - 默認為不壓縮,提高備份的程序執行速度。
備份文件名 - 可以自定義要備份到文件名,後綴名為.sql 。
備份成功後將提示:
2 、自定義備份
可以選擇部分數據表進行備份,也可以選擇備份所有數據表。
3 、備份數據存放目錄
在 UCenter 後台備份得到的備份數據存放目錄如下:
UCenter 備份數據存放目錄:以獨立主機為例,UCenter 安裝根目錄 /data/backup/backup_日期_隨機字母/ 目錄下
Discuz! 備份數據存放目錄:以獨立主機為例,Discuz! 安裝根目錄 /data/backup_日期_隨機字母/ 目錄下
4 、注意事項
1) 如果是站點搬家,注意新的虛擬主機要支持 PHP+MySQL 環境,否則遷移後站點無法正常運行;並確保新虛擬主機 MySQL 版本和字符集和原虛擬空間一致 (MySQL 版本以 4.0 和 4.1 為分割線),否則可能導致恢復後站點亂碼等現象。
2) 如果安裝過插件,建議除了 config 目錄外,其餘目錄、文件全部備份。
除了在論壇後台備份外,如果是獨立主機的話,還可以直接打包數據庫目錄進行備份,也可以使用 phpMyAdmin 進行備份。
相關閲讀:`PHPMyAdmin 數據備份和恢復方法 <http://faq.comsenz.com/viewnews-385>`_.
二、恢復
在進行恢復操作之前請先關閉站點,恢復全部完成後可以將站點重新開放。
如何將備份好的數據恢復到站點,如下圖所示:
本功能在恢復備份數據的同時,將全部覆蓋原有數據。
恢復數據前請在 Discuz! X3 安裝文件目錄下 utility 文件夾內找到 restore.php 文件,然後將 restore.php 文件上傳到程序文件夾 data 目錄下。為了您站點的安全,成功恢復數據後請務必及時刪除 restore.php 文件,這樣的方式適合多個備份文件恢復。
通過在瀏覽器中執行 http://www.discuz.net/data/restore.php 恢復數據 頁面會自動刷新服務器備份數據目錄中的備份文件,也可以點擊上圖中右側的高亮 「導入」 即可進行數據恢復工作。數據恢復的時間根據站點備份的數據量大小和數據文件的多少有關。
注意:
數據恢復功能只能恢復由當前版本 Discuz! 導出的數據文件,其他軟件導出格式可能無法識別。
三、升級
站點默認狀態下是禁止 SQL 語句運行的,當您進入數據庫升級頁面發現此處功能不能使用的時候。請進入站點所在的服務器根目錄 (FTP 文件根目錄),找到 config/config_global.php 文件,將 $_config[admincp][runquery] 設置修改為 1 之後,刷新後台的頁面,就能進入數據庫升級頁面了。
數據庫升級界面如下圖所示:
此數據庫升級頁面,有兩種方法供站長選擇,一種是打包好的升級語句 「常用 SQL 升級語句」,這種是最快速完成需要功能的選擇。如果需要擴充打包語句,可以修改 /source/admincp/admincp_quickquery.php 來添加常用 SQL 操作進行功能擴充。默認添加了 14 條常用 SQL 升級語句。
第二種是直接輸入數據庫升級語句,如升級語句:
[code]INSERT INTO pre_common_syscache (cname,ctype,dateline,data) VALUES (『test』, 『1』, 13312341234, 『test』)[/code] 「既是插入一條測試數據」
寫好語句,點擊下面的提交,即可。修改結束後,推薦更新一下系統緩存。
四、優化
如同電腦操作系統,Discuz! 也具備數據庫碎片整理功能,數據表優化可以去除數據文件中的碎片,使記錄排列緊密,提高讀寫速度。
選中要優化的數據表只需要點擊 「提交」 按鈕,即可讓程序優化數據庫中的數據碎片了。
五、校驗
本頁只有一個按鈕;
點擊即可進行數據庫校驗。當有出現 Discuz! 默認的數據庫結構與現運行站點的結構不同時,這裏將會列出,並提供修復按鈕。如下圖所示:
可以在這裏直接修復被修改的字段和缺少的論壇設置參數。
注意:
1 、數據庫校驗只針對 Discuz! 官方發佈的數據庫結構為基礎進行核對。
2 、此工具只對字段的修改以及缺少進行簡單的檢查,不針對索引的缺少進行處理。
通過上面的説明,站長朋友已經可以熟練的進行數據庫的備份、恢復、優化、和校驗了。通過 sql 語句的學習,也會很快掌握高級的 「升級」 功能。