메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

mysql.rds_next_master_log

마스터에 있는 다음 이진 로그의 시작으로 복제 마스터 로그 위치를 변경합니다. 읽기 전용 복제본에 대한 복제 I/O 오류 1236을 수신 중일 경우에만 이 프로시저를 사용하십시오.

구문

Copy
CALL mysql.rds_next_master_log( curr_master_log );

파라미터

curr_master_log

현재 마스터 로그 파일의 인덱스입니다. 예를 들어, 현재 파일의 이름이 mysql-bin-changelog.012345이면 인덱스는 12345입니다. 현재 마스터 로그 파일 이름을 확인하려면 SHOW SLAVE STATUS 명령을 실행하고 Master_Log_File 필드를 봅니다.

사용 노트

mysql.rds_next_master_log 프로시저는 마스터 사용자가 실행해야 합니다.

주의

복제 원본인 다중 AZ DB 인스턴스의 장애 조치 후 복제가 실패하고 SHOW SLAVE STATUSLast_IO_Errno필드에서 I/O 오류 1236을 보고하는 경우에만 mysql.rds_next_master_log를 호출합니다.

장애 조치 이벤트가 발생하기 전에 이진 로그에 원본 인스턴스의 트랜잭션이 기록되지 않은 경우 mysql.rds_next_master_log를 호출하면 읽기 전용 복제본에서 데이터가 손실됩니다. 원본 인스턴스 파라미터 sync_binlog = 1 및 innodb_support_xa = 1을 구성하여 데이터 손실 가능성을 줄일 수 있습니다. 그러나 성능이 저하될 수 있습니다. 자세한 내용은 PostgreSQL, MySQL 및 MariaDB 읽기 전용 복제본 작업을(를) 참조하십시오.

mysql.rds_next_master_log 프로시저는 다음 버전의 Amazon RDS MySQL에서 사용할 수 있습니다.

  • MySQL 5.5

  • MySQL 5.6

  • MySQL 5.7

예제

Amazon RDS 읽기 전용 복제본에서 복제에 실패한 경우 복제본에서 SHOW SLAVE STATUS\G를 실행하면 다음 결과가 반환됩니다.

Copy
*************************** 1. row *************************** Slave_IO_State: Master_Host: myhost.XXXXXXXXXXXXXXX.rr-rrrr-1.rds.amazonaws.com Master_User: MasterUser Master_Port: 3306 Connect_Retry: 10 Master_Log_File: mysql-bin-changelog.012345 Read_Master_Log_Pos: 1219393 Relay_Log_File: relaylog.012340 Relay_Log_Pos: 30223388 Relay_Master_Log_File: mysql-bin-changelog.012345 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 30223232 Relay_Log_Space: 5248928866 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: 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: 'Client requested master to start replication from impossible position; the first event 'mysql-bin-changelog.013406' at 1219393, the last event read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4, the last byte read from '/rdsdbdata/log/binlog/mysql-bin-changelog.012345' at 4.' Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 67285976

Last_IO_Errno 필드가 인스턴스에서 I/O 오류 1236을 수신하고 있음을 보여 줍니다. Master_Log_File 필드는 파일 이름이 mysql-bin-changelog.012345임을 보여 줍니다. 이는 로그 파일 인덱스가 12345임을 의미합니다. 오류를 해결하려면 다음 파라미터와 함께 mysql.rds_next_master_log를 호출합니다.

Copy
CALL mysql.rds_next_master_log(12345);

이 페이지에서: