본문 바로가기

DBA

AWS RDS MySQL general_log 생성방법

직무부트캠프를 수강하며 aws rds mysql을 사용하고 있는데 general_log를 생성해서 확인해야 하는 일이 생겼다.

기본적으로 error log는 확인할 수 있지만 general_log를 보려면 추가적으로 해야하는것이 있어서

general_log생성 및 확인방법에 대해 살짝 정리해보려고 한다.

 

[AWS RDS MySQL general_log생성방법]

1) 파라미터그룹생성

RDS를 생성할때 default로 생성된 파라미터는 수정할 수 없다. 따라서 default 파라미터그룹을 사용하고 있었다면 새로 생성해야한다.

RDS-파라미터그룹에서 파라미터 그룹 생성 선택하고, 그룹 패밀리를 mysql8.0 (자신이 사용하고있는 버전), 이름과 설명은 마음대로 입력해서 생성버튼 누르면 끝!

 

2) 생성한 파라미터 선택하고 파라미터 편집

파라미터 필터링창에 general_log를 검색하고 값을 1로 변경한다. slow_log도 확인하고 싶으면 slow_query_log를 1로 변경해주면 된다. 완료하면 당연히 변경사항 저장 눌러주기!

 

3) 생성한 파라미터 데이터베이스 연결

RDS-데이터베이스로 들어가서 general_log볼 데이터베이스 선택.

수정 누른 후 추가구성으로 가서 DB파라미터그룹을 위에서 생성한 파라미터로 변경해준다.

로그내보내기는 따로 만지지 않았다.

수정했으면 계속 누르고 즉시변경 선택!

 

4) 상태가 수정중에서 사용가능으로 바뀌면 작업에서 재부팅을 한번 해준다

그럼 끝!

 

[AWS RDS MySQL general_log확인방법]

general_log는 workbench, sqlyog, cli를 이용해서 확인하면 된다.

로그 확인전에 general_log생성이 제대로 되고 있는지 확인하기 위해

SHOW VARIABLES LIKE 'general%';

실행 후 general_log가 ON이 되어있는지 확인한다.

 

생성된 general_log를 확인하려면

SELECT * FROM mysql.general_log;

을 실행시키면 된다.

 

과제를 수행할 때 rdsadmin의 로그는 볼 필요가 없는데 너무 많아 방해가 되서 필터를 이용했다.

SQLyog에서만 해봐서 다른곳에서도 되는건지 모르겠는데 로그결과에서 필터링 하고싶은 필드부분에서

오른쪽마우스 누르면 필터가 있다. 여기서 user_host <> rdsadmin을 통해 해당 유저의 로그는 제외하고 볼 수 있었다.

아마 select할 때 필터링 할 수 있을텐데 그거까진 알아보지 않았..다...ㅎㅎ

 

여기까지가 끝!

얼마전에 아무생각없이 AWS 결제대시보드 들어갔다가 요금 부과되고있었던거 확인해서(다행히 2천원정도였다...그래도 그돈이면 붕어빵 3개는 먹을텐데...ㅠㅠ) 파라미터 새로 생성했다가 요금 부과될까봐 찾아봤는데 이거에 대한건 따로 못찾아서 내일이나 모레 확인해보려고 한다! 결과는 그때 글 수정하는걸로!

원래 유저추가해서 해당유저로 데이터베이스 수정하고 그 결과를 로그로 확인하는 것도 작성하려고 했는데

이건 코멘토 카테고리글로 작성하는게 좋을 것 같아서 피드백 받은 후에 작성하는걸로 하겠다.

그럼 이만 끝!

'DBA' 카테고리의 다른 글

MySQL5.7 Window에서 root비밀번호 재설정  (0) 2021.01.30
댓글