昨天同事在做主从时。从库报例如以下错误:
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!