天天看點

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

本節書摘來自異步社群出版社《深入淺出mysql:資料庫開發、優化與管理維護(第2版)》一書中的第1章,第1.3節,作者: 唐漢明 , 翟振興 , 關寶軍 , 王洪權 , 黃潇,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

深入淺出mysql:資料庫開發、優化與管理維護(第2版)

mysql安裝完畢後,大多數情況下都可以直接啟動mysql服務,而不需要設定參數。因為系統對所有的參數都有一個預設值。如果要修改預設值,則必須要配置參數檔案。下面就windows和linux兩種平台下的配置方法進行介紹。

對于noinstall方式安裝的mysql,系統的參數配置、服務的啟動和關閉都需要手工在指令視窗中完成。參數檔案可以在多個位置進行設定,這裡用一個c:my.cnf來進行操作,其他更詳細的參數位置可以參考第24章中的介紹。

對于初學者來說,my.cnf并不知道該怎樣配置。mysql為使用者提供了幾個樣例檔案,位于解壓後的目錄下,檔案名類似于my-.ini,其中“”分别代表了不同的環境特點,例如my-small.ini、my-large.ini分别代表了此檔案适合于小型資料庫和大型資料庫。下面是一個my-small.ini的部分内容:

上面樣例中的粗體代表了不同方面的參數,通常我們配置最多的是[mysqld],也就是mysql伺服器參數。如果将選擇的my-*.ini檔案另存為c:my.cnf檔案,則mysql執行個體啟動的時候就會讀取此配置檔案。

對于圖形化的安裝方式,mysql提供了一個圖形化的執行個體配置向導,可以引導使用者逐漸進行執行個體參數的設定,具體操作步驟如下。

(1)單擊“開始”→“所有程式”→“mysql”→“mysql server 5.0”→“mysql server instance configuration wizard”菜單,進入歡迎界面,如圖1-12所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

(2)單擊“next”按鈕,進入選擇配置類型界面,如圖1-13所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

界面中顯示了mysql提供的詳細配置(detailed configuration)和标準配置(standard configuration)兩種配置類型。它們的差別在于詳細配置列出了更詳細的個性化配置向導,配置過程相對複雜而且較慢;标準配置是一個通用的配置,配置過程簡單快速。這裡用詳細配置為例來進行介紹。

(3)選擇“detailed configuration”單選按鈕,單擊“next”按鈕,進入如圖1-14所示的界面。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

此界面中列出了mysql的3種應用方式。

boll developer machine(開發機),使用最小數量的記憶體。

boll server machine(伺服器),使用中等大小的記憶體。

boll dedicated mysql server machine(專用伺服器),使用目前可用的最大記憶體。

(4)這裡選擇“developer machine”單選按鈕,單擊“next”按鈕,進入資料庫用途選擇界面,如圖1-15所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

該界面中列出了3種資料庫用途選項。

boll multifunctional database(多功能資料庫),此選項對事務性存儲引擎(innodb)和非事務性(myisam)存儲引擎的存取速度都很快。

boll transactional database only(事務性資料庫),此選項主要優化了事務性(innodb)存儲引擎,但是非事務性存儲引擎(myisam)也可以使用。

boll non-transactional database only(非事務型資料庫),此選項主要優化了非事務性(myisam)存儲引擎,注意事務性存儲引擎(innodb)不能使用。

存儲引擎在後面的章節中将會專門介紹,讀者可以了解為不同的表類型。

(5)這裡選擇“multifunctional database”單選按鈕。單擊“next”按鈕,進入innodb資料檔案目錄配置界面,如圖1-16所示。

innodb的資料檔案會在資料庫第一次啟動的時候建立,預設會建立在mysql的安裝目錄下。使用者可以根據實際的空間狀況進行路徑的選擇。這裡保留預設值。

(6)單擊“next”按鈕,進入并發連接配接設定界面,如圖1-17所示,其中有3個選項,其含義分别如下。

boll decision support(dss)/olap(決策支援系統),設定連接配接數為20。

boll online transaction processing(oltp)(線上事務系統),設定連接配接數為500。

boll manual setting(手工設定),手工輸入并發連接配接數。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

(7)選擇“decision support(dss)/olap”單選按鈕後,單擊“next”按鈕,進入網絡選項設定,如果1-18所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

本界面中主要設定mysql服務的端口号,選項“enable tcp/ip networking”表示是否運作tcp/ip連接配接,而選項“enable strict mode”表示是否采用嚴格模式來啟動服務。至于什麼是mysql的模式,将在本書的第16章中詳細介紹。

(8)選擇“enable tcp/ip networking”和“enable strict mode”複選框後,單擊“next”按鈕,進入預設字元集選擇界面,如圖1-19所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

該界面上的3種選項分别表示如下。

boll standard character set(标準字元集),預設是latin1。

boll best support for multilingualism(對多語言支援最好的字元集),是指utf-8。

boll manual selected default character set/collation(手工選擇字元集)。

字元集将會在第9章中詳細介紹。

(9)選擇“standard character set”單選按鈕後,單擊“next”按鈕,進入windows選項設定界面,如圖1-20所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

這個界面上部是設定mysql是否作為windows的一個服務,如果是,設定一個服務名稱并設定是否windows重新開機的時候自動裝載。這裡保留預設選項,将服務名稱改為“mysql5”。下面的“include bin directory in windows path”複選框表示mysql的bin目錄是否寫入windows的path中,這裡選中該複選框。

(10)單擊“next”按鈕,進入mysql的安全選項配置界面,如圖1-21所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

圖1-21中顯示了mysql的兩個安全設定複選框,“modify security settings”複選框确定是否修改預設root密碼,因為預設的root密碼是空,是以建議使用者一定要修改;“create an anonymous account”複選框确定是否建立一個匿名使用者,建議使用者不要建立,因為這樣會給系統帶來安全漏洞。這裡為了簡便起見,将root密碼改為123(正式的生産環境中一定要采用更為複雜的密碼)。

(11)單擊“next”按鈕,進入準備執行界面,如圖1-22所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

(12)确認設定沒有問題後,單擊“execute”按鈕,開始執行。執行成功後的界面如圖1-23所示。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

單擊“finish”按鈕後,安裝過程全部完成。這時可以發現,windows的服務清單中已經增加了“mysql5”這一項,如圖1-24所示,可以通過啟動、停止這個服務來啟動和關閉mysql。

《深入淺出MySQL:資料庫開發、優化與管理維護(第2版)》一一1.3 MySQL的配置

在linux下配置mysql和在windows下以noinstall方式配置非常類似,差別在于參數檔案的位置和檔案名不同。linux下也可以在多個位置部署配置檔案,大多數情況下都放在/etc下,檔案名稱隻能是my.cnf(在windows下檔案名稱可以是my.ini)。

對于初學者來說,和windows下類似,還是建議用mysql自帶的多個樣例參數檔案來代替實際的參數檔案。在linux下,如果安裝方式是rpm包,則自帶的參數檔案會放到/usr/share/mysql下,如下所示:

使用者可以根據實際需求選擇不同的配置檔案複制到/etc下,改名為my.cnf,并根據實際需要做一些配置的改動。mysql啟動的時候會讀取此檔案中的配置選項。