10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国Ltr)- 41.2 mb
PDF (A4)- 41.3 mb
PDF (RPM)- 39.5 mb
HTML下载(TGZ)- 9.3 mb
HTML下载(Zip)- 9.3 mb
HTML下载(RPM)- 7.8 mb
手册(TGZ)- 260.6 kb
手册(Zip)- 371.8 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册节选

MySQL 8.0参考手册/.../ 复制和二进制日志选项和变量

17.1.6复制和二进制日志选项和变量

以下部分包含关于mysqld用于复制和控制二进制日志的选项和服务器变量。本文将分别介绍用于源和副本的选项和变量,以及与二进制日志记录和全局事务标识符(gtid)相关的选项和变量。还包括一套关于这些选项和变量的基本信息的快速参考表。

特别重要的是server_id系统变量。

命令行格式 ——服务器id = #
系统变量 server_id
范围 全球
动态 是的
SET_VAR提示应用 没有
类型 整数
默认值 1
最小值 0
最大值 4294967295

这个变量指定服务器ID。server_id默认设置为1。可以使用这个默认ID启动服务器,但是当启用二进制日志记录时,如果没有设置,则会发出一条信息消息server_id显式地指定服务器ID。

对于复制拓扑中使用的服务器,必须为每个复制服务器指定唯一的服务器ID,范围为1到232−1。独特的意味着每个ID必须不同于复制拓扑中任何其他源或副本所使用的其他ID。有关其他信息,请参见第17.1.6.2节“复制源选项和变量”,第17.1.6.3节“副本服务器选项和变量”

如果服务器ID设置为0,将进行二进制日志记录,但是服务器ID为0的源将拒绝来自副本的任何连接,服务器ID为0的副本将拒绝连接到源。注意,尽管可以将服务器ID动态更改为非零值,但这样做并不能立即启动复制。您必须更改服务器ID,然后重新启动服务器以初始化副本。

有关更多信息,请参见第17.1.2.2节“设置副本配置”

server_uuid

的默认或用户提供的服务器ID之外,MySQL服务器生成一个真正的UUIDserver_id系统变量。这是一个全局只读变量server_uuid

请注意

的存在server_uuid系统变量不改变设置唯一的要求server_id值,作为准备和运行MySQL复制的一部分,如本节前面所述。

系统变量 server_uuid
范围 全球
动态 没有
SET_VAR提示应用 没有
类型 字符串

MySQL服务器启动时,自动获取一个UUID,如下所示:

  1. 尝试读取和使用写入文件中的UUIDdata_dir/ auto.cnf(data_dir是服务器的数据目录)。

  2. 如果data_dir/ auto.cnf,生成一个新的UUID并将其保存到该文件中,如果需要则创建该文件。

auto.cnf文件的格式与用于my.cnfmy.ini文件。auto.cnf只有一个(汽车)包含单个server_uuid设置与值;该文件的内容如下所示:

[汽车]server_uuid = 8 a94f357 - aab4 - 11 - df - 86 - ab - c80aa9429562
重要的

auto.cnf文件自动生成;不要尝试写入或修改此文件。

在使用MySQL复制时,源和副本知道彼此的uuid。的输出中可以看到副本的UUID的值显示副本|显示从主机.一次启动|副本slave的输出中,源的UUID值在副本上可用显示副本|的slave状态

请注意

发出一个停止|副本slave重置副本| slave声明并重置源的UUID,就像在副本上使用的一样。

服务器的server_uuid在gtid中也用于起源于该服务器的事务。有关更多信息,请参见第17.1.3节,“使用全局事务标识符的复制”

在启动时,如果复制I/O线程的源UUID等于它自己的UUID,则复制I/O线程会生成一个错误并中止——replicate-same-server-id选项已设置。此外,如果满足以下条件之一,复制I/O线程将产生警告: