10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.4 mb
PDF (A4)- 36.4 mb
PDF (RPM)- 35.7 mb
HTML下载(TGZ)- 9.5 mb
HTML下载(Zip)- 9.5 mb
HTML下载(RPM)- 8.2 mb
手册页(TGZ)- 235.5 kb
手册页(Zip)- 347.0 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

第十六章复制

复制使数据从一个MySQL数据库服务器(源)复制到一个或多个MySQL数据库服务器(副本)。默认情况下复制是异步的;副本不需要永久连接以接收来自源端的更新。根据配置,您可以复制数据库中的所有数据库、选定的数据库,甚至是选定的表。

MySQL复制的优势包括:

  • 向外扩展解决方案——在多个副本之间分散负载以提高性能。在此环境中,所有写入和更新都必须在复制源服务器上进行。然而,读取可能发生在一个或多个副本上。这个模型可以提高写的性能(因为源是专门用于更新的),同时在不断增加的副本数量上显著提高读取速度。

  • 数据安全性——由于数据被复制到副本,并且副本可以暂停复制过程,因此可以在副本上运行备份服务而不会破坏相应的源数据。

  • 分析——可以在源上创建实时数据,而对信息的分析可以在副本上进行,而不会影响源的性能。

  • 远程数据分发——您可以使用复制来创建数据的本地副本供远程站点使用,而无需对源进行永久访问。

有关如何在此类场景中使用复制的信息,请参见16.3节“复制解决方案”

MySQL 5.7支持不同的复制方法。传统的方法基于从源二进制日志中复制事件,并且要求在源和副本之间同步日志文件和其中的位置。较新的方法基于全局事务标识符(gtid)是事务性的,因此不需要处理日志文件或这些文件中的位置,这极大地简化了许多常见的复制任务。使用gtid的复制可以保证源和副本之间的一致性,只要在源上提交的所有事务也应用在副本上。有关MySQL中gtid和基于gtid的复制的更多信息,请参见第16.1.3节,“使用全局事务标识符的复制”.有关使用基于二进制日志文件位置的复制的信息,请参见第16.1节,“配置复制”

MySQL中的复制支持不同类型的同步。最初的同步类型是单向异步复制,其中一台服务器充当源,而一台或多个其他服务器充当副本。这与同步复制是NDB集群的一个特征(请参阅21章,MySQL NDB集群7.5和NDB集群7.6).在MySQL 5.7中,除了内置的异步复制外,还支持半同步复制。对于半同步复制,在返回执行事务的会话之前,在源块上执行提交,直到至少一个副本确认它已经接收并记录了事务的事件;看到第16.3.9节,“半同步复制”.MySQL 5.7还支持延迟复制,这样副本会故意落后于源文件至少一段指定的时间;看到16.3.10节“延迟复制”.对于以下场景同步复制是必需的,使用NDB集群(见21章,MySQL NDB集群7.5和NDB集群7.6).

有许多解决方案可用于设置服务器之间的复制,使用的最佳方法取决于数据的存在和您正在使用的引擎类型。有关可用选项的详细信息,请参见第16.1.2节“建立基于二进制日志文件位置的复制”

复制格式有两种核心类型:基于语句的复制(SBR),它复制整个SQL语句;基于行的复制(RBR),它只复制已更改的行。您还可以使用第三种类型,混合复制(MBR)。有关不同复制格式的详细信息,请参见第16.2.1节“复制格式”

复制是通过许多不同的选项和变量控制的。有关更多信息,请参见第16.1.6节,“复制和二进制日志记录选项和变量”

您可以使用复制来解决许多不同的问题,包括性能、支持不同数据库的备份,以及作为减轻系统故障的更大解决方案的一部分。有关如何解决这些问题的信息,请参见16.3节“复制解决方案”

有关复制期间如何处理不同数据类型和语句的说明和技巧,包括复制特性、版本兼容性、升级以及潜在问题及其解决方案的详细信息,请参见16.4节“复制注意事项和提示”.对于那些MySQL复制新手经常会问的一些问题的答案,请参见章节A.14,“MySQL 5.7常见问题:复制”

有关复制实现、复制如何工作、二进制日志的过程和内容、后台线程以及用于决定如何记录和复制语句的规则的详细信息,请参见第16.2节“复制实现”