#connets.sh

#!/bin/sh

#ocpyang@126.com

#根据输入参数u或d来显示出对应的用户名或数据库名中用户的连接数.

#也可以输入u 具体用户名或d 具体数据库名做进一步的分组筛选

#set mysql evn

MYSQL_USER=system  #mysql的用户名

MYSQL_PASS='password'  #mysql的登录用户密码

MYSQL_HOST=192.168.2.188

if [ "$#" -lt 1 ];then

echo "**********************************"

echo "you must input paraters"

echo "**********************************"

echo "USAGE01: $0 d |$0 d database_name"

echo "eg01: $0 d|$0 d mysql"

echo "USAGE02: $0 u  |$0 u username"

echo "eg02: $0 u  |$0 u wind"

exit 1;

fi

#Case conversion

ipt=`echo $1 |tr '[a-z]' '[A-Z]'`

#source /usr/local/mysql/scripts/mysql_env.ini

logfiledate_init="tmpinit.`date +%Y%m%d%H%M%S`.txt"

logfiledate_midd="tmpmidd.`date +%Y%m%d%H%M%S`.txt"

judegedate_01="judegedate01.`date +%Y%m%d%H%M%S`.txt"

judegedate_02="judegedate02.`date +%Y%m%d%H%M%S`.txt"

mysql -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASS} -e"show processlist;" >${logfiledate_init}

if [ "$#" -eq 1 ]; then

if [ "$ipt" = 'D' ];then

awk '{tt[$4]++} BEGIN { printf  "%-20s %-20s\n" ,"dbname","connect";} END{for (i in tt) printf "%-20s %-20s\n" ,i,tt[i]}' ${logfiledate_init}  | grep -v "NULL"

elif  [ "$ipt" = 'U' ];then

awk '{tt[$2]++} BEGIN { printf  "%-20s %-20s\n" ,"username","connect";} END{for (i in tt) printf "%-20s %-20s\n" ,i,tt[i]}' ${logfiledate_init}  | grep -v "NULL"

else

echo "**************************************************************"

echo "输入错误!"

echo "**************************************************************"

fi

elif [ "$#" -eq 2 ]; then

grep -i $2  ${logfiledate_init} > ${logfiledate_midd}

if [ "$ipt" = 'D'  ];then

SCHEMA_JUDEGE01="select schema_name from information_schema.schemata where schema_name='$2';"

mysql -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASS} -e"${SCHEMA_JUDEGE01}" >${judegedate_01}

if [ ! -s "${judegedate_01}" ];then

echo "**************************************************************"

echo "you input schema_name $2 not exits,pleae check your schema_name"

echo "**************************************************************"

rm -rf ${SCHEMA_JUDEGE01}

exit 0

else

awk '{tt[$4]++} BEGIN { printf  "%-20s %-20s\n" ,"dbname","connect";} END{for (i in tt) printf "%-20s %-20s\n" ,i,tt[i]}' ${logfiledate_midd}  | grep -v "NULL"

fi

elif  [ "$ipt" = 'U' ];then

SCHEMA_JUDEGE02="select user from mysql.user where user='$2';"

mysql -h${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASS} -e"${SCHEMA_JUDEGE02}" >${judegedate_02}

if [ ! -s "${judegedate_02}" ];then

echo "**************************************************************"

echo "you input username $2 not exits,pleae check your user_name"

echo "**************************************************************"

rm -rf ${SCHEMA_JUDEGE02}

exit 0

else

awk '{tt[$2]++} BEGIN { printf  "%-20s %-20s\n" ,"username","connect";} END{for (i in tt) printf "%-20s %-20s\n" ,i,tt[i]}' ${logfiledate_midd}  | grep -v "NULL"

fi

else

echo "**************************************************************"

echo "输入错误!"

echo "**************************************************************"

fi

fi

#清除临时文件

rm -rf ${logfiledate_init}

rm -rf ${logfiledate_midd}

rm -rf ${judegedate_01}

rm -rf ${judegedate_02}

