最近在研究mysql的主从,发现一个问题,我在主库做任何修改时,在从库中只有slave_relay_log_info中的Master_log_pos在变化,而slave_master_info中的Master_log_pos竟然不发生变化
1. 首先看参数
(root@localhost)[mysql]> show variables like '%repository%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| master_info_repository | TABLE |
| relay_log_info_repository | TABLE |
+---------------------------+-------+
2. 通过官方文档看这两张表的定义
3. 看从库的同步情况
4. 查看这两张表的内容
5. 问题
可以看到slave_master_info中的Master_log_pos一直是154,而按照官方文档的说明,它应该也是1051才对,这是什么原因呢。通过询问摩天轮的大神,原来是这个参数sync_master_info搞的鬼。这个参数控制从库多久更新一次slave_master_info,默认是10000,即每10000个events更新一次。