首页  >  文章  >  数据库  >  查看MySQL连接数的实际操作流程

查看MySQL连接数的实际操作流程

WBOY
WBOY原创
2016-06-07 16:09:431070浏览

以下的文章主要介绍的是正确查看MySQL连接数的实际操作,同时也对查看MySQL连接数的实际应用代码的详细解析,以下就是MySQL连接数的实际操作具体方案的描述,希望在你今后的学习中会有所帮助。 MySQL admin-uiseeuon-pmtcera2009processlist-v 看一下当前占C

以下的文章主要介绍的是正确查看MySQL连接数的实际操作,同时也对查看MySQL连接数的实际应用代码的详细解析,以下就是MySQL连接数的实际操作具体方案的描述,希望在你今后的学习中会有所帮助。

<ol class="dp-xml"><li class="alt">MySQL<span>admin -uiseeuon -pmtcera2009 processlist -v </span>
</li></ol>

看一下当前占CPU高的时候哪些语句在执行然后再对那些语句添加索引,一般都会降下来的

1、查看当前所有连接的详细资料:

<ol class="dp-xml">
<li class="alt">MySQL<span>admin -uroot -proot processlist  </span>
</li>
<li>
<span>D:\</span>MySQL<span>\bin</span><span class="tag">></span>MySQL<span>admin -uroot -proot processlist  </span>
</li>
<li class="alt"><span>+-----+------+----------------+---------+---------+------+-------+------------------+  </span></li>
<li><span>| Id | User | Host | db | Command | Time | State | Info |  </span></li>
<li class="alt"><span>+-----+------+----------------+---------+---------+------+-------+------------------+  </span></li>
<li><span>| 591 | root | localhost:3544 | bbs | Sleep | 25 | | |  </span></li>
<li class="alt"><span>| 701 | root | localhost:3761 | | uery | 0 | | show processlist |  </span></li>
<li><span>+-----+------+----------------+---------+---------+------+-------+------------------+ </span></li>
</ol>

2、只查看当前MySQL连接数(Threads就是连接数.):

<ol class="dp-xml">
<li class="alt">MySQL<span>admin -uroot -proot status  </span>
</li>
<li>
<span>D:\</span>MySQL<span>\bin</span><span class="tag">></span>MySQL<span>admin -uroot -proot status  </span>
</li>
<li class="alt"><span>Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab  </span></li>
<li><span>les: 1 Open tables: 61 Queries per second avg: 7.389 </span></li>
</ol>

3、修改MySQL最大MySQL连接数:

打开my.ini,修改max_connections=100(默认为100)。

命令: show processlist;

如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
 

how processlist;只列出前100条,如果想全列出请使用show full processlist;

4.MySQLadmin extended-status

原来看到有人在博客上写监控服务器的脚本,出现问题就发邮件,手机短信报警的文章,感觉很神奇。过了一段时间学习的知识慢慢多了,现

在回想起来其实也很简单。基本思路就是用shell写命令去检测服务器(这里说的服务器可以有很多种,比如MySQL,apache,nginx等),然后判

断返回的状态,失败的话就发邮件报警。最后把这个脚本加入到cron程序中让它定期运行,这样就可以检测MySQL连接数的健康状态了。下面是我写的

一个简单的脚本:

<ol class="dp-xml">
<li class="alt"><span><span># test.sh  </span></span></li>
<li><span>#!/bin/bash   </span></li>
</ol>

#指定要调用的shell解释器

<ol class="dp-xml"><li class="alt">/usr/bin/MySQL<span>admin -uroot ping &</span><span>>/dev/null </span>
</li></ol>

#这句是用MySQLadmin命令,ping参数是检测MySQL服务器的健康状态,如果MySQL连接数进程挂掉则会报错,&>/dev/null是把错误重定向,让错误信

息不要在屏幕上输出来

if [ -z $? ] #关键在$?这个变量 ,它是代表上一条命令执行后的退出状态,如果是0的话表示成功,其他 # 非0

参数表示失败,另外这是在shell中的if语法,-z参数判断条件是否为0,

then

# do nothing ,$?为0的话表示执行成功,MySQL进程健康

<ol class="dp-xml">
<li class="alt"><span><span>else  </span></span></li>
<li>
<span>mail -s "</span>MySQL<span> server cracked down" jackywdx@163.com  </span>
</li>
<li class="alt"><span>fi  </span></li>
</ol>

这就是一个最简单的检测脚本,别忘了要运行chmod x test.sh让它有执行的属性。判断MySQL连接数进程是否健康其实还用很多方法,比如用ps aux

v的时候要注意本机要启动了一个mail服务器才行,如sendmail或者qmail都可以,如果没有安装可以这里有关sendmail架设的文章,邮件服务器之Sendmail应用专题--IT168服务器频道
下面是把这个脚本放入cron,让它定期去执行,命令如下:

crontab -e 敲回车,进入一个文本编辑页面,放入下面一条

<ol class="dp-xml"><li class="alt"><span><span>*/5 * * * * /root/test.sh &</span><span class="tag">></span><span>/dev/null </span></span></li></ol>

再退出保存即可(不会退出的话按住shift键,再按再次Z即可 ^_^)

上面的命令是让cron每隔5分钟运行一次test.sh脚本。具体的参数自己上网查查啦。这只是一个很简单的监控脚本,更具体一点就是如果发现进程挂掉,则要去日志文件查找错误信息,这些就比较麻烦了一点,要用到sed或者awk的来提取出错的信息,以后有机会再试试写。


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn