slave(저버전) 복제 마스터(고버전)에서 발생하는 error 1236 처리

1927 단어
배경 지식:
mysql5.6에 Replication 이벤트 checksum(주종 복제 이벤트 검사) 기능이 추가되었는데 이 기능은 어떤 원인으로 인해 주종 데이터가 일치하지 않는지 쉽게 판단할 수 있습니다.
프로세스:
//특별한 요구 사항이 있기 때문에 mysql 5.6의 마스터에 mysql 5.5의 slave를 설정해야 합니다(추천하지 않음).
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status \G
*************************** 1. row ***************************
......
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
......           
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1236
                Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Slave can not handle replication events with the checksum that master is configured to log; the first event 'mysql-bin.000990' at 661485030, the last event read from './mysql-bin.000990' at 661485030, the last byte read from './mysql-bin.000990' at 120.'
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
......

//slave 타임스 error 1236 열기, 처리 방법:
# on Master:
mysql> show variables like 'binlog_checksum%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| binlog_checksum | CRC32 |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> set global binlog_checksum='NONE';
Query OK, 0 rows affected (0.22 sec)

mysql> show variables like 'binlog_checksum%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| binlog_checksum | NONE  |
+-----------------+-------+
1 row in set (0.00 sec)

주: "bingo checksum"을 수정한 후 slave에서 mysqldump가 내보낸 데이터 복사본으로 가져온 데이터를 사용하려면 mysqldump(master log pos를 받아야 하고 slave에서 내보낼 때'--dump-slave=2')를 사용하여 "bingo checksum"수정된 sql 파일을 다시 생성하여 slave에서 데이터를 가져와야 합니다.

좋은 웹페이지 즐겨찾기