程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> my.ini優化mysql數據庫機能的十個參數(推舉)

my.ini優化mysql數據庫機能的十個參數(推舉)

編輯:MySQL綜合教程

my.ini優化mysql數據庫機能的十個參數(推舉)。本站提示廣大學習愛好者:(my.ini優化mysql數據庫機能的十個參數(推舉))文章只能為提供參考,不一定能成為您想要的結果。以下是my.ini優化mysql數據庫機能的十個參數(推舉)正文


明天恰好須要設置裝備擺設mysql 5.5.45,由於數據庫量挺年夜的,所以必需優化,要不mysql真的不快。

(1)、max_connections:
許可的同時客戶的數目。增長該值增長 mysqld 請求的文件描寫符的數目。這個數字應當增長,不然,你將常常看到 too many connections 毛病。 默許數值是100,我把它改成1024 。

(2)、record_buffer:
每一個停止一個次序掃描的線程為其掃描的每張表分派這個年夜小的一個緩沖區。假如你做許多次序掃描,你能夠想要增長該值。默許數值是131072(128k),我把它改成16773120 (16m)

(3)、key_buffer_size:
索引塊是緩沖的而且被一切的線程同享。key_buffer_size是用於索引塊的緩沖區年夜小,增長它可獲得更利益理的索引(對一切讀和多重寫),到你能累贅得起那樣多。假如你使它太年夜,體系將開端換頁而且真的變慢了。默許數值是8388600(8m),我的mysql主機有2gb內存,所以我把它改成 402649088(400mb)。

4)、back_log:
請求 mysql 能有的銜接數目。當重要mysql線程在一個很短時光內獲得異常多的銜接要求,這就起感化,然後主線程花些時光(雖然很短)檢討銜接而且啟動一個新線程。
back_log 值指出在mysql臨時停滯答復新要求之前的短時光內若干個要求可以被存在客棧中。只要假如希冀在一個短時光內有許多銜接,你須要增長它,換句話說,這值對到來的tcp/ip銜接的偵聽隊列的年夜小。你的操作體系在這個隊列年夜小上有它本身的限制。試圖設定back_log高於你的操作體系的限制將是有效的。
當你不雅察你的主機過程列表,發明年夜量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | null | connect | null | login | null 的待銜接過程時,就要加年夜 back_log 的值了。默許數值是50,我把它改成500。

(5)、interactive_timeout:
辦事器在封閉它前在一個交互銜接上期待行為的秒數。一個交互的客戶被界說為對 mysql_real_connect()應用 client_interactive 選項的客戶。 默許數值是28800,我把它改成7200。


(6)、sort_buffer:
每一個須要停止排序的線程分派該年夜小的一個緩沖區。增長這值加快order by或group by操作。默許數值是2097144(2m),我把它改成 16777208 (16m)。

(7)、table_cache:
為一切線程翻開表的數目。增長該值能增長mysqld請求的文件描寫符的數目。mysql對每一個獨一翻開的表須要2個文件描寫符。默許數值是64,我把它改成512。

(8)、thread_cache_size:
可以復用的保留在中的線程的數目。假如有,新的線程從緩存中獲得,當斷開銜接的時刻假如有空間,客戶的線置在緩存中。假如有許多新的線程,為了進步機能可以這個變量值。經由過程比擬 connections 和 threads_created 狀況的變量,可以看到這個變量的感化。我把它設置為 80。

(9)mysql的搜刮功效
用mysql停止搜刮,目標是能不分年夜小寫,又能用中文停止搜刮
只需起動mysqld時指定 --default-character-set=gb2312

(10)、wait_timeout:
辦事器在封閉它之前在一個銜接上期待行為的秒數。 默許數值是28800,我把它改成7200。


2G內存,針對站多,抗壓型的設置,最好:

table_cache=1024 物理內存越年夜,設置就越年夜.默許為2402,調到512-1024最好
innodb_additional_mem_pool_size=4M 默許為2M
innodb_flush_log_at_trx_commit=1
(設置為0就是比及innodb_log_buffer_size排隊滿後再同一貯存,默許為1)
innodb_log_buffer_size=2M 默許為1M
innodb_thread_concurrency=8 你的辦事器CPU有幾個就設置為幾,建議用默許普通為8
key_buffer_size=256M 默許為218 調到128最好
tmp_table_size=64M 默許為16M 調到64-256最掛
read_buffer_size=4M 默許為64K
read_rnd_buffer_size=16M 默許為256K
sort_buffer_size=32M 默許為256K
max_connections=1024 默許為1210
thread_cache_size=120 默許為60
query_cache_size=64M


普通:
table_cache=512
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=4M
innodb_thread_concurrency=8
key_buffer_size=128M
tmp_table_size=128M
read_buffer_size=4M
read_rnd_buffer_size=16M
sort_buffer_size=32M
max_connections=1024

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved