如何查看MySQL 服务状态

  • 查看系统状态:SHOW STATUS;
  • 查看刚刚执行 SQL 是否有警告信息:SHOW WARNINGS;
  • 查看刚刚执行 SQL 是否有错误信息:SHOW ERRORS;
  • 查看已经连接的所有线程状况:SHOW PROCESSLIST;
  • 查看当前连接数量:SHOW STATUS LIKE 'max_used_connections';
  • 查看变量,在 my.cnf 中配置的变量会在这里显示:SHOW VARIABLES;
  • 查看当前MySQL 中已经记录了多少条慢查询,前提是配置文件中开启慢查询记录了.
  • SHOW STATUS LIKE '%slow_queries%';
  • 查询当前MySQL中查询、更新、删除执行多少条了,可以通过这个来判断系统是侧重于读还是侧重于写,如果是写要考虑使用读写分离 。
  • SHOW STATUS LIKE '%Com_select%';
  • SHOW STATUS LIKE '%Com_update%';
  • SHOW STATUS LIKE '%Com_delete%';
  • 显示MySQL服务启动运行了多少时间,如果MySQL服务重启,该时间重新计算,单位秒
  • SHOW STATUS LIKE 'uptime';
  • 显示查询缓存的状态情况
  • SHOW STATUS LIKE 'qcache%';
  1. Qcache_free_blocks,缓存中相邻内存块的个数 。数目大说明可能有碎片 。如果数目比较大,可以执行: flush query cache; 对缓存中的碎片进行整理,从而得到一个空闲块 。
  2. Qcache_free_memory,缓存中的空闲内存大小 。如果 Qcache_free_blocks 比较大,说明碎片严重 。如果 Qcache_free_memory 很小,说明缓存不够用了 。
  3. Qcache_hits,每次查询在缓存中命中时就增大该值 。
  4. Qcache_inserts,每次查询,如果没有从缓存中找到数据,这里会增大该值
  5. Qcache_lowmem_prunes,因内存不足删除缓存次数,缓存出现内存不足并且必须要进行清理, 以便为更多查询提供空间的次数 。返个数字最好长时间来看;如果返个数字在不断增长,就表示可能碎片非常严重,或者缓存内存很少 。
  6. Qcache_not_cached # 没有进行缓存的查询的数量,通常是这些查询未被缓存或其类型不允许被缓存
  7. Qcache_queries_in_cache # 在当前缓存的查询(和响应)的数量 。
  8. Qcache_total_blocks #缓存中块的数量 。

【如何查看MySQL 服务状态】


    推荐阅读