FAQ: show slave status从那里读的数据

这个问题最近有几个学生都问到我: SHOW SLAVE STATUS; 从哪里读数据。原因是发现: show slave status输出和relay_log_info_repository定义为table两个输出不一致。

另外有的人会告诉你把relay_log_info_repository存到表里, sync_relay_log_info就无效了。来吧看手册。

sync_relay_log_info 

对于事务引擎确时走的由Innodb本身保证,也可以说在全Innodb环境中show slave status输出和relay_log_info_repository表内的的内容是一致的。
但对于非事务引擎如果sync_relay_log_info设置成1,很有可能是sync_log_info没设置成1.

结论: show slave status读的数据确时从内存中读出来的。 如果基于Innodb表,两者是一致的。如果基于非事务表,默认配置很有可能是不一致的。如果需要一致可以通过改sync_relay_log_info=1。

 

作者:吴炳锡 来源:http://wubx.net/ 联系方式: wubingxi#163.com 转载请注明作/译者和出处,并且不能用于商业用途,违者必究.