mysql kill程式指令碼
Mysql遇到Too many connections的解決辦法
由於線上mysql例項太多,因此也就經常遇到Too many connections的問題,這個問題也是最常見的問題,下面就結合自己的經驗來說一下這種問題的解決辦法。
在出現這種問題的時候業務已經出現問題了,這種情況下最主要的是先恢復業務,而且自己要最先獲取show innodb status和show full processlist的資訊以便一會分析原因。最簡單的辦法就是臨時將連線數稍微調大,讓自己能登陸上去,一般這種情況下登陸的時候也會出現Too many connections的提示,那麼該如何做呢?這時候可以在主上面寫一個死迴圈不停的連線主mysql以保證自己能正常登入,簡單語句如下:
while true;do mysql -uroot -ppassword -S /tmp/mysql_3306.sock;done
然後使用gdb工具來更改記憶體中max_connections的配置,使用方法為:先使用ps命令查詢出mysql的程式ID,然後使用如下命令進行更改:
gdb -p 21862 -ex "set max_connections=1000" -batch
注意max_connections不要設定太大,如果設定太大可能會導致系統記憶體耗盡。
登陸之後就可以透過show full processlist看看到底發生了什麼事情,一般的是有SQL堵住的了,kill掉對應的SQL即可。對於短時間上來大量請求的需要和開發一起分析定位問題。#!/bin/sh
name="root"
passd="wycfmysql4nopd"
path='/mysql4/bin/mysql'
ip="127.0.0.1"
port="3309"
for sid in $($path -u$name -p$passd -h$ip -P$port -e "show processlist;"|grep "Sleep"|awk '{print $1}')
do
#echo "$sid"
${path}admin -u$name -p$passd -h$ip -P$port kill ${sid};
done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29620572/viewspace-1735087/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Crontab自動執行指令碼Kill掉MySQL的僵死程式指令碼MySql
- Kill 所有MySQL程式MySql
- 批次kill session實現指令碼Session指令碼
- 批量kill mysql processlist程式MySql
- 定時kill長事務指令碼kill_long_session.sh指令碼Session
- kill掉 mysql 大量鎖表程式MySql
- MySQL指令碼MySql指令碼
- kill 指令的執行原理
- mysql批次kill sessionMySqlSession
- MySQL 常用指令碼MySql指令碼
- kill-mysql-sleep.shMySql
- mysql巡檢指令碼MySql指令碼
- Mysql replication check指令碼MySql指令碼
- mysql監控指令碼MySql指令碼
- mysql時間指令碼MySql指令碼
- mysql備份指令碼MySql指令碼
- kill_mysql_sleep_threadMySqlthread
- 程式碼生成器Sql Server 和 Mysql 資料庫指令碼ServerMySql資料庫指令碼
- mysql innobackupex備份指令碼MySql指令碼
- 用指令碼完成mysql工作指令碼MySql
- mysql增量恢復指令碼MySql指令碼
- [Mysql]效能測試指令碼MySql指令碼
- MySQL kill會話不起作用?MySql會話
- 【Mysql】pt工具之-pt-killMySql
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- linux Kill多個程式的妙招--案例:Kill(LOCAL=NO)Linux
- 程式命令ps/top/kill
- Windows下kill oracle程式WindowsOracle
- 批量kill python 程式Python
- 兩套mysql備份指令碼MySql指令碼
- linux 常用Mysql指令碼命令LinuxMySql指令碼
- mysql按表備份指令碼MySql指令碼
- MySQL 多例項刪庫指令碼MySql指令碼
- Mysql異地備份指令碼MySql指令碼
- MySQL自動備份指令碼MySql指令碼
- linux 檢視程式 kill程式Linux
- 埠kill指令碼,複製後封裝進 xx.bat 雙擊執行指令碼封裝BAT
- 批次殺程式指令碼指令碼