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