8.4 기준
컴포넌트 설치(MySQL 클라이언트)
-- 컴포넌트 설치
INSTALL COMPONENT 'file://component_audit_log_filter';
-- 설치 확인
SELECT * FROM mysql.component;
-- 감사 로그 설정 확인
SHOW VARIABLES LIKE 'audit_log%';
-- 감사 로그 파일 위치
SELECT @@datadir;
설정
-- 설치 후에 다음을 실행
-- DB 툴에서는 실행되지 않고, MySQL 직접 접근하여 실행해야 함.
SOURCE /usr/share/mysql/audit_log_filter_linux_install.sql;
-- 다음 내용부터는 DB툴에서 실행 가능
SET @filter_json = '{
"filter": {
"class": {
"name": "connection"
}
}
}';
-- log에 남길 내용 설정. 아래는 연결할 때 로그를 남기겠다는 설정
SELECT audit_log_filter_set_filter('log_connections', @filter_json);
-- 연결 시, 로그를 남길 사용자 설정. 아래는 모든 사용자를 기록하겠다는 의미.
SELECT audit_log_filter_set_user('%', 'log_connections');
-- 설정 확인
SELECT * FROM mysql.audit_log_filter;
SELECT * FROM mysql.audit_log_user;
로그 파일 내용(예시)
xml 형식으로 구성되어 있는데 NAME이라는 항목을 우선적으로 보면 된다.
NAME 별 설명
- <NAME>Pre Authenticate</NAME>
→ 아직 로그인 전, 핸드쉐이크 단계 (USER 비어있음)
- <NAME>Connect</NAME>
→ 실제 로그인 성공
- <NAME>Disconnect</NAME>
→ 그 커넥션이 끊긴 시점
→ 실제 접속 기록은 NAME이 Connect인 것만 확인하면 된다.
'DB' 카테고리의 다른 글
| Percona MySQL TDE 설정 (0) | 2025.12.28 |
|---|---|
| [DB] 풀 인덱스 스캔, 인덱스 전용 스캔(커버링 인덱스) (0) | 2025.12.28 |
| Database Table Lock (0) | 2025.04.14 |
| [MySQL] 테이블 파티셔닝 (0) | 2025.04.14 |