標籤:
對紅薯開源的oschina mysql設定檔的說明:
[client]password = port = 3306socket = /tmp/mysql.sock#限制mysql server接收的資料包的大小(這裡是用戶端傳入的資料包)max_allowed_packet = 48M # Here follows entries for some specific programs# The MySQL server[mysqld]datadir=/data/mysql#tmpdir=/dev/shm/mysqlevent_scheduler=ON #開啟定時器default-storage-engine=INNODB #預設資料庫引擎#default-character-set=utf8character-set-server = utf8 #預設字元集port = 3306max_allowed_packet = 16M #從一個串連上次SQL執行後算起,當前空閑(sleep)若超過該時間(500秒),#則會被強制斷開(對一些負荷比較重的MySQL還是比較有用,回收sleep連接線程釋放記憶體)。wait_timeout= 500 #和wait_timeout配合使用,伺服器在關閉串連前在一個互動串連上等待行動的秒數interactive_timeout= 500#指的是串連過程中握手的逾時時間(基於TCP協議會有3次握手互動,#成功後用戶端會阻塞等待服務訊息,#服務端這個時候會建立一個線程(或者從線程池中取一個線程)來處理請求,#主要驗證部分包括host和使用者名稱密碼驗證。#host驗證用grant命令授權使用者的時候是有指定host的。#使用者名稱密碼認證則是服務端先產生一個隨機數發送給用戶端,#用戶端用該隨機數和密碼進行多次sha1加密後發送給服務端驗證。#如果通過,整個串連握手過程完成。)connect_timeout = 20 socket = /tmp/mysql.sock#當用戶端請求串連超過max_connections時,#會將超過請求放入堆棧中(back_log)來等待資源釋放,#如果等待的請求超過了堆棧的大小,將不會授與串連資源。back_log = 512 max_connections = 2048 #mysql最大串連數#mysql安全相關的計數器,它負責阻止過多嘗試失敗的用戶端以防止暴力破解密碼的情況。#max_connect_errors的值與效能並無太大關係。max_connect_errors = 128 #mysql使用者能夠開啟多少個檔案描述符,#注意:open_files_limit 大小和 max_connections*5需要比較,#那個最大就用那個值來設定open_files_limit 。#【比較open_files_limit,max_connections*5和10+max_connections+table_cache_size*2中最大值】#(/etc/security/limits.conf 查看系統最大檔案數)open_files_limit = 8192 #指定用於索引的緩衝區大小,#通過檢查狀態值Key_read_requests和Key_reads,可以知道 key_buffer_size 設定是否合理。#比例key_reads / key_read_requests應該儘可能的低,至少是1:100,1:1000更好#(上述狀態值可以使用SHOW STATUS LIKE ‘key_read%’獲得) key_buffer_size=1024M#MySql執行排序使用的緩衝大小(不是越大越好,根據業務應用情況設定) sort_buffer_size = 32M#MySql讀入緩衝區大小。對錶進行順序掃描的請求將分配一個讀入緩衝區read_buffer_size = 32M #在參加JOIN操作的資料列沒有索引時為JOIN操作分配的緩衝區長度(預設設定是128K)。 join_buffer_size = 32M #MySql的隨機讀緩衝區大小。當按任意順序讀取行時(例如,按照排序次序),將分配一個隨機讀緩衝區read_rnd_buffer_size = 8M #為一次插入多條新記錄的INSERT命令分配的緩衝區長度(預設設定是8M)。 bulk_insert_buffer_size = 32M # MySQL重建索引時所允許的最大臨時檔案的大小 (當 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE). # 如果檔案大小比此值更大,索引會通過索引值緩衝建立(更慢) myisam_max_sort_file_size = 100G# 此緩衝當MySQL需要在 REPAIR, OPTIMIZE, ALTER # 以及 LOAD DATA INFILE 到一個空表中引起重建索引時被分配. # 這在每個線程中被分配.所以在設定大值時需要小心.myisam_sort_buffer_size=64M#可以重新利用儲存在緩衝中線程的數量(重要的最佳化指標?)#當中斷連線時如果緩衝中還有空間,#那麼用戶端的線程將被放到緩衝中,#如果線程重新被請求,那麼請求將從緩衝中讀取,#如果緩衝中是空的或者是新的請求,#那麼這個線程將被重新建立,如果有很多新的線程,#增加這個值可以改善系統效能.thread_cache_size = 64#thread_concurrency = 16# 線程使用的堆大小. 此容量的記憶體在每次串連時被預留. # MySQL 本身常不會需要超過64K的記憶體 thread_stack = 512k# 此設定用來保護查詢緩衝,防止一個極大的結果集將其他所有的查詢結果都覆蓋. query_cache_limit = 4M#查詢緩衝常被用來緩衝 SELECT 的結果並且在下一次同樣查詢的時候不再執行直接返回結果. query_cache_size = 128Mquery_cache_min_res_unit= 2k#指定表快取的大小。#每當MySQL訪問一個表時,如果在表緩衝區中還有空間,#該表就被開啟並放入其中,這樣可以更快地訪問表內容。table_cache = 2048#臨時HEAP資料表的最大長度tmp_table_size = 256Mmax_heap_table_size = 256Mmax_tmp_tables = 512 bulk_insert_buffer_size = 16M#禁用DNS解析(須使用ip串連,設定該參數之前先grant root%127.0.0.1的本地ip的許可權)skip-name-resolve#慢查詢日誌slow_query_log#記錄慢查詢超過時間100ms的SQL(為什麼要求這高?)long_query_time = 0.1innodb_data_home_dir = /data/mysqlinnodb_data_file_path = ibdata1:10M:autoextendinnodb_log_group_home_dir = /data/mysql#設定獨立資料表空間innodb_file_per_table = 1innodb_open_files = 2048#memlock#開啟多個記憶體緩衝池,把需要緩衝的資料hash到不同的緩衝池中,這樣可以並行的記憶體讀寫。#在非常高的 I/O 負載情況下開啟,當然innodb_buffer_pool_size相對應。innodb_buffer_pool_instances=4#表示緩衝池位元組大小,InnoDB緩衝表和索引資料的記憶體地區。預設的值是128M#合理設定,不是越大越好(具體測試對cpu影響)innodb_buffer_pool_size = 8G#除了緩衝表資料和索引外,可以為操作所需的其他內部項分配緩衝innodb_additional_mem_pool_size=64M#資料記錄檔的大小,以M為單位,更大的設定可以提高效能,#但也會增加恢複故障資料庫所需的時間 innodb_log_file_size = 64Minnodb_lock_wait_timeout = 50#如果將此參數設定為1,將在每次提交事務後將日誌寫入磁碟。#為提供效能,可以設定為0或2,但要承擔在發生故障時遺失資料的風險。#設定為0表示交易記錄寫入記錄檔,而記錄檔每秒重新整理到磁碟一次。#設定為2表示交易記錄將在提交時寫入日誌,但記錄檔每次重新整理到磁碟一次。 innodb_flush_log_at_trx_commit = 0### small swap / IO#參數控制著innodb資料檔案及redo log的開啟、刷寫入模式innodb_flush_method = O_DIRECTinnodb_write_io_threads = 8innodb_read_io_threads = 8innodb_thread_concurrency = 16innodb_log_files_in_group = 3#髒頁資料超過多少%時寫入磁碟innodb_max_dirty_pages_pct = 90[mysqldump]quickmax_allowed_packet = 48M[mysql]no-auto-rehash# Remove the next comment character if you are not familiar with SQL#safe-updatesdefault-character-set=utf8[isamchk]key_buffer = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2M[myisamchk]key_buffer = 128Msort_buffer_size = 128Mread_buffer = 2Mwrite_buffer = 2M
mysql 配置說明