MySQL常用的属性及状态

MySQL服务器属性状态

SHOW STATUS 与 SHOW VATIVABLES 区别

1、show status

查看系统运行的实时状态,便于查看MySQL当前运行的状态,做出相应优化。

2、show variables

查看系统参数,系统默认设置的参数,属于静态属性。可以通过在my.cnf配置文件中修改

常见查看的参数以及状态有:

  1. 查看数据库的最大连接数

    show variables like 'max_connections';
    
  2. 查看数据库连接空闲超时最大时间

    show variables like '%timeout%';
    

    其中wait_timeout:服务器关闭非交互连接之前等待活动的秒数;

    interactive_timeout:服务器关闭交互式连接前等待活动的秒数;

    数据库默认连接空闲最长时间为28800s,也就是8个小时。这个值其实可以修改小一些。并且我们在配置连接池的max-lifetime属性时,一定要比数据库的wait_timeout小才可以。

  3. 查看数据库当前连接数

    show status like 'Threads_%';
    

在这里插入图片描述

Thread_cached:数据库连接缓存池,和java连接池类似;当有一个新的请求的时候,mysql不会立即去创建连接 线程,而是先去Thread_Cache中去查找空闲的连接线程,如果存在则直接使用。关于此配置相关的参数:thread_cache_size 如果短连接较多时,可以将该值适当的加大;

Threads_connected:当前正在连接的连接数

Thread_created:已经创建了的连接的数量

Thread_running:正在活跃的连接个数(也就是此时并发的连接数)

注:thread_cache命中率,公式为: Thread_Cache_Hit=(Connections-Thread_created)/Connections*100% 如果命中率很低的话可以适当的加大thread_cache_size 值;

  1. 查看数据库最大并发数

    show status like '%connections%';
    

    在这里插入图片描述
    Connections:累计试图连接数据库的次数

    Max_used_connections:数据库最高并发连接数(服务器响应的最大连接数)
    注:对于mysql服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上

其实这里还有一点让我怀疑:为什么我的数据库最高并发数和数据库已创建的连接数一样的?(感觉应该是我连接池最大连接数设置小了,不知道这个猜测是否有道理)

  1. 检查连接是否正常关闭

    show status like 'Aborted_%';
    

在这里插入图片描述

Aborted_clients :由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects :尝试已经失败的MySQL服务器的连接的次数。

其实这两个值我感觉应该是我之前对java连接池没有正确配置相应参数的问题;这个两个异常的数据应该是对应我们数据库连接池中的maxLifetimeidleTimeout以及connection-test-query,配置上这几个参数应该问题就不大了,具体意思大家可以看一下前面介绍连接池的文章。

关于经常查看的参数状态差不多就是这些,后续遇到有用到的再补充。其实也是自己了解的还太少…

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值