转载于:https://blog.51cto.com/ocpyang/1427991

实战:判断mysql中当前用户的连接数-分组筛选相关推荐

  1. mysql 当前用户连接数_实战:判断mysql中当前用户的连接数-分组淘选

    实战:判断mysql中当前用户的连接数-分组筛选 #connets.sh #!/bin/sh #ocpyang@126.com #根据输入参数u或d来显示出对应的用户名或数据库名中用户的连接数. #也 ...

  2. MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  3. mysql user.isd_如何实现MySQL中的用户管理

    如何实现MySQL中的用户管理 MySQL有一套先进的但非标准的安全/授权系统,掌握其授权机制是开始操作MySQL数据库必须要走的第一步,对于一个熟悉SQL基本操作的人来说,也是MySQL所有的知识中 ...

  4. MySQL中的用户管理

    MySQL中的用户管理 MySQL是一个多用户的数据库系统,按权限,用户可以分为两种:root用户,超级管理员.有root用户创建的普通用户: 一.MySQL创建用户 Create user 用户名 ...

  5. Ifvisible.js – 判断网页中的用户是闲置还是活动状态

    ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...

  6. MySql中添加用户/删除用户

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  7. mysql中给用户添加密码_MySql中添加用户,新建数据库,用户授权,删除用户,修改密码...

    MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 ...

  8. mysql 限制单个用户资源_限制MySQL数据库单个用户最大连接数等的方法

    限制MySQL数据库单个用户最大连接数等的方法 最近经常有网友问我,他们的服务器上总有一些网站用户的连接数过大,而影响了其他的网站的正常使用,那么如何把某一条臭鱼限制在自己的一亩三分地呢?下面我来说一 ...

  9. mysql中用户权限的授予_如何在MySQL中创建用户和授予权限

    如何创建MySQL用户并授予权限?为了实现良好的安全性,需要为每个应用程序创建单独的用户帐户,而不是root用户访问数据库.这将确保应用程序无法访问其他应用程序的数据库.因此需要mysql管理员(ro ...

最新文章

  1. 帮朋友招聘赴北京微软ASP.NET开发工程师
  2. java项目嗖嗖移动业务大厅项目报告_晋江市撰写节能评估报告的报告机构立项范本-文瑞...
  3. 搭建 Django 开发环境
  4. python中bool函数的用法_python3实战python函数每日一讲 - bool([x])
  5. Linux学习-0927
  6. java数组元素的排序_java学习之数组元素排序,冒泡排序和选择排序
  7. python 克里金空间插值_Python-pykrige包-克里金(Kriging)插值计算及可视化绘制
  8. 主线程 唤醒_JAVA多线程--线程阻塞与唤醒
  9. 什么是数据库防火墙 数据库防火墙作用是什么
  10. vlan的理解以及华为access、trunk、hybrid三种链路对比
  11. android 经纬度的格式,的Android如何转换经纬度成度格式
  12. 第一篇文献:谈大数据时代的云控制摄影测量 ——张祖勋院士
  13. 托福高频真词List17 // 附托福TPO阅读真题
  14. 多元线性回归方程原理及其推导
  15. visio和office2016安装记录
  16. 手握13本书、老司机超出120年经验的公众号
  17. 点关于直线的距离、垂足、对称点公式
  18. selenium窗口切换
  19. 关于论文查重相关问题
  20. u盘锁计算机,简单几步将U盘打造成电脑登录“密码锁”,不插入就别打开!

热门文章

  1. Oracle的取整和四舍五入函数——floor,round,ceil,trunc使用说明
  2. 吴甘沙创业照见自动驾驶十年变迁,产业爆发在下一个春天里 | 自动驾驶这十年...
  3. MySQL-----pymysql模块
  4. 打破定式,突破屏障,走出自己的创意舒适区(转)
  5. JAVA将Excel中的报表导出为图片格式(三)换一种实现
  6. 关于单页面应用一些随想
  7. PhoneGap开发环境搭建
  8. 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...
  9. CISCO安全 ×××技术
  10. C++ 作用域与生命周期