17.1.4 Replication and Binary Logging Options and Variables 复制和Binary logging 选项和变量
下面的章节包含信息关于mysqld选项和server 变量 用于复制和用于控制binary log.
选项和变量对于使用复制Masters和复制slaves是分别包括,因为选项和变量涉及binary logging.
这个选项是常见的在master和slave 复制servers,是用于复制来启动master和slave server来标识它们唯一的。
在master 和每个slave上,你必须使用--server-id 选项来创建一个唯一的复制ID
Unique 意味着每个ID必须不同域其他ID 在任何其他复制master或者slave.
如果你省略了--server-id, 默认ID是0,在这种情况下,master 拒绝所有slaves的链接,
server_uuid
mysql> show variables like '%server%';
+---------------------------------+--------------------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------------------+
| character_set_server | utf8 |
| collation_server | utf8_general_ci |
| innodb_ft_server_stopword_table | |
| server_id | 135 |
| server_id_bits | 32 |
| server_uuid | d6881046-9be4-11e6-8b6a-0050568a6b1d |
+---------------------------------+--------------------------------------+
6 rows in set (0.00 sec)
从 MySQL 5.6开始,server 产生一个真的UUID 除了 --server-id
这个值是全局,只读变量
当启动时,MySQL server 自动得到一个UUID 如下:
1. 尝试读取和使用UUID 写入到文件data_dir/auto.cnf (data_dir 是server的数据目录)
zabbix:/data01/mysql# cat auto.cnf
[auto]
server-uuid=d6881046-9be4-11e6-8b6a-0050568a6b1d
2.如果data_dir/auto.cnf 没有被找到,产生一个新的UUID 保存它到这个文件,如果需要创建这个文件
auto.cnf 文件格式类似于 my.cnf or my.ini files.
在MySQL 5.6,auto.cnf只有一个单独的 [auto] section 包含一个单独的server_uuid
[auto]
server_uuid=8a94f357-aab4-11df-86ab-c80aa9429562
注意:
auto.cnf file 是自动生成的,不要尝试些或者修改这个文件
在MySQL 5.6开始,当使用MySQL 复制,masters 和slaves 知道彼此的UUIDs.