首页 > 代码库 > MySQL bug:server-id默认被自动置为1

MySQL bug:server-id默认被自动置为1

昨天同事在做主从时,从库报如下错误:

Got fatal error 1236 from master when reading data from binary log: ‘Misconfigured master - server id was not set‘

粗粗看好像是master的server-id没有设置,但同事做如下查询:

备库采集:
root@localhost Fri May 23 14:18:59 2014 14:18:59 [(none)]> show variables like ‘%server_id%‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 2     | 
+---------------+-------+

主库采集:

mysql> show variables like ‘%server%‘;
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| character_set_server | latin1            |
| collation_server     | latin1_swedish_ci |
| server_id            | 1                 |
+----------------------+-------------------+

此时,复制环境的server-id确实是全局唯一的。为何报错?

由于业务是用于存储hadoop的元数据,之前MySQL版本较低,同事用了比master版本高的slave,本以为是这个原因,但在MySQL 的bug列表上发现: 

该发现否定了我们之前的判断,经过同事那边的测试,也确实是这个bug :-)


祝周末愉快,

Good Luck!