<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 第2章:安裝MySQL 本章描述怎樣獲得并安裝**MySQL**: 1.??? **要了解支持哪些平臺**。請注意并非所有支持的平臺同等適合運行MySQL。在部分平臺上會比其它平臺更有效、穩定。詳情請參見[2.1.1節,“MySQL支持的操作系統”](# "2.1.1.?Operating Systems Supported by MySQL") 。 2.??? **確定你應該使用的分發的版本**。可獲得**MySQL**的多個版本,大部分有多種分發版。你可以選擇包含二進制(預編譯)代碼或源碼形式的預打包分發。如果不能確定,則使用二進制分發版。對于想看我們的最新開發并幫助我們測試新代碼的用戶,我們提供了公共訪問接口,可以訪問我們最新的源碼樹。為了確定你應該使用的分發的版本和類型,請參見[2.1.2節,“選擇要安裝的MySQL分發版”](# "2.1.2.?Choosing Which MySQL Distribution to Install")。 3.??? **下載想安裝的分發版。**對于能從其獲得**MySQL**的站點列表,請參見[2.1.3節,“怎樣獲得MySQL”](# "2.1.3.?How to Get MySQL")。用來驗證分發版完整性的指令參見[2.1.4節,“通過MD5校驗和或GnuPG驗證軟件包的完整性``”](# "2.1.4.?Verifying Package Integrity Using MD5 Checksums or GnuPG")。 4.??? **安裝分發版。**針對二進制代碼和源碼分發版的安裝說明在[2.2節,“使用二進制分發版的標準MySQL安裝”](# "2.2.?Standard MySQL Installation Using a Binary Distribution")中講述。針對二進制代碼和源碼分發版的安裝說明在[2.8節,“使用源碼分發版安裝MySQL”](# "2.8.?MySQL Installation Using a Source Distribution")中講述。 **注**釋:如果你想要將當前版本的MySQL升級到最新版本,而不是首次安裝MySQL,關于升級過程和升級前應考慮的問題請參見[2.10節,“升級MySQL”](# "2.10.?Upgrading MySQL")。 如果遇到安裝問題,[2.12節,“具體操作系統相關的注意事項”](# "2.12.?Operating System-Specific Notes")中提供了解決平臺相關問題的信息。 5.??? **進行安裝后的設置。**安裝MySQL后,請閱讀[2.9節,“安裝后的設置和測試”](# "2.9.?Post-Installation Setup and Testing")。本節介紹了重要的信息,可以確保MySQL服務器正確工作。本節還描述了如何使尚未有密碼的初始MySQL用戶賬戶的安全。不管你是用二進制代碼還是源碼分發版來安裝**MySQL**,這些過程均適用。 如果要運行MySQL基準腳本,必須使用支持MySQL的Perl。請參見[2.13節,“Perl安裝注意事項”](# "2.13.?Perl Installation Notes")。 ### 2.1.?一般安裝問題 [ 2.1.1. MySQL支持的操作系統](#)[ 2.1.2. 選擇要安裝的MySQL分發版](#)[ 2.1.3. 怎樣獲得MySQL](#)[ 2.1.4. 通過MD5校驗和或GnuPG驗證軟件包的完整性``](#)[ 2.1.5. 安裝布局](#) 在安裝MySQL前,你應該: 1.??? 確定是否MySQL將運行在你的平臺上。 2.??? 選擇安裝的分發版。 3.??? 下載分發版并驗證其完整性。 本節包含執行上述步驟必需的信息。之后,你可以按照本章中后面幾節的說明來安裝選擇的分發版。 ### 2.1.1.?MySQL支持的操作系統 本節列出了可以運行MySQL的操作系統。 我們使用GNU Autoconf,因此將**MySQL**移植到所有使用Posix線程和C++編譯器的現代系統是可能的。(要求服務器支持線程。如果只是編譯客戶端代碼,則只需要C++編譯器)。我們主要在Linux(SuSE和Red Hat)、FreeBSD和Sun Solaris(版本8和9)上使用并開發本軟件。 已經報告**MySQL可以**在下列操作系統/線程包的組合上成功地進行編譯。注意,對于很多操作系統,原生的線程僅支持最新的版本。 ·???????? 有原生線程的AIX 4.x和5.x。請參見[2.12.5.3節,“IBM-AIX注意事項”](# "2.12.5.3.?IBM-AIX notes")。 ·???????? Amiga。 ·???????? 包括MIT-pthreads包的BSDI 2.x。請參見[2.12.4.4節,“BSD/OS 2.x版注意事項”](# "2.12.4.4.?BSD/OS Version 2.x Notes")。 ·???????? 有原生線程的BSDI3.0,3.1和4.x。請參見[2.12.4.4節,“BSD/OS 2.x版注意事項”](# "2.12.4.4.?BSD/OS Version 2.x Notes")。 ·???????? 有原生線程的Digital Unix 4.x。請參見[2.12.5.5節,“Alpha-DEC-UNIX(Tru64)版注意事項”](# "2.12.5.5.?Alpha-DEC-UNIX Notes (Tru64)").。 ·???????? 包括MIT-pthreads包的FreeBSD 2.x。請參見[2.12.4.1節,“FreeBSD注意事項”](# "2.12.4.1.?FreeBSD Notes")。 ·???????? 有原生線程的FreeBSD 3.x和4.x。請參見[2.12.4.1節,“FreeBSD注意事項”](# "2.12.4.1.?FreeBSD Notes")。 ·???????? 有LinuxThreads的FreeBSD 4.x。請參見[2.12.4.1節,“FreeBSD注意事項”](# "2.12.4.1.?FreeBSD Notes")。 ·???????? 有DCE線程或MIT-pthreads包的HP-UX 10.20。請參見[2.12.5.1節,“HP-UX 10.20版注意事項”](# "2.12.5.1.?HP-UX Version 10.20 Notes")。 ·???????? 有原生線程的HP-UX 11.x。請參見[2.12.5.2節,“HP-UX 11.x版注意事項”](# "2.12.5.2.?HP-UX Version 11.x Notes")。 ·???????? 有LinuxThreads 0.7.1+或glibc 2.0.7+,適合各種CPU的Linux 2.0+。請參見[2.12.1節,“Linux注意事項”](# "2.12.1.?Linux Notes")。 ·???????? Mac OS X。請參見[2.12.2節,“Mac OS X注意事項”](# "2.12.2.?Mac OS X Notes")。 ·???????? NetBSD 1.3/1.4 Intel和NetBSD 1.3 Alpha(需要GNU make)。請參見[2.12.4.2節,“NetBSD注意事項”](# "2.12.4.2.?NetBSD Notes")。 ·???????? Novell NetWare 6.0。請參見[2.6節,“在NetWare中安裝MySQL”](# "2.6.?Installing MySQL on NetWare")。 ·???????? 有原生線程的OpenBSD > 2.5。包括MIT-pthreads包的OpenBSD < 2.5。請參見[2.12.4.3節,“OpenBSD 2.5版注意事項”](# "2.12.4.3.?OpenBSD 2.5 Notes")。 ·???????? OS/2 Warp 3, FixPack 29和OS/2 Warp 4, FixPack 4. 參見[2.12.6節,“OS/2注意事項”](# "2.12.6.?OS/2 Notes")。 ·???????? 有最新FSU Pthreads移植包的SCO OpenServer 5.0.X。請參見[2.12.5.8節,“SCO UNIX和OpenServer 5.0.x版注意事項”](# "2.12.5.8.?SCO UNIX and OpenServer 5.0.x Notes")。 ·???????? SCO UnixWare 7.1.x。請參見[2.12.5.9節,“SCO UnixWare 7.1.x和OpenUNIX 8.0.0版注意事項”](# "2.12.5.9.?SCO UnixWare 7.1.x and OpenUNIX 8.0.0 Notes")。 ·???????? SCO Openserver 6.0.x。請參見[2.12.5.10節,“SCO OpenServer 6.0.x版注意事項”](# "2.12.5.10.?SCO OpenServer 6.0.x Notes")。 ·???????? 有原生線程的SGI Irix 6.x。請參見[2.12.5.7節,“SGI Irix注意事項”](# "2.12.5.7.?SGI Irix Notes")。 ·???????? SPARC和x86上有原生線程的Solaris 2.5和以上版本。請參見[2.12.3節,“Solaris注意事項”](# "2.12.3.?Solaris Notes")。 ·???????? 包括MIT-pthreads包的SunOS 4.x。請參見[2.12.3節,“Solaris注意事項”](# "2.12.3.?Solaris Notes")。 ·???????? Tru64 Unix。請參見[2.12.5.5節,“Alpha-DEC-UNIX(Tru64)版注意事項”](# "2.12.5.5.?Alpha-DEC-UNIX Notes (Tru64)")。 ·???????? Windows 9x、Me、NT、2000、XP和2003。請參見[2.3節,“在Windows上安裝MySQL”](# "2.3.?Installing MySQL on Windows")。 并非所有支持的平臺同等適合運行MySQL。根據以下因素確定某個平臺適合高負荷關鍵任務MySQL服務器的程度: ·???????? 線程庫的穩定性。可能某個平臺的反應不錯,但MySQL的穩定性取決于它所調用的線程庫,不管其它部分是否完善。 ·???????? 內核和線程庫利用均衡多處理器(SMP)系統的能力。換句話說,當進程創建一個線程時,應允許線程運行原進程所運行CPU之外的其它處理器。 ·???????? 內核和線程庫運行在短范圍頻繁獲取和釋放互斥體而不需要過多地交換內容的多個線程的能力。如果執行pthread_mutex_lock()時產生的CPU時間太短,則會嚴重影響MySQL。如果不關注該問題,增加過多的CPU實際會降低MySQL的速度。 ·???????? 常規文件系統的穩定性和性能。 ·???????? 如果數據庫表很大,文件系統處理大文件的能力和處理效率。 ·???????? 我們在該平臺上使用MySQL AB的經驗水平。如果我們熟悉一個平臺,我們可以對具體平臺進行優化并固定編譯時間。我們還可以提供建議如何更好地為MySQL配置系統。 ·???????? 我們在類似配置下所完成的內部測試的數量。 ·???????? 在同一平臺類似配置下成功運行MySQL的用戶數。如果該數字很高,則說明遇到具體平臺問題的幾率要小得多。 根據前面的標準,允許MySQL的最好的平臺是x86,安裝SuSE Linux,使用2.4或2.6內核,和ReiserFS(或類似Linux分發版)和安裝了 Solaris(2.7-9)的SPARC。FreeBSD排第三位,但我們真正希望一旦線程庫得到改進,它也可以提高排名。從某一觀點我們還希望提高其它MySQL目前正在上面編譯、允許的平臺的排名,但穩定性和性能上可以要求不同等級。這需要我們與MySQL所依賴的操作系統和庫組件開發人員共同努力。如果你對改進某個組件感興趣,可能影響其開發,需要更多的關于MySQL如何能運行得更好的說明,請向我們的MySQL internals發送郵件。請參見[1.7.1.1節,“The MySQL郵件列表”](# "1.7.1.1.?The MySQL Mailing Lists")。 請注意前面的對比并不是說一個操作系統總體上比另一個操作系統要好。我們只是討論選擇一個OS來專門運行MySQL。記住了這一點,如果考慮更多的因素,對比結果可能會不同。在某些情況下,一個OS比另一個OS好的原因只是我們已經為具體平臺做出了更多的努力來進行測試和優化。我們只是陳述我們的觀點幫助你選擇運行MySQL的平臺。 ### 2.1.2.?選擇要安裝的MySQL分發版 [ 2.1.2.1. 選擇要安裝的MySQL版本](#)[ 2.1.2.2. 選擇分發格式](#)[ 2.1.2.3. 如何發布更新以及何時發布更新](#)[ 2.1.2.4. 發布原則:發行版本中沒有已知的缺陷](#)[ 2.1.2.5. MySQL AB編譯的MySQL二進制版本](#) 準備安裝MySQL時,你應確定使用哪個版本。MySQL的開發有幾個發布系列,可以選擇最適合你要求的一個版本。確定了安裝的版本后,便可以選擇分發版。有二進制或源碼發布格式。 #### 2.1.2.1.?選擇要安裝的MySQL版本 首先要作出決策,你是否想要使用最新的開發版本或最終的穩定版本。在MySQL開發過程中,同時存在多個發布系列,每個發布處在成熟度的不同階段: ·???????? MySQL 5.2是最新開發的發布系列,是將執行新功能的系列。不久的將來可以使用Alpha發行,以便感興趣的用戶進行廣泛的測試。 ·???????? MySQL 5.1是當前穩定(產品質量)發布系列。只針對漏洞修復重新發布;沒有增加會影響穩定性的新功能。 ·???????? MySQL 5.0是前一穩定(產品質量)發布系列。只針對嚴重漏洞修復和安全修復重新發布;沒有增加會影響該系列的重要功能。 ·???????? MySQL 4.0和3.23是舊的穩定(產品質量)發布系列。該版本不再使用,新的發布只用來修復特別嚴重的漏洞(以前的安全問題)。 我們不認為有完全的凍結版,因為任何版本均需要對漏洞進行修復和其它修復。對于“某種程度的凍結”,我們是指我們可以在產品發布中增加一些不會影響當前工作的小東西。自然,前一系列的相關漏洞修復會移植到后面的系列。 通常, 如果你是第一次開始使用**MySQL**或想要將它移植到一些還沒有二進制分發版的系統上,我們推薦使用最終的穩定版本。目前是MySQL 5.1。我們已經使用MySQL基準對所有MySQL發布進行了檢查,包括來自開發系列的發布,在發布前還使用基準套件來測試它。 如果你正在運行一個老的系統并且想要升級,但是又不想冒險進行非無縫升級,應該升級到最新版本中你正使用的相同的發布系列(只有版本號的最后部分比你使用的新)。我們已經試著僅修復致命缺陷,對那個版本進行了很小的相對安全的改動。 如果你想要使用產品發布系列中所沒有的新功能,你可以使用開發系列的版本。請注意開發發布不如產品發布穩定。 如果你想要使用包含所有最新補丁和漏洞修復的最新源碼,可以使用我們的BitKeeper庫。這些庫還沒有發布,但可以預覽代碼,將來的發布基于這些代碼。 ** MySQL**的命名機制使用由3個數字和一個后綴組成的版本號。例如,像**mysql-5.0.9-beta**的版本號這樣解釋: ·???????? 第1個數字(**5**)是主版本號,描述了文件格式。所有版本5的發行都有相同的文件格式。 ·???????? 第2個數字(**0**)是發行級別。主版本號和發行級別組合到一起便構成了發行序列號。 ·???????? 第3個數字(**9**)是在此發行系列的版本號,隨每個新分發版遞增。通常你需要已經選擇的發行(release)的最新版本(版本)。 每次更新后,版本字符串的最后一個數字遞增。如果相對于前一個版本增加了新功能或有微小的不兼容性,字符串的第二個數字遞增。如果文件格式改變,第一個數字遞增。 后綴顯示發行的穩定性級別。通過一系列后綴顯示如何改進穩定性。可能的后綴有: ·???????? ** alpha**表明發行包含大量未被徹底測試的新代碼。已知的缺陷應該在新聞小節被記錄。請參見[附錄D:](#)[_MySQL變更史_](# "Appendix?D.?MySQL Change History")。在大多數alpha版本中也有新的命令和擴展。alpha版本也可能有主要代碼更改等開發。但我們在發布前一定對其進行測試。 ·???????? ** beta**意味著該版本功能是完整的,并且所有的新代碼被測試了,沒有增加重要的新特征,應該沒有已知的缺陷。當alpha版本至少一個月沒有出現報導的致命漏洞,并且沒有計劃增加導致已經實施的功能不穩定的新功能時,版本則從alpha版變為**beta**版。 在以后的**beta**版、發布版或產品發布中,所有API、外部可視結構和SQL命令列均不再更改。 ·???????? **rc**是發布代表;是一個發行了一段時間的beta版本,看起來應該運行正常。只增加了很小的修復。(發布代表即以前所稱的gamma 版) ·???????? 如果沒有后綴,這意味著該版本已經在很多地方運行一段時間了,而且沒有非平臺特定的缺陷報告。只增加了關鍵漏洞修復修復。這就是我們稱為一個產品(穩定)或“通用”版本的東西。 ** MySQL**的命名機制于其它產品稍有不同。一般情況,我們可以很放心地使用已經投放市場兩周而沒有被相同發布系列的新版本所代替的版本。 ** MySQL**所有版本都經過我們的標準測試和基準測試運行,以保證它們可相當安全地使用。因為標準測試不斷擴充以檢測以前發現的缺陷,測試套件一直在改進之中。 所有版本都至少已經用下列套件進行了測試: ·???????? 一個內部測試套件 mysql-test目錄包含一整套測試案例。我們針對每個二進制服務器進行這些測試。關于該測試套件的詳細信息參見[27.1.2節,“MySQL測試套件”](# "27.1.2.?MySQL Test Suite")。 ·???????? MySQL基準套件 它運行一定范圍的普通查詢。它也是一個測試,檢測最新的優化處理是否真的使代碼更快。請參見[7.1.4節,“MySQL基準套件”](# "7.1.4.?The MySQL Benchmark Suite")。 ·???????? crash-me測試 這嘗試決定數據庫支持什么功能和它的能力與限制是什么。請參見[7.1.4節,“MySQL基準套件”](# "7.1.4.?The MySQL Benchmark Suite")。 另一個測試是在內部生產環境中使用最新**MySQL**版本,至少在一臺機器上。我們有超過100GB的數據可供使用。 #### 2.1.2.2.?選擇分發格式 選擇了MySQL的安裝版本后,要做的第二項決策是你是使用源碼分發版還是二進制分發版。大多數情況,如果你的平臺上已經有了一個二進制分發版,你可能使用二進制分發版。大多數平臺可以使用原格式二進制分發版,例如Linux使用RPM文件,Mac OS X使用DMG安裝軟件包。也可以使用Zip文件或壓縮**tar**文件。 選擇二進制分發版的理由: ·???????? 二進制分發版比源碼分發版更容易安裝。 ·???????? 為了滿足不同用戶的需求,我們提供了兩種不同的二進制版本:一個是編譯過的帶非事務儲存引擎(小的快速庫),另一個配置了最重要的擴展選項,例如事務安全表。兩個版本均從相同的源碼分發版編譯而來。所有本地MySQL客戶端均可以連接任一版本的MySQL服務器。 擴展MySQL庫分發版標有-max后綴,配置了與**mysqld-max**相同的選項。請參見[5.1.2節,“mysq**ld-max擴展My**SQL服務器”](# "5.1.2.?The mysqld-max Extended MySQL Server")。 如果想要使用MySQL-Max RPM,必須首先安裝標準MySQL-server RPM。 在某些環境下,最好安裝源碼分發版MySQL: ·???????? 你想要在某個明顯的位置安裝MySQL。標準二進制分發版可以安裝到任何地方,但你想更加靈活地將MySQL組件放到某個地方。 ·???????? 你想要將**mysqld**配置一些標準二進制分發版中未包括的一些特殊特征。下面是一些你想要使用的最常用的選項: o??????? --with-innodb(在所有MySQL 5.1庫版本中默認使用) o??????? --with-berkeley-db(只適合部分平臺) o??????? --with-libwrap o??????? --with-名d-z-libs(適合部分二進制) o??????? --with-debug[=full] ·???????? 你想要將**mysqld**配置一些標準二進制分發版中已經包括的一些特殊特征。例如,一般編譯過的分發版支持所有字符集。如果你想要一個更小的MySQL服務器,可以重新編譯只支持你需要的字符集。 ·???????? 你有一個專用編譯器(例如pgcc)或想要使用更好地優化適用你的處理器的編譯器選項。二進制分發版編譯的選項適合同一處理器族的各種處理器。 ·???????? 你想要使用BitKeeper庫中的最新源碼,以訪問所有最新漏洞修復。例如,如果你發現了漏洞并將它報告給MySQL開發小組,漏洞修復傳遞給源碼庫,你便可以訪問它。發布實際發行后才會出現漏洞修復。 ·???????? 如果你想要閱讀(或修改)構成**MySQL**的C和C++代碼,你應該拿到源碼分發版。源碼總是最終的手冊。 ·???????? 源碼分發版也比二進制的分發版包含更多的測試和實例。 #### 2.1.2.3.?如何發布更新以及何時發布更新 ** MySQL**進展的相當快,我們想要與其它**MySQL**用戶分享它。當我們有一個看來其它人似乎需要的非常有用的功能時,我們就試著制作一個發行版本。 我們也嘗試幫助那些需要很容易實現的功能的用戶,我們也關注我們授權的用戶想要什么,我們更特別關注我們支持的客戶想要什么,并且盡力幫助他們。 沒有人一定要下載一個新版本,新聞小節中將告訴你新版本是否有一些你確實想要的東西。請參見[附錄D:_MySQL變更史_](# "Appendix?D.?MySQL Change History")。 當更新**MySQL**時,我們使用下列策略: ·???????? 將發布每個系列。每次發布時,版本的最后一個數字為同一系列前一版本的基礎上加1。 ·???????? 穩定的測試過的產品版本每年準備出現1-2次,但是如果發現小缺陷,只有缺陷修復的一個版本將被發行。 ·???????? 工作版本/對舊版本的漏洞修復文件每4-8周出現一次。 ·???????? 對一些平臺的二進制分發版,主要版本由我們制作。其它人可以為其它系統制作二進制分發版,但是可能不多見。 ·???????? 我們一旦識別并修正了非緊急但煩人的缺陷,則立即將其發布,可以從公共BitKeeper庫中立即得到修復代碼,并將包含到下一發布版中。 - 在任何情況下,如果在一個發行中有一個致命缺陷,我們將盡快制作一個新版本來修復。(我們希望其它公司也這樣做!) #### 2.1.2.4.?發布原則:發行版本中沒有已知的缺陷 我們投入了大量的時間和工作來使我們的發布沒有缺陷。我們從來沒有發布過含有_已知_致命重復性缺陷的單一MySQL版本。(“致命”缺陷指能在正常應用中導致MySQL癱瘓的缺陷,對于正常查詢產生錯誤答案,或有安全問題)。 我們已經將所有公開問題、缺陷和由設計決策決定的事宜記入文件。請參見[A.8節,“MySQL中的已知事宜”](# "A.8.?Known Issues in MySQL")。 我們的目標是修復一切可以修復的東西,而不會使穩定的MySQL版本變得不穩定。在某些情況,這意味著我們可以在開發版本中修復問題,而不是在穩定的 (產品) 版本。自然,我們會將這些問題記入文檔,以便用戶能知道。 下面描述了我們如何操作: ·???????? 我們通過我們的客戶支持列表、在[http://bugs.mysql.com/](http://bugs.mysql.com/)缺陷數據庫和MySQL外部郵件列表來監控缺陷。 ·???????? 當前版本中所有被報導的缺陷被輸入缺陷數據庫。 ·???????? 當我們修復缺陷,我們總是為其設計一次測試案例,并將其包括進測試系統中,以確保不會漏檢使缺陷再現。(所有修復的缺陷中大約90%的具有測試案例)。 ·???????? 為添加到MySQL中的所有新功能創建測試案例。 ·???????? 我們開始構建新的MySQL發布前,我們確保修復了MySQL版本(3.23.x、4.0.x、4.1.x、5.0.x等等)中所有被報導的重復性缺陷。如果某些內容不能修復(由于MySQL內部的一些設計決策),我們在本手冊中記錄下來。請參見[A.8節,“MySQL中的已知事宜”](# "A.8.?Known Issues in MySQL")。 ·???????? 我們在所有支持二進制的平臺(15+平臺)上構建并運行我們的測試套件和基準套件。 ·???????? 如果在某個平臺上測試或基準套件失敗,我們不會公布二進制。如果問題是由于源碼中的普通缺陷,我們將進行修復并在所有系統上構建并測試。 ·???????? 構建和測試過程需要2-3天。如果在該過程中我們收到致命缺陷相關報告(例如,會造成內核轉儲),我們將修復該問題并重新啟動構建過程。 ·???????? 在[http://dev.mysql.com/](http://dev.mysql.com/)上公布二進制后,我們則向mysql發出公告消并announce郵件列表。請參見[1.7.1.1節,“The MySQL郵件列表”](# "1.7.1.1.?The MySQL Mailing Lists")。公告消息包含所有發布的更改列表和已知問題。只有部分發版不需要**已知的問題**部分。 ·???????? 為了讓我們的用戶快速訪問最新MySQL功能,我們每4-8周產生一個新的MySQL發布。每天構建源碼快照,可以從[http://downloads.mysql.com/snapshots.php](http://downloads.mysql.com/snapshots.php)獲得。 ·???????? 如果,盡管經過我們最大的努力,我們在發布后仍收到缺陷報告,即在某個具體平臺上出現嚴重問題,我們將立即進行修復,并為該平臺構建一個新的 'a'版本。由于我們的大用戶群,可以很快地查出并解決此類問題。 ·???????? 我們為保證穩定版本所做的跟蹤記錄不錯。在最近150個發布中,我們只需要對其中不到10個重新構建。其中有3個案例,缺陷為我們的構建機器上的glibc庫,花了很長時間來跟蹤。 #### 2.1.2.5.?MySQL AB編譯的MySQL二進制版本 作為MySQL AB的服務,我們提供了一套二進制MySQL分發版,已經在我們的站點上所列的系統或支持MySQL、友好地為我們提供訪問的機器上的系統上編譯過。 除了具體平臺安裝軟件包格式提供的二進制分發版,我們還以壓縮**tar**文件(.tar.gz文件)為多種平臺提供了二進制分發版。請參見[2.2節,“使用二進制分發版的標準MySQL安裝”](# "2.2.?Standard MySQL Installation Using a Binary Distribution")。 對于Windows分發版,參見[2.3節,“在Windows上安裝MySQL”](# "2.3.?Installing MySQL on Windows")。 使用腳本 Build-tools/Do-compile生成這些分發版,可以編譯源碼并使用**scripts/make_binary_distribution**創建二進制tar.gz文件。 通過下面的編譯器和選項來配置并構建二進制分發版。可以查看各個庫二進制**tar**文件分發版的腳本**bin/mysqlbug**內的變量COMP_ENV_INFO和 CONFIGURE_LINE來查看這些信息。 - 在MySQL AB開發系統上構建下面的二進制: ·???????? Linux 2.4.xx x86中的**gcc** 2.95.3: CFLAGS="-O2 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O2 -mcpu=pentiumpro -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static ·???????? Linux 2.4.x x86中的**icc**(Intel C++ Compiler 8.1或更高版本): CC=icc CXX=icpc CFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" CXXFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-embedded-server --with-innodb 請注意Intel 編譯器8.1版和更高版有不同的“純”C(icc)驅動程序和C++(icpc)驅動程序;如果你使用**icc **8.0版本或較早的版本來構建MySQL,需要設置CXX=icc。 ·???????? Linux 2.4.xx Intel Itanium 2中的**ecc** (Intel C++ Itanium Compiler 7.0): CC=ecc CFLAGS="-O2 -tpp2 -ip -nolib_inline" CXX=ecc CXXFLAGS="-O2 -tpp2 -ip -nolib_inline" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile ·???????? Linux 2.4.xx Intel Itanium中的**ecc**(Intel C++ Itanium Compiler 7.0): CC=ecc CFLAGS=-tpp1 CXX=ecc CXXFLAGS=-tpp1 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile ·???????? Linux 2.4.xx alpha中的ccc(Compaq C V6.2-505 / Compaq C++ V6.3-006): CC=ccc CFLAGS="-fast -arch generic" CXX=cxx CXXFLAGS="-fast -arch generic -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared --disable-shared ·???????? Linux 2.x.xx ppc中的**gcc** 2.95.4: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-embedded-server --with-innodb ·???????? Linux 2.4.xx s390中的**gcc** 2.95.3: CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static ·???????? Linux 2.4.xx x86_64(AMD64)中的**gcc** 3.2.1: CXX=gcc ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared ·???????? Sun Solaris 8 x86中的**gcc** 3.2.3: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-inno ·???????? Sun Solaris 8 SPARC中的**gcc** 3.2: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared ·???????? Sun Solaris 8 SPARC 64-bit中的**gcc** 3.2: CC=gcc CFLAGS="-O3 -m64 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared ·???????? Sun Solaris 9 SPARC中的**gcc** 2.95.3: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-curses-libs=-lcurses --disable-shared ·???????? Sun Solaris 9 SPARC中的cc-5.0(Sun Forte 5.0): CC=cc-5.0 CXX=CC ASFLAGS="-xarch=v9" CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -xarch=v9" CXXFLAGS="-noex -mt -D_FORTEC_ -xarch=v9" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --enable-thread-safe-client --disable-shared ·???????? IBM AIX 4.3.2 ppc中的**gcc** 3.2.3: CFLAGS="-O2 -mcpu=powerpc -Wa,-many " CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared ·???????? IBM AIX 4.3.3 ppc中的xlC_r(IBM Visual Age C/C++ 6.0): CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS ="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-innodb ·???????? IBM AIX 5.1.0 ppc中的**gcc** 3.3: CFLAGS="-O2 -mcpu=powerpc -Wa,-many" CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared ·???????? IBM AIX 5.2.0 ppc中的xlC_r(IBM Visual Age C/C++ 6.0): CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-embedded-server --with-innodb ·???????? HP-UX 10.20 pa-risc1.1中的**gcc** 3.1: CFLAGS="-DHPUX -I/opt/dce/include -O3 -fPIC" CXX=gcc CXXFLAGS="-DHPUX -I/opt/dce /include -felide-constructors -fno-exceptions -fno-rtti -O3 -fPIC" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-pthread --with-named-thread-libs=-ldce --with-lib-ccflags=-fPIC --disable-shared ·???????? HP-UX 11.00 pa-risc中的aCC(HP ANSI C++ B3910B A.03.50): CC=cc CXX=aCC CFLAGS=+DAportable CXXFLAGS=+DAportable ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-embedded-server --with-innodb ·???????? HP-UX 11.11 pa-risc2.0 64bit中的aCC(HP ANSI C++ B3910B A.03.33): CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared ·???????? HP-UX 11.11 pa-risc2.0 32bit中的aCC(HP ANSI C++ B3910B A.03.33): CC=cc CXX=aCC CFLAGS="+DAportable" CXXFLAGS="+DAportable" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb ·???????? HP-UX 11.22 ia64 64bit中的aCC(HP aC++/ANSI C B3910B A.05.50): CC=cc CXX=aCC CFLAGS="+DD64 +DSitanium2" CXXFLAGS="+DD64 +DSitanium2" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-embedded-server --with-innodb ·???????? Apple Mac OS X 10.2 powerpc中的**gcc** 3.1: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared ·???????? FreeBSD 4.7 i386中的**gcc** 2.95.4: CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=not-used --disable-shared ·???????? 使用LinuxThreads的FreeBSD 4.7 i386中的**gcc** 2.95.4: CFLAGS="-DHAVE_BROKEN_REALPATH -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" CXXFLAGS="-DHAVE_BROKEN_REALPATH -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-thread-libs="-DHAVE_GLIBC2_STYLE_GETHOSTBYNAME_R -D_THREAD_SAFE -I /usr/local/include/pthread/linuxthreads -L/usr/local/lib -llthread -llgcc_r" --disable-shared --with-embedded-server --with-innodb ·???????? QNX Neutrino 6.2.1 i386中的**gcc** 2.95.3qnx-nto 20010315: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared 下面的二進制是在由其它用戶提供給MySQL AB的第三方系統上構建而成。這是免費贈送;MySQL AB沒有完全控制這些系統,因此我們只能對在這些系統上構建的二進制提供有限的支持。 ·???????? ? SCO Unix 3.2v5.0.7 i386中的**gcc** 2.95.3: CFLAGS="-O3 -mpentium" LDFLAGS=-static CXX=gcc CXXFLAGS="-O3 -mpentium -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared ·???????? SCO UnixWare 7.1.4 i386中的**CC** 3.2: CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared --with-readline ·???????? CO OpenServer 6.0.0 i386中的**CC** 3.2: CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared --with-readline ·???????? Compaq Tru64 OSF/1 V5.1 732 alpha中的cc/cxx(Compaq C V6.3-029i / DIGITAL C++ V6.1-027): CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -fast -inline speed -speculate all -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-shared --with-mysqld-ldflags=-all-static ·???????? ?? SGI Irix 6.5 IP32中的**gcc** 3.0.1: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared ·???????? FreeBSD/sparc64 5.0中的**gcc** 3.2.1: CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb 在MySQL AB過去提供的二進制軟件包中應用了下面的編譯選項。這些二進制不再進行更新,但是在這里列出了這些編譯選項供參考。 ·???????? ?Linux 2.2.xx SPARC中的**egcs** 1.1.2: CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared ·???????? Linux 2.2.x x686中的**gcc** 2.95.2: CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex ·???????? SunOS 4.1.4 2 sun4c中的**gcc** 2.7.2.1: CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex --enable-assembler ·???????? SunOS 5.5.1(及以上版本)sun4u中的**egcs** 1.0.3a或2.90.27或**gcc** 2.95.2和更新版: ·???????? CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex --enable-assembler ·???????? SunOS 5.6 i86pc中的**gcc** 2.8.1: CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex ·???????? BSDI BSD/OS 3.1 i386中的**gcc** 2.7.2.1: CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex ·???????? BSDI BSD/OS 2.1 i386中的**gcc** 2.7.2: CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex ·???????? AIX 4.2中的**gcc** 2.7.2.2: CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex 如果你有更好的上述配置選項,可以向MySQL internals郵件列表發送郵件。請參見[1.7.1.1節,“The MySQL郵件列表”](# "1.7.1.1.?The MySQL Mailing Lists")。 在我們的站點中列出的MySQL 5.1發布的RPM分發版是由MySQL AB產生的。 如果你想要編譯MySQL調試版本,應當在前面的**configure**命令中加上--with-debug或--with-debug=full,并去掉-fomit-frame-pointer選項。 ### 2.1.3.?怎樣獲得MySQL 檢查MySQL下載頁([http://dev.mysql.com/downloads/](http://dev.mysql.com/downloads/))獲取當前版本和下載指令信息。關于MySQL下載鏡像站點的完整的最新列表,參見[ http://dev.mysql.com/downloads/mirrors.html](http://dev.mysql.com/downloads/mirrors.html)。你可以在此發現MySQL鏡像站點和如何報告有問題的或過時的鏡像站點的信息。 我們的主鏡像站點位于[http://mirrors.sunsite.dk/mysql/](http://mirrors.sunsite.dk/mysql/)。 ### 2.1.4.?通過MD5校驗和或GnuPG驗證軟件包的完整性`` [ 2.1.4.1. 驗證MD5校驗和](#)[ 2.1.4.2. 通過GnuPG進行簽名檢查``](#)[ 2.1.4.3. 使用RPM進行簽名檢查``](#) 下載了適合你的需求的MySQL安裝軟件包并在安裝前,你應當確保它的完整性,沒有被篡改。MySQL AB提供了3種完整性檢查方法: ·???????? MD5校驗和 ·???????? 使用GnuPG、GNU Privacy Guard對簽名進行加密 ·???????? 對于RPM軟件包,使用內嵌式RPM完整性驗證機制 下面的章節描述了如何使用這些方法。 如果你注意到MD5校驗和與GPG簽名不匹配,首先應嘗試多次下載相關安裝軟件包,可以從其它鏡像站點。如果你反復嘗試仍不能成功驗證安裝軟件包的完整性,請將此類問題通知給我們,包括完整的安裝軟件包名和你使用的下載站點,在<[webmaster@mysql.com](#)>或<[build@mysql.com](#)>。不要使用缺陷-報告機制來報告下載問題。 #### 2.1.4.1.?驗證MD5校驗和 下載MySQL安裝軟件包后,你應當確保它的MD5校驗和與提供的MySQL下載頁上的相匹配。每個安裝軟件包有唯一的校驗和,可以用下面的命令來驗證,其中package_name是你下載的安裝軟件包的名稱: shell> md5sum package_name 示例: ? shell> md5sum mysql-st和ard-5.1.2-alpha-linux-i686.tar.gz ? aaab65abbec64d5e907dcd41b8699945? mysql-st和ard-5.1.2-alpha-linux-i686.tar.gz 你應當驗證結果校驗和(十六進制數字字符串)與下載頁上相關安裝軟件包下面顯示的校驗和相匹配。 **注釋:**一定要驗證**歸檔文件**(例如,.zip或.tar.gz文件)的校驗和,而不是其中包括的文件。 請注意并非所有操作系統支持**md5sum**命令。在一些操作系統上,只是稱為**md5,**另一些根本不裝載它。在Linux中,它是**GNU Text Utilities**安裝軟件包的一部分,適合各種平臺。可以從[http://www.gnu.org/software/textutils/](http://www.gnu.org/software/textutils/)下載源碼。如果你已經安裝了OpenSSL,還可以使用命令**openssl md5 package_name**。[http://www.fourmilab.ch/md5/](http://www.fourmilab.ch/md5/)提供了DOS/Windows使用的**md5**命令行實用工具。**winMd5Sum**是一個圖形MD5檢查工具,可以從[http://www.nullriver.com/index/products/winmd5sum](http://www.nullriver.com/index/products/winmd5sum)獲得。 #### 2.1.4.2.?通過GnuPG進行簽名檢查`` 驗證安裝軟件包完整性和真實性的另一個方法是使用加密簽名。這比使用MD5校驗和更可靠,但是需要更多的工作。 MySQL AB用**GnuPG**(GNU Privacy Guard)對下載MySQ軟件包進行簽名。**GnuPG**是開放源碼,不同于Phil Zimmermann的聞名的Pretty Good Privacy (**PGP**)。關于**GnuPG**和如何獲得并安裝到你的系統的詳細信息,請參見[http://www.gnupg.org/](http://www.gnupg.org/)。大多數Linux分發版裝有默認安裝的**GnuPG**。關于**GnuPG**的詳細信息,參見 [ http://www.openpgp.org/](http://www.openpgp.org/)。 要想驗證具體安裝軟件包的簽名,你首先需要獲得MySQL AB公共GPG構建密鑰的拷貝。可以從[http://www.keyserver.net/](http://www.keyserver.net/)下載密鑰。你想要獲得的密鑰名為build@mysql.com。另外,可以從下面的文本直接剪切并粘貼密鑰: Key ID: pub? 1024D/5072E1F5 2003-02-03 ???? MySQL Package signing key (www.mysql.com) <build@mysql.com> Fingerprint: A4A9 4068 76FC BD3C 4567? 70C8 8C71 8D3B 5072 E1F5 ? Public Key (ASCII-armored): ? -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org ? mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3 RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3 BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE 7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p /1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92 6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ== =YJkx -----END PGP PUBLIC KEY BLOCK----- 你可以使用**gpg --import**將構建密鑰導入你的個人公共GPG鑰匙圈(keyring)。例如,如果你把密鑰保存到mysql_pubkey.asc文件中,導入命令應為: shell> gpg --import mysql_pubkey.asc 關于公共密鑰如何工作的詳細信息,請參閱GPG文檔。 下載并導入公共構建密鑰后,下載期望的MySQL安裝軟件包和相應的簽名,也可以從下載頁上獲得。簽名文件名與分發版文件相同,有 an .asc擴展名。例如: <table border="1" cellpadding="0" id="table1"><tr><td> <p>分發文件</p></td> <td> <p><span> <span>mysql-st</span><span>和<span>ard-5.1.2-alpha-linux-i686.tar.gz</span></span></span></p></td> </tr><tr><td> <p>簽名文件</p></td> <td> <p><span> <span>mysql-st</span><span>和<span>ard-5.1.2-alpha-linux-i686.tar.gz.asc</span></span></span></p></td> </tr></table> 確保兩個文件保存在同一目錄下,運行下面的命令來驗證分發文件的簽名: shell> gpg --verify package_name.asc 示例: ? shell> gpg --verify mysql-standard-5.1.2-alpha-linux-i686.tar.gz.asc ? gpg: Signature made Tue 12 Jul 2005 23:35:41 EST using DSA key ID 5072E1F5 ? gpg: Good signature from "MySQL Package signing key (www.mysql.com) <build@mysql.com>" Good signature消息表示所有內容都很正確。你可以忽略任何insecure memory警告。 #### 2.1.4.3.?使用RPM進行簽名檢查`` RPM軟件包沒有單獨的簽名。RPM軟件包內置GPG簽名和MD5校驗和。可以運行下面的命令來驗證安裝軟件包: shell> rpm --checksig package_name.rpm 示例: shell> rpm --checksig MySQL-server-5.1.2-alpha-0.i386.rpm MySQL-server-5.1.2-alpha-0.i386.rpm: md5 gpg OK **注釋:**如果你正使用RPM 4.1,并且出現關于(GPG) NOT OK (MISSING KEYS: GPG#5072e1f5)的抱怨,盡管你已經將MySQL公共構建密鑰導入到你自己的GPG鑰匙圈,你必須首先將密鑰導入到RPM鑰匙圈中。RPM 4.1不再使用你的個人GPG鑰匙圈(或GPG本身)。RPM 4.1維護自己的鑰匙圈,因為它是系統范圍的應用程序,而用戶GPG公共鑰匙圈是具體的用戶文件。要想將MySQL公共密鑰導入RPM鑰匙圈,要首先獲得前面章節描述的密鑰。然后使用**rpm --import**導入密鑰。例如,如果你的公共密鑰保存在mysql_pubkey.asc文件中,應使用下述命令導入公共密鑰: shell> rpm --import mysql_pubkey.asc 如果你需要獲得MySQL公共密鑰,參見[2.1.4.2節,“通過GnuPG進行簽名檢查``”](# "2.1.4.2.?Signature Checking Using GnuPG")。 ### 2.1.5.?安裝布局 這節描述安裝MySQL AB提供的二進制代碼和源碼分發時創建的默認目錄布局。如果你安裝其它供應商提供的分發,應使用其它布局。 在Windows中,MySQL 5.1的默認安裝目錄是C:\Program Files\MySQL\MySQL Server 5.1。(一些Windows用戶寧愿安裝到原來的默認安裝目錄 C:\mysql。然而,子目錄布局仍然相同)。安裝目錄包括以下子目錄: <table border="1" cellpadding="0" id="table2"><tr><td width="116"> <p><strong><span>目錄</span></strong></p></td> <td width="249"> <p><strong><span>目錄內容</span></strong></p></td> </tr><tr><td width="116"> <p> <span>bin</span></p></td> <td width="249"> <p>客戶端程序和<strong><span>mysqld</span></strong>服務器</p></td> </tr><tr><td width="116"> <p><tt> <span>data</span></tt></p></td> <td width="249"> <p>日志文件,數據庫</p></td> </tr><tr><td width="116"> <p> <span>Docs</span></p></td> <td width="249"> <p>文檔</p></td> </tr><tr><td width="116"> <p> <span>examples</span></p></td> <td width="249"> <p>示例程序和腳本</p></td> </tr><tr><td width="116"> <p> <span>include</span></p></td> <td width="249"> <p>包含<span>(</span>頭<span>)</span>文件</p></td> </tr><tr><td width="116"> <p> <span>lib</span></p></td> <td width="249"> <p>庫</p></td> </tr><tr><td width="116"> <p> <span>scripts</span></p></td> <td width="249"> <p>實用工具腳本</p></td> </tr><tr><td width="116"> <p> <span>share</span></p></td> <td width="249"> <p>錯誤消息文件</p></td> </tr></table> 使用MySQL AB's Linux RPM分發進行安裝后,將在以下系統目錄產生文件: <table border="1" cellpadding="0" id="table3"><tr><td width="224"> <p><strong><span>目錄</span></strong></p></td> <td width="261"> <p><strong><span>目錄內容</span></strong></p></td> </tr><tr><td width="224"> <p> <span>/usr/bin</span></p></td> <td width="261"> <p>客戶端程序和腳本</p></td> </tr><tr><td width="224"> <p> <span>/usr/sbin</span></p></td> <td width="261"> <p><strong> <span>mysqld</span></strong>服務器</p></td> </tr><tr><td width="224"> <p> <span>/var/lib/mysql</span></p></td> <td width="261"> <p>日志文件,數據庫</p></td> </tr><tr><td width="224"> <p> <span> /usr/share/doc/packages</span></p></td> <td width="261"> <p>文檔</p></td> </tr><tr><td width="224"> <p> <span>/usr/include/mysql</span></p></td> <td width="261"> <p>包含<span>(</span>頭<span>)</span>文件</p></td> </tr><tr><td width="224"> <p> <span>/usr/lib/mysql</span></p></td> <td width="261"> <p>庫</p></td> </tr><tr><td width="224"> <p> <span>/usr/share/mysql</span></p></td> <td width="261"> <p>錯誤消息和字符集文件</p></td> </tr><tr><td width="224"> <p> <span>/usr/share/sql-bench</span></p></td> <td width="261"> <p>基準程序</p></td> </tr></table> 在Unix中,可以在你選擇的安裝位置解壓并安裝**tar**文件二進制分發(typically /usr/local/mysql)并在該位置創建以下目錄: <table border="1" cellpadding="0" id="table4"><tr><td width="128"> <p><strong><span>目錄</span></strong></p></td> <td width="285"> <p><strong><span>目錄內容</span></strong></p></td> </tr><tr><td width="128"> <p> <span>bin</span></p></td> <td width="285"> <p>客戶端程序和<strong><span>mysqld</span></strong>服務器</p></td> </tr><tr><td width="128"> <p> <span>data</span></p></td> <td width="285"> <p>日志文件,數據庫</p></td> </tr><tr><td width="128"> <p> <span>docs</span></p></td> <td width="285"> <p>文檔,<span>ChangeLog</span></p></td> </tr><tr><td width="128"> <p> <span>include</span></p></td> <td width="285"> <p>包含<span>(</span>頭<span>)</span>文件</p></td> </tr><tr><td width="128"> <p> <span>lib</span></p></td> <td width="285"> <p>庫</p></td> </tr><tr><td width="128"> <p> <span>scripts</span></p></td> <td width="285"> <p><strong> <span>mysql_install_db</span></strong></p></td> </tr><tr><td width="128"> <p> <span>share/mysql</span></p></td> <td width="285"> <p>錯誤消息文件</p></td> </tr><tr><td width="128"> <p> <span>sql-bench</span></p></td> <td width="285"> <p>基準程序</p></td> </tr></table> 配置并編譯完源碼分發后,便開始安裝。默認情況下,可以將文件安裝到/usr/local,即在下面的子目錄中: <table border="1" cellpadding="0" id="table5"><tr><td width="140"> <p><strong><span>目錄</span></strong></p></td> <td width="213"> <p><strong><span>目錄內容</span></strong></p></td> </tr><tr><td width="140"> <p> <span>bin</span></p></td> <td width="213"> <p>客戶端程序和腳本</p></td> </tr><tr><td width="140"> <p> <span>include/mysql</span></p></td> <td width="213"> <p>包含<span>(</span>頭<span>)</span>文件</p></td> </tr><tr><td width="140"> <p> <span>info</span></p></td> <td width="213"> <p><span>Info</span>格式的文檔</p></td> </tr><tr><td width="140"> <p> <span>lib/mysql</span></p></td> <td width="213"> <p>庫</p></td> </tr><tr><td width="140"> <p> <span>libexec</span></p></td> <td width="213"> <p><strong> <span>mysqld</span></strong>服務器</p></td> </tr><tr><td width="140"> <p> <span>share/mysql</span></p></td> <td width="213"> <p>錯誤消息文件</p></td> </tr><tr><td width="140"> <p> <span>sql-bench</span></p></td> <td width="213"> <p>基準程序和<span>crash-me</span>測試</p></td> </tr><tr><td width="140"> <p> <span>var</span></p></td> <td width="213"> <p>數據庫和日志文件</p></td> </tr></table> 在一個安裝目錄內,源碼安裝的布局在下列方面不同于二進制安裝: ·???????? **mysqld**服務器被安裝在“libexec”目錄而不是“bin”目錄內。 ·???????? 數據目錄是“var”而非“data”。 ·???????? **mysql_install_db**被安裝在“bin”目錄而非“scripts”內。 ·???????? 頭文件和庫目錄是“include/mysql”和“lib/mysql”而非“include”和“lib”。 執行源碼分發根目錄下的scripts/make_binary_distribution腳本,你可以用編譯過的源碼分發版創建你自己的二進制安裝。 ### 2.2.?使用二進制分發版的標準MySQL安裝 后面幾章包括如何在安裝軟件包格式適合的平臺上平臺安裝MySQL。(即執行“二進制安裝”)。也可以在多種平臺上安裝MySQL二進制分發版。關于適合所有平臺的軟件包的通用安裝指令參見[2.7節,“在其它類Unix系統中安裝MySQL”](# "2.7.?Installing MySQL on Other Unix-Like Systems")。 關于二進制分發版的使用和如何獲得的詳細信息請參見[2.1節,“一般安裝問題”](# "2.1.?General Installation Issues")。 ### 2.3.?在Windows上安裝MySQL [ 2.3.1. Windows系統要求](#)[ 2.3.2. 選擇安裝軟件包](#)[2.3.3. 用自動安裝器安裝MySQL](#)[ 2.3.4. 使用MySQL安裝向導](#)[ 2.3.5. 使用配置向導](#)[2.3.6. 通過非安裝Zip文件安裝MySQL](#)[ 2.3.7. 提取安裝檔案文件](#)[ 2.3.8. 創建選項文件](#)[ 2.3.9. 選擇MySQL服務器類型](#)[ 2.3.10. 首次啟動服務器](#)[ 2.3.11. 從Windows命令行啟動MySQL](#)[ 2.3.12. 以Windows服務方式啟動MySQL](#)[ 2.3.13. 測試MySQL安裝](#)[ 2.3.14. 在Windows環境下對MySQL安裝的故障診斷與排除](#)[ 2.3.15. 在Windows下升級MySQL](#)[ 2.3.16. Windows版MySQL同Unix版MySQL對比](#) MySQL AB已經提供了Windows中安裝的MySQL 3.21以上版本,并提供了每天下載MySQL的比率。本節描述在Windows中安裝MySQL的過程。 使用Windows版本MySQL安裝器,結合GUI配置向導,可以自動安裝MySQL,創建選項文件,啟動服務器并使默認用戶賬戶安全。 如果你要升級已有的4.1.5版以前的MySQL,你必須執行以下步驟: 1.??? 獲得并安裝分發版。 2.??? 根據需要設置選項文件。 3.??? 選擇想要使用的服務器。 4.??? 啟動服務器。 5.??? 為初始MySQL賬戶指定密碼。 該過程還適合安裝軟件包內不包括安裝器的MySQL安裝。 Windows版MySQL 5.1有3種分發格式: ·???????? ?二進制分發版包含一個設置程序,可以安裝你需要的任何內容,因此可以立即啟動服務器。 ·???????? ?源碼分發版包含所有使用Visual Studio 2003編譯器來構建可執行程序的代碼和支持文件。 一般來講,你應當使用二進制分發版。它比其它的分發版使用起來要簡單,不再需要其它工具來啟動并運行MySQL。 本節描述了如何使用二進制分發版在Windows中安裝MySQL。要想使用源碼分發版安裝,參見[2.8.6節,“在Windows下從源碼安裝MySQL”](# "2.8.6.?Installing MySQL from Source on Windows")。 ### 2.3.1.?Windows系統要求 要想在Windows中運行MySQL,你需要: ·???????? 32位Windows操作系統,例如9x、Me、NT、2000、XP或Windows Server 2003。 基于Windows NT的操作系統(NT,2000,XP,2003),將MySQL服務器做為服務來運行。強烈建議使用基于Windows NT的操作系統。請參見[2.3.12節,“以Windows服務方式啟動MySQL”](# "2.3.12.?Starting MySQL as a Windows Service")。 ·???????? TCP/IP協議支持。 ·???????? Windows版本MySQL二進制分發版,可以從[http://dev.mysql.com/下載/](http://dev.mysql.com/downloads/)下載。請參見[2.1.3節,“怎樣獲得MySQL”](# "2.1.3.?How to Get MySQL")。 注釋:如果你從FTP下載分發版,我們建議使用充分的FTP客戶端以保證續傳,避免下載過程中文件被破壞。 ·???????? 可以讀取 .zip文件的工具,以解壓分發文件。 ·???????? 硬盤上有足夠的空間保證根據你的需求來解包、安裝和創建數據庫(一般建議至少有200兆字節)。 你還可以有以下可選需求: ·???????? 如果你計劃通過ODBC連接MySQL服務器,你還需要一個連接器/ODBC驅動程序。請參見[26.1節,“MySQL Connector/ODBC”](# "26.1.?MySQL Connector/ODBC")。 ·???????? 如果表需要占用的空間大于4GB,則在NTFS或更新的文件系統上安裝MySQL。當創建表時不要忘記使用MAX_ROWS和 AVG_ROW_LENGTH。請參見[13.1.5節,“CREATE TABLE語法”](# "13.1.5.?CREATE TABLE Syntax")。 ### 2.3.2.?選擇安裝軟件包 在Windows中安裝MySQL時,有3種MySQL 5.1安裝軟件包可供選擇: ·???????? **基本安裝**:該安裝軟件包的文件名類似于mysql-essential-5.1.2-alpha-win32.msi,包含在Windows中安裝MySQL所需要的最少的文件,包括配置向導。該安裝軟件包不包括可選組件,例如嵌入式服務器和基準套件。 ·???????? **完全安裝**:該安裝軟件包的文件名類似于mysql-5.1.2-alpha-win32.zip,包含在Windows中安裝MySQL所需要的全部文件,包括配置向導。該安裝軟件包包括可選組件,例如嵌入式服務器和基準套件。 ·???????? **非自動安裝文件**:該安裝軟件包的文件名類似于mysql-noinstall-5.1.2-alpha-win32.zip,包含完整安裝包中的全部文件,只是不包括配置向導。該安裝軟件包不包括自動安裝器,必須手動安裝和配置。 對于大多數用戶,建議選擇基本安裝。 你的選擇會影響你后面必須遵從的安裝過程。如果你選擇基本安裝或完全安裝,參見[2.3.3節,“用自動安裝器安裝MySQL”](# "2.3.3.?Installing MySQL with the Automated Installer")。如果你選擇非自動安裝MySQL,參見[2.3.6節,“通過非安裝Zip文件安裝MySQL”](# "2.3.6.?Installing MySQL from a Noinstall Zip Archive")。 ### 2.3.3.?用自動安裝器安裝MySQL 在Windows中安裝MySQL時,新用戶可以使用MySQL安裝幫助和MySQL Configuration Wizard(配置向導)。MySQL安裝和配置的方式是使新用戶可以立即開始使用MySQL。 基本安裝和完全安裝中均包括MySQL安裝幫助和配置向導,建議在大多數標準MySQL安裝中選擇。例外情況包括想在單個服務器上安裝多個實例的用戶和想完全控制服務器配置的高級用戶。 ### 2.3.4.?使用MySQL安裝向導 [ 2.3.4.1. 前言](#)[ 2.3.4.2. 下載并啟動MySQL安裝向導](#)[ 2.3.4.3. 選擇安裝類型](#)[ 2.3.4.4. 定制安裝對話框](#)[ 2.3.4.5. 配置對話框](#)[ 2.3.4.6. MySQL安裝向導所作的更改](#)[ 2.3.4.7. 升級MySQL](#) #### 2.3.4.1.?前言 MySQL安裝幫助是MySQL服務器的安裝器,使用最新的Microsoft Window安裝器技術。結合使用MySQL安裝幫助和配置向導,用戶安裝并 配置完MySQL服務器后便可以直接使用。 MySQL安裝幫助是MySQL 5.1服務器分發的標準安裝器。使用MySQL安裝幫助安裝MySQL之前,用戶需要手動關閉并卸載已經安裝的以前版本的MySQL。關于對以前版本進行升級的詳細信息請參見 [ 2.3.4.7節,“升級MySQL”](# "2.3.4.7.?Upgrading MySQL")。 最近版本的Windows包含了改進版本的Microsoft Windows安裝器(MSI)。MSI已經成為Windows 2000、Windows XP和Windows Server 2003應用程序安裝的事實標準。MySQL安裝幫助中使用了該技術,使安裝過程更加靈活、順利。 Microsoft Windows安裝器引擎隨著Windows XP的更新而更新;使用以前Windows版本的用戶可以參考[Microsoft 知識庫文章](http://support.microsoft.com/default.aspx?scid=kb;EN-US;292539)查閱關于升級到最新版Windows安裝器引擎的資料。 此外,Microsoft最近已經引入了WiX(Windows 安裝器 XML)工具包。這是Microsoft公認的開放源碼項目。我們轉換到WiX是因為它是一個開放源碼項目,可以使用腳本更加靈活地處理整個Windows安裝過程。 對MySQL裝幫助的改進依賴于各用戶的支持和反饋。如果你發現MySQL安裝幫助缺少對你很重要的某些功能,或如果你發現某個缺陷,請使用我們的[MySQL缺陷系統](http://bugs.mysql.com/)來索取功能或報告問題。 #### 2.3.4.2.?下載并啟動MySQL安裝向導 可以從[http://dev.mysql.com/downloads/](http://dev.mysql.com/downloads/)下載MySQL服務器安裝軟件包。如果你下載的安裝軟件包在Zip文件中,你需要先提取文件。 啟動幫助的過程取決于下載的安裝軟件包的內容。如果有setup.exe文件,雙擊啟動安裝過程。如果有.msi文件,雙擊啟動安裝過程。 #### 2.3.4.3.?選擇安裝類型 有3種安裝類型:**Typical(典型安裝)、Complete(完全安裝)**和**Custom(定制安裝)**。 **Typical(典型安裝)**安裝只安裝MySQL服務器、**mysql**命令行客戶端和命令行實用程序。命令行客戶端和實用程序包括**mysqldump、myisamchk**和其它幾個工具來幫助你管理MySQL服務器。 **Complete(完全安裝)**安裝將安裝軟件包內包含的所有組件。完全安裝軟件包包括的組件包括嵌入式服務器庫、基準套件、支持腳本和文檔。 **Custom(定制安裝)**安裝允許你完全控制你想要安裝的軟件包和安裝路徑。關于定制安裝的詳細信息請參見[2.3.4.4節,“定制安裝對話框”](# "2.3.4.4.?The Custom Install Dialog")。 如果你選擇**Typical(典型安裝)**或**Complete(完全安裝)**安裝并點擊Next按鈕,你將進入確認窗口確認選擇并開始安裝。如果你選擇**定制**安裝并點擊Next按鈕,你將進入定制安裝對話框,參見[2.3.4.4節,“定制安
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看