久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Discuz:MySQL備份、優(yōu)化與故障處理

來自站長百科
Sutrong討論 | 貢獻(xiàn)2008年3月25日 (二) 16:42的版本 (新頁面: <p style="line-height:20px;">MySQL 是一種高效快速的中小型數(shù)據(jù)庫系統(tǒng),這套系統(tǒng)的讀寫速度,尤其是讀速度可以媲美和超過很多昂貴的商業(yè)數(shù)據(jù)庫...)
(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

MySQL 是一種高效快速的中小型數(shù)據(jù)庫系統(tǒng),這套系統(tǒng)的讀寫速度,尤其是讀速度可以媲美和超過很多昂貴的商業(yè)數(shù)據(jù)庫系統(tǒng),同時(shí)其功能也完全可以滿足一般網(wǎng)絡(luò)應(yīng)用軟件的需要,適合為論壇等軟件構(gòu)建的數(shù)據(jù)庫支撐環(huán)境。Discuz! 的 MySQL 版本充分可以充分發(fā)揮該數(shù)據(jù)庫軟件的優(yōu)勢,更加優(yōu)化的進(jìn)行數(shù)據(jù)庫操作,最大限度的保證了系統(tǒng)的穩(wěn)定。然而,在實(shí)際使用中,為了使得數(shù)據(jù)庫服務(wù)器運(yùn)行在最佳狀態(tài),您可能仍然需要做一些優(yōu)化,或在故障時(shí)進(jìn)行必要的維修操作。本文將對 MySQL 系統(tǒng)的日常使用、常規(guī)優(yōu)化方案和故障恢復(fù)作以簡要說明。

數(shù)據(jù)備份與恢復(fù)

  • 最快的備份方法:直接文件復(fù)制

MySQL 的數(shù)據(jù)庫文件支持直接復(fù)制(Hot-copy),您在任意類型操作系統(tǒng)的服務(wù)器中將數(shù)據(jù)文件復(fù)制下來,拷貝到另外的一臺服務(wù)器的 MySQL 數(shù)據(jù)目錄,只要數(shù)據(jù)庫軟件版本不相差太多(例如不是 3.22 和 3.23/4.0),您可以立即直接使用復(fù)制過來的完整數(shù)據(jù)文件。基于這種特性您可以使用最短的時(shí)間完成數(shù)據(jù)備份。

按照常見的安裝習(xí)慣,Unix 版本的 MySQL 數(shù)據(jù)目錄通??赡転椋ú幌抻谙铝校?

                 /var/lib/mysql/ 
                /usr/local/mysql/data/ 
                /usr/local/mysql/var/ 

Windows 版本的 MySQL 數(shù)據(jù)目錄通??赡転椋ú幌抻谙铝校?

               c:\mysql\data\ 
               d:\mysql\data\ 
               x:\mysql\data\ 

在數(shù)據(jù)目錄下,可能有多個(gè)以數(shù)據(jù)庫名命名的子目錄,將建議您在直接復(fù)制(Hot-copy)的時(shí)候盡量把數(shù)據(jù)庫服務(wù)器停止,這樣備份的數(shù)據(jù)會(huì)較少出錯(cuò)。如果不方便停止服務(wù)器,又恰好在某一文件的某一部分上,備份和數(shù)據(jù)庫服務(wù)器寫入同時(shí)進(jìn)行,則可能造成拷貝下來的數(shù)據(jù)文件存在錯(cuò)誤。但這種錯(cuò)誤通常不致命,可以經(jīng)過修復(fù)而恢復(fù),修復(fù)的方法將在后面的部分作以說明。

如果需要恢復(fù)某些數(shù)據(jù)表,只需先把數(shù)據(jù)庫停止,把備份的文件拷貝到原有的目錄中覆蓋即可。注意在 Unix 系統(tǒng)中,需要檢查覆蓋后的文件屬性和屬主,以免無法被 MySQL 讀取而報(bào)錯(cuò)。

本方法只適合擁有獨(dú)立服務(wù)器的用戶使用,虛擬主機(jī)用戶不在此列。

  • 較快而安全的備份方法:mysqldump

MySQL 軟件本身提供了將數(shù)據(jù)內(nèi)容導(dǎo)出為 SQL 文件的工具——mysqldump。通過這一方法備份和恢復(fù),較直接文件復(fù)制來說更為安全,但速度慢一些,數(shù)據(jù)表大則更是如此。您可以在 MySQL 程序文件目錄找到備份使用的工具 mysqldump 及恢復(fù)使用的工具 mysql。按照常見的安裝習(xí)慣,Unix 版本的 MySQL 程序文件目錄通??赡転椋ú幌抻谙铝校?/p>

                 /usr/bin/ 
                /usr/local/mysql/bin/ 

Windows 版本的 MySQL 程序文件目錄通常可能為(不限于下列):

                c:\mysql\bin\ 
                d:\mysql\bin\ 
                x:\mysql\bin\ 

備份和恢復(fù)的命令分別為(其中斜體字表示需要替換相關(guān)的內(nèi)容):

      備份:mysqldump --force --add-drop-table --extended-insert -h"數(shù)據(jù)庫主機(jī)名" -u"用戶名" -p"密碼" "數(shù)據(jù)庫名" > 備份數(shù)據(jù)文件名 
      恢復(fù):mysql -h"數(shù)據(jù)庫主機(jī)名" -u"用戶名" -p"密碼" "數(shù)據(jù)庫名" < 備份數(shù)據(jù)文件名

Discuz! 在系統(tǒng)設(shè)置中已經(jīng)設(shè)計(jì)了此種備份模式(Shell 方式),速度與直接在服務(wù)器終端操作是完全一致的,但不需要記憶命令與參數(shù),只需通過 web 界面修改操作即可。此功能需要備份出,和恢復(fù)到的服務(wù)器上的 PHP 具有 Shell 權(quán)限,您可以嘗試一下即知。

  • 兼容性最好的備份方法:Discuz! 分卷備份

早在 Discuz! 的初期版本就率先在論壇軟件中內(nèi)置了支持大量數(shù)據(jù)備份與恢復(fù)的分卷備份功能,此種方法雖然速度最慢,但具有良好的兼容性,可以在幾乎所有服務(wù)器環(huán)境,包括虛擬主機(jī)環(huán)境成功的備份大量數(shù)據(jù)。

分卷備份的使用簡單,您只需在 Discuz! 系統(tǒng)設(shè)置中選擇分卷備份,按照提示進(jìn)行即可。

在進(jìn)行數(shù)據(jù)恢復(fù)時(shí),尤其是將備份的數(shù)據(jù)恢復(fù)到另外的服務(wù)器、或另外的數(shù)據(jù)庫中時(shí),您需要事先安裝一個(gè)與備份數(shù)據(jù)版本相同的空論壇,確保該空論壇使用和備份數(shù)據(jù)中相同的數(shù)據(jù)表前綴(即 config.inc.php 中的 $tablepre 設(shè)置),同時(shí)在設(shè)置管理員時(shí),使用與備份數(shù)據(jù)中相同的一個(gè)管理員用戶名、密碼和安全提問,這樣才能保證分卷備份數(shù)據(jù)的導(dǎo)入連貫和成功。

導(dǎo)入前,把備份數(shù)據(jù)文件完整的上傳到服務(wù)器論壇目錄中的 ./forumdata 下,在 系統(tǒng)設(shè)置 的 數(shù)據(jù)庫恢復(fù) 功能中選擇第一卷的文件名,點(diǎn)導(dǎo)入鏈接,之后相關(guān)的分卷數(shù)據(jù)會(huì)被自動(dòng)導(dǎo)入。

同時(shí)我們提供了一個(gè)數(shù)據(jù)庫恢復(fù)程序,詳情請見《Discuz!工具箱》里面的數(shù)據(jù)恢復(fù)工具。