MySQL连接数异常处理方法
保存3个mysql进程信息,留存分析使用
mysql -uroot -p密码 -e"SELECT * FROM information_schema.processlist > /data/processlist1.txt
mysql -uroot -p密码 -e"SELECT * FROM information_schema.processlist > /data/processlist2.txt
mysql -uroot -p密码 -e"SELECT * FROM information_schema.processlist > /data/processlist3.txt
杀进程步骤
1.查询生成 查询时间大于30s的kill语句
mysql -uroot -p密码 -e"SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE COMMAND<>'Sleep' AND TIME >30 AND info IS NOT NULL AND user NOT IN ('root','event_scheduler','system user','master','repl','repl1')" > /data/k.txt
2.删除文本第一行 CONCAT('KILL ',id,';') 内容
sed -i '1d' /data/k.txt
3.执行sql脚本
mysql -uroot -p密码</data/k.txt
4
根据生成的processlist文件查找连接数暴增的user
设置限制最大连接数100
GRANT USAGE ON *.* TO user-name@IP MAX_USER_CONNECTIONS 100;
FLUSH PRIVILEGES;
紧急封禁用户:
RENAME USER 旧用户名@% TO 新用户名@%;
FLUSH PRIVILEGES;