MySQL效能最佳化全攻略-伺服器參數調整

來源:互聯網
上載者:User

正確的編譯方法固然重要,但它只是提高MySQL伺服器效能工作的一部分。MySQL伺服器的許多參數會影響伺服器的效能表現,而且我們可以把這些參數儲存到設定檔,使得每次MySQL伺服器啟動時這些參數都自動發揮作用。這個設定檔就是my.cnf。

MySQL伺服器提供了my.cnf檔案的幾個樣本,它們可以在/usr/local/mysql/share/mysql/目錄下找到,名字分別為my-small.cnf、my-medium.cnf、my-large.cnf以及my-huge.cnf。檔案名稱字中關於規模的說明描述了該設定檔適用的系統類別型。例如,如果運行MySQL伺服器的系統記憶體不多,而且MySQL只是偶爾使用,那麼使用my-small.cnf設定檔最為理想,這個設定檔告訴mysqld daemon使用最少的系統資源。反之,如果MySQL伺服器用於支援一個大規模的線上商場,系統擁有2G的記憶體,那麼使用mysql-huge.cnf最為合適。

要使用上述樣本設定檔,我們應該先複製一個最適合要求的設定檔,並把它命名為my.cnf。這個複製得到的設定檔可以按照如下三種方式使用:

全域:把這個my.cnf檔案複製到伺服器的/etc目錄,此時檔案中所定義的參數將全域有效,即對該伺服器上啟動並執行所有MySQL資料庫伺服器都有效。

局部:把這個my.cnf檔案複製到[MYSQL-INSTALL-DIR]/var/將使該檔案只對指定的伺服器有效,其中[MYSQL-INSTALL-DIR]表示安裝MySQL的目錄。

使用者:最後,我們還可以把該檔案的作用範圍局限到指定的使用者,這隻需把my.cnf檔案複製到使用者的根目錄即可。

那麼,如何設定my.cnf檔案中的參數呢?或者進一步說,哪些參數是我們可以設定的呢?所有這些參數都對MySQL伺服器有著全域性的影響,但同時每一個參數都和MySQL的特定部分關係較為密切。例如,max_connections參數屬於mysqld一類。那麼,如何才能得知這一點呢?這隻需執行如下命令:

% >/usr/local/mysql/libexec/mysqld --help

該命令將顯示出和mysqld有關的各種選項和參數。要尋找這些參數非常方便,因為這些參數都在“Possible variables for option --set-variable (-O) are”這行內容的後面。找到這些參數之後,我們就可以在my.cnf檔案中按照如下方式設定所有這些參數:

set-variable = max_connections=100

這行代碼的效果是:同時串連MySQL伺服器的最大串連數量限制為100。不要忘了在my.cnf檔案[mysqld]小節加上一個set-variable指令,具體請參見設定檔中的樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.