逐步分析MySQL从库com_insert无变化的原因
大家都知道com_insert等com_xxx参数可以用来监控数据库实例的访问量,也就是我们常说的QPS。并且基于MySQL的复制原理,所有主库执行的操作都会在从库重放一遍保证数据一致,那么主库的
<p>大家都知道com_insert等com_xxx参数可以用来监控数据库实例的访问量,也就是我们常说的QPS。并且基于MySQL的复制原理,所有主库执行的操作都会在从库重放一遍保证数据一致,那么主库的com_insert和从库的com_insert理论上应该是相等的。如下面显示,第二列代表主库,第三列代表从库:</p>
复制代码 代码如下:com_select 22 1138com_update 36 37com_insert 133 135com_delete 0 0qcache_hits 0 0Com_replace 0 0Connections 13 24
但是我们看另外一个业务:
复制代码 代码如下:com_select 0 95com_update 0 0com_insert 92 0com_delete 20 0qcache_hits 0 6Com_replace 0 0Connections 0 6
我们可以很明显的看出来,主库有92个写,但是从库0个写,这是为什么呢?
这2个业务唯一的区别就是binlog_format的设置不一样。
复制代码 代码如下:第一个业务show global variables like '%binlog_format%';+---------------+-----------+| Variable_name | Value |+---------------+-----------+| binlog_format | STATEMENT |+---------------+-----------+
第二个业务show global variables like '%binlog_format%';+---------------+-------+| Variable_name | Value |+---------------+-------+| binlog_format | ROW |+---------------+-------+
我们来看下com_xxx的官方文档定义: