基于MySQL语句的复制:binlog是否包含在主服务器上执行的精确查询?
我们不得不为几天前发生的一个事件调试web应用程序,我们只有MySQL复制Binlog(语句复制)。我们可以相信这些SQL查询与我们的web应用程序在master上执行的SQL查询完全相同吗基于MySQL语句的复制:binlog是否包含在主服务器上执行的精确查询?,mysql,sql,replication,binlog,Mysql,Sql,Replication,Binlog,我们不得不为几天前发生的一个事件调试web应用程序,我们只有MySQL复制Binlog(语句复制)。我们可以相信这些SQL查询与我们的web应用程序在master上执行的SQL查询完全相同吗 我们的应用程序在一个表中的单行上进行了大量更新,但这些查询总是像updatey SET x=x+1…或x=x-2,从不updatey SET x=23…,在binlog中我们发现了许多x=23类更新。那个些严格分配更新查询的事实上是由复制机制创建的吗?实际上应用程序正在执行那个些SET x=23类型的更新,
我们的应用程序在一个表中的单行上进行了大量更新,但这些查询总是像
updatey SET x=x+1…
或x=x-2
,从不updatey SET x=23…
,在binlog中我们发现了许多x=23
类更新。那个些严格分配更新查询的事实上是由复制机制创建的吗?实际上应用程序正在执行那个些SET x=23
类型的更新,但在某些条件下
所以,回答我自己的问题:您将在binlog中找到的查询与在主数据库上执行的查询相同,但您只会在那里找到insert/update查询(显然没有选择),它们的顺序可能不同(您需要查看binlog中注释中的时间戳)。这很奇怪。你在binlog中也看到了
x=x+1
更新吗?是的,x=x+1
也在那里。实际上,应用程序正在执行那些setx=23
类型的更新,但在某些条件下。所以,回答我自己的问题:您将在binlog中找到的查询与在主数据库上执行的查询相同,但您将只在那里找到insert/update查询(显然没有选择),它们的顺序可能不同(您需要查看binlog中注释中的时间戳)。