视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
查看MySQL连接数的实际操作流程
2020-11-09 14:20:55 责编:小OO
文档


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

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

  1. MySQLadmin -uiseeuon -pmtcera2009 processlist -v

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

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

  1. MySQLadmin -uroot -proot processlist
  2. D:\MySQL\bin>MySQLadmin -uroot -proot processlist
  3. +-----+------+----------------+---------+---------+------+-------+------------------+
  4. | Id | User | Host | db | Command | Time | State | Info |
  5. +-----+------+----------------+---------+---------+------+-------+------------------+
  6. | 591 | root | localhost:3544 | bbs | Sleep | 25 | | |
  7. | 701 | root | localhost:3761 | | uery | 0 | | show processlist |
  8. +-----+------+----------------+---------+---------+------+-------+------------------+

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

  1. MySQLadmin -uroot -proot status
  2. D:\MySQL\bin>MySQLadmin -uroot -proot status
  3. Uptime: 2102 Threads: 3 Questions: 15531 Slow queries: 0 Opens: 0 Flush tab
  4. les: 1 Open tables: 61 Queries per second avg: 7.3

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连接数的健康状态了。下面是我写的

一个简单的脚本:

  1. # test.sh
  2. #!/bin/bash

#指定要调用的shell解释器

  1. /usr/bin/MySQLadmin -uroot ping &>/dev/null

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

息不要在屏幕上输出来

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

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

then

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

  1. else
  2. mail -s "MySQL server cracked down" jackywdx@163.com
  3. fi

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

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

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

  1. */5 * * * * /root/test.sh &>/dev/null

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

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

下载本文
显示全文
专题