昨天同事在做主從時,從庫報例如以下錯誤:
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。
