mysql的show status和show global status区别在哪

mysql的show status和show global status区别在哪,第1张

一、区别1)show status -->questions是本次连接的请求数,flush status重置。2)show global status -->questions是本次MYSQL服务开启(或重置)到现在总请求数。二、简介一)Mysql show global status 各项指标的含义1)Aborted_clients指出由于某种原因客户程序不能正常关闭连接而导致失败的连接的数量。如果客户不在退出之前调整mysql_close()函数,wait_timeout或interactive_timeout的限制已经被超出,或者是客户端程序在传输的过程中被关闭,则这种情况会发生。2)Aborted_connects指出试图连接到MYSQL的失败的次数。这种情况在客户尝试用错误的密码进行连接时,没有权限进行连接时,为获得连接的数据包所花费的时间超过了connect_timeout限制的秒数,或数据包中没有包含正确的信息时,都会发生。3)Bytes_sent已经发送给所有客户端的字节数。4)Com_[statement] (以下所有以Com_开始的条目)用于每一种语句的这些变量中的一种。变量值表示这条语句被执行的次数。5)com_select,表示select查询语句被执行的次数。可以适当的对一些敏感数据,进行下面某些 *** 作的监控。比如删除语句delete /drop。二) show Status参数详解 1)Aborted_clients 由于客户端没有正确关闭连接导致客户端终止而中断的连接数。 2)Aborted_connects 试图连接到MySQL服务器而失败的连接数 。 3)Binlog_cache_disk_use使用临时二进制日志缓存但超过。4)binlog_cache_size值并使用临时文件来保存事务中的语句 的事务数量 。 5)Binlog_cache_use 使用临时二进制日志缓存的事务数量。6)Bytes_received 从所有客户端接收到的字节数7)Bytes_sent发送给所有客户端的字节数。

Count, sql的执行次数及占总的slow log数量的百分比.

Time, 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比.

95% of Time, 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间.

Lock Time, 等待锁的时间.

95% of Lock , 95%的慢sql等待锁时间.

Rows sent, 结果行统计数量, 包括平均, 最小, 最大数量.

Rows examined, 扫描的行数量.

Database, 属于哪个数据库

Users, 哪个用户,IP, 占到所有用户执行的sql百分比

Query abstract, 抽象后的sql语句

Query sample, sql语句!

    根据笔者上一篇文章—Linux系统上记录用户 *** 作的审计日志 。本文来利用相同的方法记录MYSQL *** 作的审计日志。

    使用用mysql工具连接MySQL server的所有 *** 作会默认记录到~/.mysql_history文件中,这个文件会把所有 *** 作记录下来,包括创建用户和修改用户的明文密码,这在生产系统上是不安全的。如果不想保存,仅仅删除是不行的(文件不存在会再建立),要直接将其软连接到垃圾箱。

     ln  -s  /dev/null  ~/.mysql_history

    利用上一篇文章相同的方法记录MYSQL *** 作的审计日志,是因为mysql工具本身就是有一个shell, 每次mysql连接退出后,都会把此次 *** 作的信息记录到~/.mysql_history文件中。那么可以重新定义MYSQL_HISTFILE环境变量来保存mysql日志。

    先看置于/etc/profile.d目录下的环境变量的脚本mysql_history.sh,和loginlog类似。

      在测试时,发现平时使用的普通用户在 *** 作mysql后无法记录,而root用户(平时没有 *** 作过mysql)可以记录成功。后来在在~/.mysql_history文件找到了 *** 作记录,估计是这个文件还存在的原因,删除后才记录到新的MYSQL_HISTFILE定义的路径。

      和loginlog一样,需要定期删除过期日志,以下脚本置于/etc/cron.weekly 目录下。

        delete_time=15

        find /opt/mysqllog/  -mtime +$delete_time -name '*.log' -exec rm -r {} \

      但是相比于loginlog,mysqllog有两点暂时没有解决。

    1、定义最大的记录条数history.maxSize不知在哪定义,my.cnf?

    2、每一条命令的时间记录添加。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7241868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存