10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

MySQL 8.0参考手册/.../ 建立基于二进制日志文件位置的复制

17.1.2建立基于二进制日志文件位置的复制

本节介绍如何设置MySQL服务器使用二进制日志文件位置复制。有许多不同的方法可以设置复制,具体使用哪种方法取决于您如何设置复制,以及您希望复制的源上的数据库中是否已经有数据。

提示

要部署多个MySQL实例,可以使用InnoDB集群使您可以轻松地管理一组MySQL服务器实例在MySQL壳.InnoDB Cluster将MySQL Group Replication包装在一个编程环境中,使您能够轻松部署MySQL实例集群来实现高可用性。此外,InnoDB集群与MySQL路由器,这使您的应用程序无需编写自己的故障转移过程就可以连接到集群。但是,对于不需要高可用性的类似用例,您可以使用InnoDB ReplicaSet.可以找到MySQL Shell的安装说明在这里

有一些通用的任务是所有设置都通用的:

  • 在源上,必须确保启用二进制日志记录,并配置一个惟一的服务器ID。这可能需要重新启动服务器。看到17.1.2.1设置复制源配置

  • 对于要连接到源的每个副本,必须配置一个惟一的服务器ID。这可能需要重新启动服务器。看到第17.1.2.2节“设置副本配置”

  • 可选地,在读取用于复制的二进制日志时,为您的副本创建一个单独的用户,以便在与源进行身份验证时使用。看到第17.1.2.3节,“为复制创建用户”

  • 在创建数据快照或启动复制过程之前,应该在源上在二进制日志中记录当前位置。在配置副本时需要这些信息,以便该副本知道在二进制日志中的何处开始执行事件。看到第17.1.2.4节,“获取复制源二进制日志坐标”

  • 如果源端已经有数据,并且需要使用这些数据来同步副本,则需要创建数据快照将数据复制到副本。您使用的存储引擎会影响您创建快照的方式。当你使用MyISAM在允许源继续执行语句之前,必须停止源上的处理语句以获得读锁,然后获取其当前二进制日志坐标并转储其数据。如果不停止语句的执行,数据转储和源状态信息将不匹配,从而导致副本上的数据库不一致或损坏。有关复制aMyISAM源,看第17.1.2.4节,“获取复制源二进制日志坐标”.如果你正在使用InnoDB,不需要读锁,一个足够长的事务来传输数据快照就足够了。有关更多信息,请参见第15.19节,“InnoDB和MySQL复制”

  • 使用连接源的设置配置副本,例如主机名、登录凭据和二进制日志文件名和位置。看到第17.1.2.7节,“在副本上设置源配置”

  • 根据您的系统,在源和副本上实现特定于复制的安全措施。看到第17.3节,“复制安全”

请注意

设置过程中的某些步骤需要超级特权。如果您没有此特权,则可能无法启用复制。

配置基本选项后,选择您的场景:

在管理MySQL复制服务器之前,请阅读本章,并尝试在第13.4.1节,“控制源服务器的SQL语句”,第13.4.2节,“控制副本服务器的SQL语句”.还要熟悉中描述的复制启动选项第17.1.6节,“复制和二进制日志选项和变量”