MySQL 5.5.13
參數(shù)說明:
[client]
character-set-server = utf8
port = 3306
socket = /data/mysql/3306/mysql.sock
[mysqld]
character-set-server = utf8
user = mysql
port = 3306
socket = /data/mysql/3306/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /data/mysql/3306/data
log-error = /data/mysql/3306/mysql_error.log
pid-file = /data/mysql/3306/mysql.pid
# table_cache 參數(shù)設(shè)置表高速緩存的數(shù)目。每個連接進來,都會至少打開一個表緩存。#因此, table_cache 的大小應(yīng)與 max_connections 的設(shè)置有關(guān)。例如,對于 200 個#并行運行的連接,應(yīng)該讓表的緩存至少有 200 × N ,這里 N 是應(yīng)用可以執(zhí)行的查詢#的一個聯(lián)接中表的最大數(shù)量。此外,還需要為臨時表和文件保留一些額外的文件描述符。
#當(dāng) Mysql 訪問一個表時,如果該表在緩存中已經(jīng)被打開,則可以直接訪問緩存;如果#還沒有被緩存,但是在 Mysql 表緩沖區(qū)中還有空間,那么這個表就被打開并放入表緩#沖區(qū);如果表緩存滿了,則會按照一定的規(guī)則將當(dāng)前未用的表釋放,或者臨時擴大表緩存來存放,使用表緩存的好處是可以更快速地訪問表中的內(nèi)容。執(zhí)行 flush tables 會#清空緩存的內(nèi)容。一般來說,可以通過查看數(shù)據(jù)庫運行峰值時間的狀態(tài)值 Open_tables #和 Opened_tables ,判斷是否需要增加 table_cache 的值(其中 open_tables 是當(dāng)#前打開的表的數(shù)量, Opened_tables 則是已經(jīng)打開的表的數(shù)量)。即如果open_tables接近table_cache的時候,并且Opened_tables這個值在逐步增加,那就要考慮增加這個#值的大小了。還有就是Table_locks_waited比較高的時候,也需要增加table_cache。
open_files_limit = 10240
table_cache = 512
#非動態(tài)變量,需要重啟服務(wù)
#指定MySQL可能的連接數(shù)量。當(dāng)MySQL主線程在很短的時間內(nèi)接收到非常多的連接請求,該參數(shù)生效,主線程花費很短的時間檢查連接并且啟動一個新線程。back_log參數(shù)的值指出在MySQL暫時停止響應(yīng)新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。如果系統(tǒng)在一個短時間內(nèi)有很多連接,則需要增大該參數(shù)的值,該參數(shù)值指定到來的TCP/IP連接的偵聽隊列的大小。不同的操作系統(tǒng)在這個隊列大小上有它自己的限制。試圖設(shè)定back_log高于你的操作系統(tǒng)的限制將是無效的。默認值為50。對于Linux系統(tǒng)推薦設(shè)置為小于512的整數(shù)。
back_log = 600
#MySQL允許最大連接數(shù)
max_connections = 5000
#可以允許多少個錯誤連接
新聞熱點
疑難解答
圖片精選