MySQL效能優化之引數配置

2021-09-29 11:05:02 字數 1628 閱讀 6070

(1)windows下mysql的配置檔案是my.ini,一般會在安裝目錄的根目錄。

(2)linux下mysql的配置檔案是my.cnf,一般會放在/etc/my.cnf,/etc/mysql/my.cnf。如果找不到,可以用find命令查詢。

【注意】linux用rpm包安裝的mysql是不會安裝/etc/my.cnf檔案的

至於為什麼沒有這個檔案而mysql卻也能正常啟動和作用,有兩個說法:

第一種說法,my.cnf只是mysql啟動時的乙個引數檔案,可以沒有它,這時mysql會用內建的預設引數啟動;

第二種說法,mysql在啟動時自動使用/usr/share/mysql目錄下的my-medium.cnf檔案,這種說法僅限於rpm包安裝的mysql。

解決方法:只需要複製乙個/usr/share/mysql目錄下的.cnf檔案到/etc目錄,並改名為my.cnf即可

修改back_log引數值:由預設的50修改為500 back_log=500

back_log值指出在mysql暫時停⽌止回答新請求之前的短時間內多少個請求可以被存在堆疊

中。也就是說,如果mysql的連線資料達到max_connections時,新來的請求將會被存在堆疊

中,以等待某⼀一連線釋放資源,該堆疊的數量量即back_log,如果等待連線的數量量超過

back_log,將不不被授予連線資源。

檢視mysql 當前系統預設back_log值,命令:

show variables like 'back_log』; 檢視當前數量量

修改wait_timeout引數值,由預設的8⼩小時,修改為30分鐘。

wait_timeout=1800(單位為妙)

show variables like 'wait_timeout』; 檢視值

修改max_connections引數值,由預設的151,修改為3000

max_connections=3000

修改max_user_connections值,由預設的0,修改為800

max_user_connections=800

針對某⼀乙個賬號的所有客戶端並⾏行行連線到mysql服務的最⼤大並⾏行行連線數。簡單說是指同⼀乙個

賬號能夠同時連線到mysql服務的最⼤大連線數。設定為0表示不不限制。

檢視max_user_connections值

show variables like 『max_user_connections』;

由⽬目前預設的8,修改為64 thread_concurrency=64

thread_concurrency應設為cpu核數的2倍. ⽐如有⼀乙個雙核的cpu, 那thread_concurrency

的應該為4; 2個雙核的cpu, thread_concurrency的值應為8.

show variables like 『thread_concurrency』;

default-storage-engine(設定mysql的預設儲存引擎)

default-storage-engine= innodb

create table mytable (id int, title char(20)) engine = innodb;

show variables like 『%max_connections%』;

MySQL效能優化 I O相關配置引數

本文介紹innodb和myisam兩種儲存引擎的i o相關引數配置。1.innodb i o相關配置 innodb是一種事務型的儲存引擎,為了減少提交事務時產生的io開銷,innodb採用了寫日誌的方式,也就是在事務提交的時候會先寫入事務日誌中 而不是每次都把修改或者資料重新整理到資料檔案中,這樣做...

mysql配置優化 MySQL配置效能優化

下面配置的優化,可能影響比較大,可能可以顯著提高讀寫效能。1 mysql一些主要配置項介紹 innodb buffer pool size 這是你安裝完innodb後第乙個應該設定的選項。緩衝池是資料和索引快取的地方 這個值越大越好,這能保證你在大多數的讀取操作時使用的是記憶體而不是硬碟。如果是純資...

mysql配置引數優化 mysql配置引數優化

最大連線數 優化 max connections 1000 table open cache 256 query cache type 1 查詢快取大小 query cache size 1m tmp table size 32m 執行緒快取數 thread cache size 8 關閉dns做反...