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 유틸리티를 사용하는 방법을 보여줍니다.
대상 LinuxmacOS, 또는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
mysqlbinlog 유틸리티가 바이너리 로그에 액세스할 수 있도록 DB 인스턴스에서 바이너리 로그를 계속 사용할 수 있어야 합니다. 가용성을 보장하기 위해 mysql.rds_set_configuration 저장 프로시저를 사용하고 로그를 다운로드할 수 있는 충분한 시간을 지정합니다. 이 구성이 설정되지 않은 경우 Amazon RDS가 이진 로그를 가능한 한 빨리 제거하므로 mysqlbinlog 유틸리티에서 검색하는 바이너리 로그에 간극이 발생합니다.
다음 예제에서는 보존 기간을 1일로 설정합니다.
call mysql.rds_set_configuration('binlog retention hours', 24);
현재 설정을 표시하려면 mysql.rds_show_configuration 저장 프로시저를 사용합니다.
call mysql.rds_show_configuration;