최초 작성일 : 2021-10-10 | 수정일 : 2021-10-10 | 조회수 : 901 |
Tags #MySqlMySQL log
MySQL을 설정없이 설치하면 기본적으로 에러 로그만 남기게 된다.접속 정보 및 쿼리에 대한 로그는 따로 설정을 통해 기록을 남길 수 있다.프로젝트 서버 보안성 검토에도 필수로 확인하는 항목이니 기본적으로 알아두는 것이 좋을 것이다.-general_log 확인일반적으로 모든 쿼리에대한 로그를 남기기 위해 general_log Value 값을 변경해 주어야한다.MySQL접속 후 general_log의 상태 값과 해당 로그가 떨어지는 경로를 확인한다.
1 SHOW VARIABLES LIKE '%general%';cs
-general_log 상태값 변경
상태값을 ON으로 변경해준다.
1 SET GLOBAL general_log = ON;cs
-로그확인
variables의 상태값을 변경해주는 시점부터 발생하는 쿼리에 대해 general_log_file의 경로에 로그를 남기기 시작한다.
위 방법으로 변경해주면 MySQL을 재실행 할 필요없이 바로 로그를 남긴다.
MySQL 커넥션을 끊고 해당 경로의 파일을 확인한다.
1 vi /home/mysql_data/localhost.logcs
-Variables 자동 설정
MySQL 서버를 재실행하면 general_log 상태값은 다시 OFF로 바뀐다.
재실행해도 로그가 남도록 my.cnf파일의 설정 값을 변경해준다.
/etc/my.cnf 파일 추가
12 general_log = ONgeneral_log_file = /home/mysql_data/log/history.logcs
파일 로그의 경로를 만들어 주고 소유자를 변경해준다.
123 mkdir /home/mysql_data/logtouch /home/mysql_data/log/history.logchown -R mysql:mysql /home/mysql_data/logcs
이제 MySQL 서버를 재실행 후 variables를 확인해준다.
재실행 후 이전과 다르게 자동으로 general_log 상태값이 ON으로 되어 있고 로그파일 경로도 변경된 것을 확인했다.
로그 확인