mysql配置(部分常用的參數)
[mysqld]
socket = /tmp/mysql.sock
# 爲MySQL客戶程序與服務器之間的本地通信指定一個套接字文件(Linux下默認是/var/lib/mysql/mysql.sock文件)
port = 3306
# 指定MsSQL偵聽的端口
skip-name-resolve
#禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啓該選項, 則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求.
key_buffer = 384M
# key_buffer是用於索引塊的緩衝區大小,增加它可得到更好處理的索引(對所有讀和多重寫)。索引被所有的線程共享,key_buffer的大小視內存大小而定。
table_open_cache = 512
# MySQL每打開一個表,都會讀入一些數據到table_open_cache緩存中,當MySQL在這個緩存中找不到相應信息時,纔會去磁盤上讀取。默認值64, 假定系統有200個併發連接,則需將此參數設置爲200*N(N爲每個連接所需的文件描述符數目);當把table_open_cache設置爲很大時,如果系統處理不了那麼多文件描述符,那麼就會出現客戶端失效,連接不上.
max_allowed_packet = 4M
# 接受的數據包大小;增加該變量的值十分安全,這是因爲僅當需要時纔會分配額外內存。例如,僅當你發出長查詢或MySQLd必須返回大的結果行時MySQLd纔會分配更多內存。 該變量之所以取較小默認值是一種預防措施,以捕獲客戶端和服務器之間的錯誤信息包,並確保不會因偶然使用大的信息包而導致內存溢出。
sort_buffer_size = 2M
# MySQL執行排序使用的緩衝大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。如果不能,可以嘗試增加sort_buffer_size變量的大小
read_buffer_size = 2M
# 讀查詢操作所能使用的緩衝區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享。對錶進行順序掃描的請求將分配一個讀入緩衝區,MySQL會爲它分配一段內存緩衝區。 如果對錶的順序掃描請求非常頻繁,並且你認爲頻繁掃描進行得太慢,可以通過增加該變量值以及內存緩衝區大小提高其性能.
join_buffer_size = 2M
# 聯合查詢操作所能使用的緩衝區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享
query_cache_size = 32M
# 指定MySQL查詢結果緩衝區的大小
read_rnd_buffer_size = 2M
# 隨機讀緩衝區大小。當按任意順序讀取行時(例如,按照排序順序),將分配一個隨機讀緩存區。進行排序查詢時,MySQL會首先掃描一遍該緩衝,以避免磁盤搜索,提高查詢速度,如果需要排序大量數據,可適當調高該值。但MySQL會爲每個客戶連接發放該緩衝空間,所以應儘量適當設置該值,以避免內存開銷過大
myisam_sort_buffer_size =64M
# MyISAM表發生變化時重新排序所需的緩衝
thread_concurrency = 8
# 最大併發線程數,取值爲服務器邏輯CPU數量×2
thread_cache = 8
#該值表示可以重新利用保存在緩存中線程的數量,當斷開連接時若緩存中還有空間,那麼客戶端的線程將被放到緩存中,如果線程重新被請求,那麼請求將從緩存中讀取,若果緩存中是空的或者是新的請求,那麼線程將被重新創建。設置規律爲:1G內存設置爲8,2G內存設置爲16,4G以上設置爲64
max_connections = 1000
#MySQL的最大連接數,如果服務器的併發連接請求量比較大,建議調高此值,以增加並行連接數量,當然這建立在機器能支撐的情況下,因爲如果連接數越多,介於MySQL會爲每個連接提供連接緩衝區,就會開銷越多的內存,所以要適當調整該值,不能盲目提高設值。可以過'conn%'通配符查看當前狀態的連接數量,以定奪該值的大小。
max_connect_errors = 6000
# 對於同一主機,如果有超出該參數值個數的中斷錯誤連接,則該主機將被禁止連接。如需對該主機進行解禁,執行:FLUSH HOST。
open_files_limit = 65535
# MySQL打開的文件描述符限制,默認最小1024
skip-locking
# 避免MySQL的外部鎖定,減少出錯機率增強穩定性。
wait_timeout = 8
# 表示空閒的連接超時時間,默認是28800s,這個參數是和interactive_timeout一起使用的,也就是說要想讓wait_timeout 生效,必須同時設置interactive_timeout
interactive_timeout = 8
long_query_time = 1
#慢查詢日誌的超時時間
log_slow_queries = /path/to/slow_queries
# 慢查詢日誌路徑,必須配合上面的參數一同使用