Mysql 效能優化及問題

2022-09-07 22:39:22 字數 1764 閱讀 6706

檢視 max_allowed_packet

show variables like

'%max_allowed_packet%

';

以下內容為**:

mysql根據配置檔案會限制server接受的資料報大小。

有時候大的插入和更新會被max_allowed_packet 引數限制掉,導致失敗。

檢視目前配置

+--------------------+---------+

| variable_name      | value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+

以上說明目前的配置是:1m

可以編輯my.cnf來修改(windows下my.ini),在[mysqld]段或者mysql的server配置段進行修改。

max_allowed_packet = 20m
如果找不到my.cnf可以通過

mysql --help | grep my.cnf
去尋找my.cnf檔案。

問題原因:too many connections,僅僅從字面上理解,太多連線

最大連線數 

show variables like

'%max_connections%

';

當前連線數

show full processlist;
1. 修改最大連線數,但是這不是一勞永逸的方法,應該要讓它自動殺死那些sleep的程序。

set global max_connections=

1000;

2. 這個數值指的是mysql在關閉乙個非互動的連線之前要等待的秒數,預設是28800s

show global variables like

'wait_timeout

';

3. 修改這個數值,這裡可以隨意,最好控制在幾分鐘內

4. 修改這個數值,表示mysql在關閉乙個連線之前要等待的秒數,至此可以讓mysql自動關閉那些沒用的連線,但要注意的是,正在使用的連線到了時間也會被關閉,因此這個時間值要合適

set global interactive_timeout=

500;

5. 批量kill之前沒用的sleep連線,在網上搜尋的方法對我都不奏效,因此只好使用最笨的辦法,乙個乙個kill

select concat('

kill

',id,'

;') from information_schema.processlist where

user='

root

';

先把要kill的連線id都查詢出來,複製中間的kill id;內容到word文件

替換掉符號「|」和回車符(在word中查詢^p即可查詢到回車符)

把修改過的內容複製回終端,最後按回車執行!

Mysql效能檢測及優化

本文參考 一.mysql優化思路 1.週期性的故障 1 訪問高峰或快取崩潰 增加快取,並修改快取失效策略,失效時間分散 2.通過show processlist 或者 開啟慢查詢日誌,獲取有問題的sql profiling 和 explain 分析sql語句 1 sql語句等待時間長 對伺服器引數優...

mysql索引及效能優化

索引就是資料結構,通過這種資料結構可以大大提高mysql的查詢效率當表中的資料量越來越大時,索引對於效能的影響愈發重要。索引優化應該是對查詢效能優化最有效的手段了。索引能夠輕易將查詢效能提高好幾個數量級。有了索引相當於我們給資料庫的資料加了目錄一樣,可以快速的找到資料,如果不適用索引則需要一點一點去...

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...