Home  >  Article  >  Database  >  查看MySQL连接数的实际操作流程

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

WBOY
WBOYOriginal
2016-06-07 16:09:431071browse

以下的文章主要介绍的是正确查看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的来提取出错的信息,以后有机会再试试写。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn