好,我正在运行设置一个主和一些奴隶。所有写道,经过主和复制下来的奴隶,这是严格用于读取。

现在我有一个存储程序(不能)将其称为一个触发器上的插入。根据MySQL文件,用于复制的触发的日志的呼吁触发,同时存储程序实际上日志的结果存储的过程。

所以我的问题是,当我触得到解雇,它将复制这两个触发和结果的过程中,触发调(导致程序的有效运行两次)?或将它只是复制的触发有奴隶重新运行存储的过程在他们自己的吗?

感谢

有帮助吗?

解决方案

在MySQL5.0(和MySQL5.1声明基础的二进制日志),仅叫查询记录,所以在你的情况下,插入将记录。

在奴隶,插入,将执行并且然后触发,将重新运行上的奴隶。因此触发的需求上存在的奴隶,并假定这样做,那么它将是执行完全相同的方式为主。

在MySQL5.1,有的是基于行的二进制记录,其中将记录只的行正在改变,因此触发器就不会重新开枪的奴隶,但是所有行改变,仍将传播。

其他提示

此外,哈里森的极好的回答:

  • 假设数据库的同步(架构、数据同一版)开始,它应该只是工作
  • 如果没有,那么这可能是因为你使用一些不确定性在查询或触发。解决这个问题。
  • 无论你如何使用复制的,你需要有监测检查的奴隶们总是同步的。没有任何监测,他们将成为失去同步(略)和你就不会通知。MySQL没有自动内在的特点检查这或固定它。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top