replication - 在从节点干扰复制过程的情况下,MySQL复制可以选择查询?

  显示原文与译文双语对照的内容
0 0

我知道,mysql复制在从服务器上使用了两个不同的线程。

  1. 从 I/O 线程从主机读取binlog并将它的写入本地中继日志
  2. 从SQL线程执行本地中继日志中的sql语句。 这里线程用于执行更新。删除和创建 sql 。

从从服务器上选择查询怎么样? 可以选择干扰复制过程的查询? 或者是否存在执行SELECT查询的其他线程?

我的意思是,可以在从属上缓慢选择查询使复制延迟到主机后面?

时间:原作者:1个回答

0 0

在短的查询中可以能会干扰复制,这不是线程,而是应用( 酸性 vs 线程)的锁。 从从属上复制到从属的更新查询可以通过从从属上进行选择查询来阻止。 然而,复制子系统将大部分时间处理这些查询锁定问题。 如果不介意脏读,可以将从从属的事务序列化隔离级别设置为减少风险的限制。 但是,请确保 dirty reads可以查看这里链接以获得更多信息: http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html

你关心的是滞后,这并不是你在任何复制模式下都可以消除的一些。 在主服务器和从服务器之间几乎总是有一个网络。 这将从开始开始引入延迟。 例如大型复制语句可以能会饱和网络带宽,这可以能会比阻止复制的查询更多。 复制从未存在并且永远不会出现。 因这里你关于滞后的问题可以像这个滞后一样回答,而不是你能完全消除的东西。

不要给我错误的复制可以很快,但它永远不会即时。

另外要记住的是复制可能失败,并且你也需要计划。 它将在某一点上发生,并为它准备。 所以基本上你会有延迟,不管你怎么做复制,你需要能够处理它。 另外,在某些时候还要准备复制失败,以及如何从它中恢复。

在许多地方复制可以很有用,你需要确保在很多层次上准备好它,比如在网络基础设施上进行管理,在生产过程中如何处理它,以及在崩溃时如何重新在线。

原作者:
...