以下部分包含的信息mysqld选择和服务器变量用于复制和控制二进制日志。选择和变量使用来源和副本分别覆盖,选择和变量相关的二进制日志和全球事务标识符(GTIDs)。一组快速参考表提供这些选项和变量的基本信息也包括在内。
特别重要的是server_id
系统变量。
这个变量指定服务器ID。server_id
默认设置为1。服务器可以开始使用这个默认ID,但是启用二进制日志时,发出一个信息性消息如果你没有设置server_id
显式地指定一个服务器ID。
用于复制的服务器拓扑,您必须指定一个唯一的服务器ID为每个复制服务器,从1到2的范围32−1。”独特的”意味着每个ID必须不同于其他ID在使用任何其他来源或复制的复制拓扑。有关更多信息,请参见2.6.2节”,复制源选择和变量”,2.6.3部分,“副本服务器选项和变量”。
如果服务器ID设置为0,二进制日志,但源服务器ID(0)拒绝任何来自副本的连接,和一个副本的服务器ID 0拒绝连接到源。注意,尽管你可以改变服务器ID动态为一个非零的值,这样做不会使复制立即开始。您必须更改服务器ID,然后重新启动服务器以初始化复制。
有关更多信息,请参见2.2.2节”,设置复制配置”。
MySQL服务器生成一个真正的UUID除了违约或用户提供服务器ID中设置server_id
系统变量。这是随着全球可用,只读变量server_uuid
。
的存在server_uuid
系统变量并不能改变设置一个独特的需求server_id
值为每个MySQL服务器的准备和运行MySQL复制,如本节所述。
系统变量 | server_uuid |
---|---|
范围 | 全球 |
动态 | 没有 |
SET_VAR 提示应用 |
没有 |
类型 | 字符串 |
开始时,MySQL服务器自动获得一个UUID如下:
的auto.cnf
文件格式用于类似my.cnf
或my.ini
文件。auto.cnf
只有一个(汽车)
部分包含一个server_uuid
设置和价值;文件的内容如下所示:
[汽车]server_uuid = 8 a94f357 - aab4 - 11 - df - 86 - ab - c80aa9429562
的auto.cnf
文件是自动生成的;不要试图编写或修改这个文件。
当使用MySQL复制、来源和副本知道彼此的uuid。副本的UUID的输出中可以看到显示副本|显示奴隶主机
。一次开始复制|奴隶
已经执行,源的UUID的输出可以在副本吗显示复制|奴隶地位
。
服务器的server_uuid
也用于GTIDs交易原始服务器。有关更多信息,请参见2.3节,“与全局事务标识符复制”。
开始时,复制I / O的线程生成一个错误,中止如果源头的UUID =自己的,除非——replicate-same-server-id
选项设置。此外,复制I / O的线程生成一条警告如果以下是正确的:
没有预期的来源
server_uuid
的存在。源的
server_uuid
已经改变了,虽然没有改变复制源
|改变主
语句被执行。