Posted on 2012-12-25 14:10
盛勝 閱讀(248)
評論(0) 編輯 收藏 引用
1、查看當(dāng)前所有連接的詳細(xì)資料:
mysqladmin -uroot -proot processlist
D:\MySQL\bin>mysqladmin -uroot -proot processlist
+-----+------+----------------+---------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+----------------+---------+---------+------+-------+------------------+
| 591 | root | localhost:3544 | bbs | Sleep | 25 | | |
| 701 | root | localhost:3761 | | uery | 0 | | show processlist |
+-----+------+----------------+---------+---------+------+-------+------------------+
2、只查看當(dāng)前連接數(shù)(Threads就是連接數(shù).):
mysqladmin -uroot -proot status
D:\MySQL\bin>mysqladmin -uroot -proot status
Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab
les: 1 Open tables: 61 Queries per second avg: 7.389
3、修改mysql最大連接數(shù):
打開my.ini,修改max_connections=100(默認(rèn)為100)。
有一臺mysql服務(wù)器突然連接數(shù)暴增,并且等待進(jìn)程全部被鎖...因?yàn)閱栴}解決不當(dāng),
總結(jié):以后要快速定位錯誤,布置解決方案
登錄到mysql客戶端后,使用status命令也能獲得thread連接數(shù)以及當(dāng)前連接的id
或者用
看一下所有連接進(jìn)程,注意查看進(jìn)程等待時間以及所處狀態(tài) 是否locked
如果進(jìn)程過多,就把進(jìn)程打印下來,然后查看
- mysql -e 'show full processlist;' > 111
查找非locked的進(jìn)程,一般就是當(dāng)前執(zhí)行中卡死,導(dǎo)致后面的進(jìn)程排隊(duì)的原因。
另外,修改mysql最大連接數(shù)的方法:
編輯MySQL(和PHP搭配之最佳組合)配置文件
my.cnf 或者是 my.ini
在[MySQL(和PHP搭配之最佳組合)d]配置段添加:
保存,重啟MySQL(和PHP搭配之最佳組合)服務(wù)。
然后用命令:
MySQL(和PHP搭配之最佳組合)admin -uroot -p variables
輸入root數(shù)據(jù)庫賬號的密碼后可看到
- | max_connections | 1000 |