1. SHOW PROCESSLIST
    当前MySQL数据库的运行的所有线程
  2. mysql 每天执行 事件 mysql事件执行情况_隔离级别

  3. INNODB_TRX
    当前运行的所有事务
  4. mysql 每天执行 事件 mysql事件执行情况_mysql 每天执行 事件_02

  5. INNODB_LOCKS
    当前出现的锁
    select * from information_schema.innodb_locks\G;
  6. INNODB_LOCK_WAITS
    锁等待的对应关系
    select * from information_schema.innodb_lock_waits;
  7. SHOW OPEN TABLES where In_use >0;
    当前打开表
    查看哪些表在使用中,In_use列表示有多少线程正在使用某张表,Name_locked表示表名是否被锁,这一般发生在Drop或Rename命令操作这张表时。所以这条命令不能帮助解答我们常见的问题:当前某张表是否有死锁,谁拥有表上的这个锁等。
    show open tables where in_use > 0;
  8. SHOW ENGINE INNODB STATUS \G;
    Innodb状态
  9. mysql 每天执行 事件 mysql事件执行情况_系统启动_03

  10. 具体分析如下:
    ①.Header
    这部分简单的打印,输出的时间,以及自从上次输出的间隔时间。
  11. mysql 每天执行 事件 mysql事件执行情况_mysql 每天执行 事件_04

  12. ②.BACKGROUND THREAD
  13. mysql 每天执行 事件 mysql事件执行情况_隔离级别_05

  14. srv_master_thread loops:master线程的循环次数,master线程在每次loop过程中都会sleep,sleep的时间为1秒。而在每次loop的过程中会选择active,shutdown,idle中一种状态执行。master在不停的循环,所以其值是随时间递增的。
    srv_master_thread log flush and writes:master线程在后台会定期刷新日志,日志刷新是由参数innodb_flush_log_at_timeout参数控制前后刷新时间差。
    ③. SEMAPHORES 信号量
  15. mysql 每天执行 事件 mysql事件执行情况_隔离级别_06

  16. OS WAIT ARRAY INFO 操作系统等待数组的信息,它是一个插槽数组,innodb使用了多少次操作系统的等待
    保留统计(reservation count)显示了innodb分配插槽的频度
    信号计数(signal count) 衡量的是线程通过数组得到信号的频度
    RW-shared spins:#这行显示读写的共享锁的计数器
    RW-excl spins:#这行显示读写的排他锁的计数器
    ④. TRANSACTIONS
    包含Innodb 事务(transactions)的统计信息,还有当前活动的事务列表。
  17. mysql 每天执行 事件 mysql事件执行情况_系统启动_07

  18. transaction id: 这个ID是一个系统变量随时每次新的transaction产生而增加。
    Purge done:正在进行清空(purge)操作的transaction ID。
    History list length:记录了undo spaces内unpurged的事务的个数。
    ⑤. FILE I/O
    显示了I/O Helper thread的状态,包括一些统计信息
  19. mysql 每天执行 事件 mysql事件执行情况_mysql 每天执行 事件_08

  20. 144030 OS file reads:显示了reads, writes, and fsync()调用次数。
    0.00 reads/s…… : 显示了每秒的统计信息
    备注:“aio”表示“ 异步I/O(asynchronous I/O).”
    ⑥. INSERT BUFFER AND ADAPTIVE HASH INDEX
  21. mysql 每天执行 事件 mysql事件执行情况_mysql 每天执行 事件_09

  22. Ibuf:insertbuffer的一些信息,包括free list, segment size
    Hash table:显示了hash table的一些信息
    最后一行显示了每秒进行了多少次hash搜索,以及非hash搜索
    ⑦. LOG
  23. mysql 每天执行 事件 mysql事件执行情况_隔离级别_10

  24. Log sequence number表示的是redo log buffer中的lsn
    Log flushed up to表示的是redo log file中的lsn
    Pages flushed up to表示的缓冲池最旧脏页的lsn
    Last checkpoint at 指的就是最近一个物理页刷新到磁盘时,它的fil_page_lsn的变量值
    ⑧. BUFFER POOL AND MEMORY
    当前内存使用状态
  25. mysql 每天执行 事件 mysql事件执行情况_mysql 每天执行 事件_11

  26. Pages read ahead:显示了每秒线性预读跟随机预读的次数
    备注:InnoDB 提供了两种预读的方式,一种是 Linear read ahead,由参数innodb_read_ahead_threshold控制,当你连续读取一个 extent 的 threshold 个 page 的时候,会触发下一个 extent 64个page的预读。另外一种是Random read-ahead,由参数innodb_random_read_ahead控制,当你连续读取设定的数量的page后,会触发读取这个extent的剩余page。InnoDB 的预读功能是使用后台线程异步完成。
    ⑨. ROW OPERATIONS
  27. mysql 每天执行 事件 mysql事件执行情况_数组_12

  28. 0 queries inside InnoDB, 0 queries in queue:显示了有多少线程在Innodb内核
    read views open inside InnoDB:显示了有多少read view被打开了,一个read view是一致性保证的MVCC “snapshot”
    备注:innodb多版本并发(MVCC)通过read view来确定一致性读时的数据库snapshot, innodb的read view确定一条记录能否看到,在RC隔离级别下,是每个SELECT都会获取的read view;在RR隔离级别下,则是当事务中的第一个SELECT请求才创建read view;
  29. SHOW STATUS LIKE ‘innodb_row_lock_%’;
    查看当前锁性能状态
  30. mysql 每天执行 事件 mysql事件执行情况_mysql 每天执行 事件_13

  31. Innodb_row_lock_current_waits:当前等待锁的数量
    Innodb_row_lock_time:系统启动到现在、锁定的总时间长度
    Innodb_row_lock_time_avg:每次平均锁定的时间
    Innodb_row_lock_time_max:最长一次锁定时间
    Innodb_row_lock_waits:系统启动到现在、总共锁定次数