檢視 max_allowed_packet
show variables like以下內容為**:'%max_allowed_packet%
';
mysql根據配置檔案會限制server接受的資料報大小。
有時候大的插入和更新會被max_allowed_packet 引數限制掉,導致失敗。
檢視目前配置
+--------------------+---------+以上說明目前的配置是:1m| variable_name | value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
可以編輯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=2. 這個數值指的是mysql在關閉乙個非互動的連線之前要等待的秒數,預設是28800s1000;
show global variables like3. 修改這個數值,這裡可以隨意,最好控制在幾分鐘內'wait_timeout
';
4. 修改這個數值,表示mysql在關閉乙個連線之前要等待的秒數,至此可以讓mysql自動關閉那些沒用的連線,但要注意的是,正在使用的連線到了時間也會被關閉,因此這個時間值要合適
set global interactive_timeout=5. 批量kill之前沒用的sleep連線,在網上搜尋的方法對我都不奏效,因此只好使用最笨的辦法,乙個乙個kill500;
select concat('先把要kill的連線id都查詢出來,複製中間的kill
',id,'
;') from information_schema.processlist where
user='
root
';
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索引的常...