Mysql常見配置說明

[mysqld]配置
default-storage-engine = MyISAM 默認選擇某種表存儲引擎

ignore
-bulidin-innodb 忽略mysql自帶的innodb引擎,使用這個配置時須要本身引入外部的innodb引擎,不然innodb表沒法使用。
plugin
-load = innodb=ha_innodb_plugin.so 加載外部引擎,如使用了ignore-bulidin-innodb後,須要引入一個外部的innodb引擎。注意外部引擎文件須要放在plugin_dir變量(配置)指定的目錄下。若是有多個外部引擎使用這樣的格式:plugin-load = "myplug1=myplug1.so;myplug2=myplug2.so"
init_connect = 'set names utf8' 客戶端鏈接時,預先執行的命令。
--character-set-client-handshake 不忽略客戶端的編碼設置,對應的配置是--skip-character-set-client-handshake,忽略客戶端的編碼設置,直接採用服務器端character-set-server配置的編碼

datadir 數據存放目錄設置
socket 套接字位置
key_buffer_size 設置myisam引擎的索引文件(索引塊)的內存緩衝大小。因爲myisam的索引塊會被取入到內存裏,而且這些索引塊是全部線程共享的,因此key_buffer_size對於myisam的性能影響很大。如何判斷key_buffer_size設置是否合理呢,查看系統狀態變量 Key_read_requests, Key_reads, Key_write_requests, 和 Key_writes,通常要求,Key_reads
/ Key_read_requests小於0.001,是比較理想的。而Key_writes / Key_write_requests 的比值通常接近1,除非你使用了延遲寫入,或是常進行批量更新。

max_allowed_packet 容許傳送的數據包大小
table_open_cache(舊名爲table_cache) 緩存打開的表句柄的個數,能夠經過觀察狀態變量,Opened_tables判斷是否加大table_open_cache的大小。
sort_buffer_size 設置每一個鏈接的排序緩衝大小,在使用order by和group by時,這個值是否合適很是重要,由於這兩個操做,很難經過sql優化來提升性能,加大排序緩衝區以提升性能就顯得很是重要了。觀察Sort_merge_passes這個狀態變量,能夠幫你判斷是否有必要增大這個值。須要注意的是,sort_buffer_size的值越大,須要用於分配的時間就越長,頗有可能影響大部分query操做的速度,因此建議進行session級別的設置,每一個鏈接本身須要時再設置該值。
read_buffer_size myisam的讀緩衝區大小
read_rnd_buffer_size myisam用於讀取經過order by查詢的數據的緩衝區大小。
myisam_sort_buffer_size myisam批量修改、重建索引時使用的緩衝區。
thread_cache_size mysql緩存線程的數量,緩存線程以便重複利用,從而減小初始化線程的消耗。
query_cache_size 緩存query結果的緩存區大小
max_heap_table_sizetmp_table_size 內存表和臨時表的最大內存空間。
max_connections 最大鏈接數
long_query_time 指定某個時間長度,超過這個時間的query會被認定爲slow query。
slow_query_logslow_query_log_file 是否開啓慢日誌和慢日誌存放地址
interactive_timeoutwait_timeout 交互式鏈接與非交互式鏈接空閉等待時間。
innodb_buffer_pool_size innodb用於緩存數據和索引的內存空間大小 。
innodb_additional_mem_pool_size innodb用於存放數據字典及其餘內部使用的信息的內存空間大小,當應用中數據表超多,這個值應該設置的超大。
相關文章
相關標籤/搜索