MySQL 이진 로그 액세스 - Amazon Relational Database Service

MySQL 이진 로그 액세스

mysqlbinlog 유틸리티를 사용하여 RDS for MySQL DB 인스턴스에서 이진 로그를 다운로드하거나 스트리밍할 수 있습니다. 이진 로그를 로컬 컴퓨터로 다운로드하면 mysql 유틸리티를 사용하여 로그를 재생하는 것과 같은 작업을 수행할 수 있습니다. mysqlbinlog 유틸리티 사용에 대한 자세한 내용은 MySQL 설명서의 mysqlbinlog를 사용하여 이진 로그 파일 백업을 참조하세요.

Amazon RDS 인스턴스에 대해 mysqlbinlog 유틸리티를 실행하려면 다음 옵션을 사용합니다.

  • --read-from-remote-server - 필수입니다.

  • --host – 인스턴스의 엔드포인트에서 DNS 이름.

  • --port – 인스턴스에서 사용되는 포트.

  • --user - REPLICATION SLAVE 권한이 부여된 MySQL 사용자.

  • --password – MySQL 사용자의 암호. 또는 유틸리티에서 암호 입력을 요구하는 메시지가 표시되도록 암호 값을 생략.

  • --raw - 파일을 이진 형식으로 다운로드합니다.

  • --result-file - 원시 출력을 수신할 로컬 파일.

  • --stop-never - 이진 로그 파일을 스트리밍합니다.

  • --verbose - ROW binlog 형식을 사용할 경우 이 옵션을 포함하면 행 이벤트를 유사 SQL 문으로 볼 수 있습니다. --verbose 옵션에 대한 자세한 내용은 MySQL 설명서의 mysqlbinlog 행 이벤트 표시를 참조하세요.

  • 하나 이상의 이진 로그 파일의 이름을 지정합니다. 사용 가능한 로그의 목록을 획득하려면 SQL 명령 SHOW BINARY LOGS를 사용합니다.

mysqlbinlog 옵션에 대한 자세한 내용은 MySQL 설명서의 mysqlbinlog - 이진 로그 파일 처리용 유틸리티를 참조하세요.

다음 예시에서는 mysqlbinlog 유틸리티를 사용하는 방법을 보여줍니다.

Linux, macOS 또는 Unix 대상:

mysqlbinlog \ --read-from-remote-server \ --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \ --port=3306 \ --user ReplUser \ --password \ --raw \ --verbose \ --result-file=/tmp/ \ binlog.00098

Windows의 경우:

mysqlbinlog ^ --read-from-remote-server ^ --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^ --port=3306 ^ --user ReplUser ^ --password ^ --raw ^ --verbose ^ --result-file=/tmp/ ^ binlog.00098

Amazon RDS는 보통은 최대한 빨리 이진 로그를 제거하지만, mysqlbinlog가 액세스할 수 있도록 인스턴스에서 이진 파일을 여전히 사용할 수 있어야 합니다. RDS가 이진 파일을 보존할 시간을 지정하려면 mysql.rds_set_configuration 저장 프로시저를 사용하고 로그를 다운로드하기에 충분한 시간으로 기간을 지정합니다. 보존 기간을 설정한 후, DB 인스턴스의 스토리지 사용량을 모니터링하여 보존된 이진 로그가 너무 많은 스토리지를 차지하지 않도록 합니다.

다음 예제에서는 보존 기간을 1일로 설정합니다.

call mysql.rds_set_configuration('binlog retention hours', 24);

현재 설정을 표시하려면 mysql.rds_show_configuration 저장 프로시저를 사용합니다.

call mysql.rds_show_configuration;