mysql--查看mysql状态的常用命令

      mysql优化的第一步就是要知道查询mysql服务的状态,之后再定位慢查询。

      执行show status命令后将会列出300个关于mysql状态的参数,我们常用的也就那么几个。

      

       

      列举了一些常用命令代表的含义:

       Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量.
  Aborted_connects 尝试已经失败的MySQL服务器的连接的次数.
  Connections 试图连接MySQL服务器的次数.
  Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量.
  Delayed_insert_threads 正在使用的延迟插入处理器线程的数量.
  Delayed_writes 用INSERT DELAYED写入的行数.
  Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数.
  Flush_commands 执行FLUSH命令的次数.
  Handler_delete 请求从一张表中删除行的次数.
  Handler_read_first 请求读入表中第一行的次数.
  Handler_read_key 请求数字基于键读行.
  Handler_read_next 请求读入基于一个键的一行的次数.
  Handler_read_rnd 请求读入基于一个固定位置的一行的次数.
  Handler_update 请求更新表中一行的次数.
  Handler_write 请求向表中插入一行的次数.
  Key_blocks_used 用于关键字缓存的块的数量.
  Key_read_requests 请求从缓存读入一个键值的次数.
  Key_reads 从磁盘物理读入一个键值的次数.
  Key_write_requests 请求将一个关键字块写入缓存次数.
  Key_writes 将一个键值块物理写入磁盘的次数.
  Max_used_connections 同时使用的连接的最大数目.
  Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块.
  Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量.
  Open_tables 打开表的数量.
  Open_files 打开文件的数量.
  Open_streams 打开流的数量(主要用于日志记载)
  Opened_tables 已经打开的表的数量.
  Questions 发往服务器的查询的数量.
  Slow_queries 要花超过long_query_time时间的查询数量.
  Threads_connected 当前打开的连接的数量.
  Threads_running 不在睡眠的线程数量.
  Uptime 服务器工作了多少秒.


     下面列出几个常用的命令

      1. QPS(每秒Query量) 
          QPS = Questions(or Queries) / seconds 
          mysql > show global status like 'Question%'; 


       2. TPS(每秒事务量) 
           TPS = (Com_commit + Com_rollback) / seconds 
           mysql > show global status like 'Com_commit'; 
           mysql > show global status like 'Com_rollback'; 


       3. key Buffer 命中率 
          mysql>show global status like 'key%'; 
          key_buffer_read_hits = (1-key_reads / key_read_requests) * 100% 
          key_buffer_write_hits = (1-key_writes / key_write_requests) * 100% 


       4. InnoDB Buffer命中率 
         mysql> show status like 'innodb_buffer_pool_read%'; 
         innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads / innodb_buffer_pool_read_requests) * 100% 


       5. Query Cache命中率 
         mysql> show status like 'Qcache%'; 
         Query_cache_hits = (Qcahce_hits / (Qcache_hits + Qcache_inserts )) * 100%; 


       6. Table Cache状态量 
         mysql> show global status like 'open%'; 
         比较 open_tables 与 opend_tables 值 


       7. Thread Cache 命中率 
         mysql> show global status like 'Thread%'; 
         mysql> show global status like 'Connections'; 
         Thread_cache_hits = (1 - Threads_created / connections ) * 100% 


      8. 锁定状态 
         mysql> show global status like '%lock%'; 
         Table_locks_waited/Table_locks_immediate=0.3% 如果这个比值比较大的话,说明表锁造成的阻塞比较严重 
         Innodb_row_lock_waits innodb行锁,太大可能是间隙锁造成的 


      9. 复制延时量 
        mysql > show slave status 
        查看延时时间 


      10. Tmp Table 状况(临时表状况) 
            mysql > show status like 'Create_tmp%'; 
            Created_tmp_disk_tables/Created_tmp_tables比值最好不要超过10%,如果Created_tmp_tables值比较大, 
            可能是排序句子过多或者是连接句子不够优化 


      11. Binlog Cache 使用状况 
            mysql > show status like 'Binlog_cache%'; 
            如果Binlog_cache_disk_use值不为0 ,可能需要调大 binlog_cache_size大小 


       12. Innodb_log_waits 量 
            mysql > show status like 'innodb_log_waits'; 
            Innodb_log_waits值不等于0的话,表明 innodb log buffer 因为空间不足而等待 


       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值