SET GLOBAL general_log=on; 명령어는 MySQL에서 일반 쿼리 로그(general query log)를 활성화하는 명령
일반 쿼리 로그는 서버에서 실행되는 모든 SQL 쿼리(성공 여부와 관계없이)를 기록하는 기능
이를 통해 디버깅이나 쿼리 모니터링에 유용한 정보를 얻을 수 있습니다.
다음은 이 명령어와 관련된 세부 정보입니다:
1. 명령어 설명
SET GLOBAL general_log = 'ON';
이 명령어는 현재 MySQL 서버에 대한 일반 쿼리 로그를 활성화함.
이 명령어는 MySQL 서버가 재시작될 때까지 로그를 활성화하지만, 서버가 재시작되면 이 설정이 기본값으로 돌아감.
따라서, 영구적으로 설정하려면 MySQL 설정 파일에 추가해야 합니다(아래 참조).
2. 로그 파일 경로 확인 및 설정
로그가 기록되는 파일 경로를 확인하거나 설정할 수 있습니다. 기본적으로 로그는 general_log_file 설정에 정의된 파일에 기록됩니다.
로그 파일 경로를 확인하려면:
SHOW VARIABLES LIKE 'general_log_file';
SET GLOBAL general_log_file = '/path/to/your/logfile.log';
3. 영구적으로 설정하기
만약 MySQL 서버를 재시작하더라도 일반 로그 기능을 유지하고 싶다면, MySQL 설정 파일(my.cnf 또는 my.ini)을 편집하여 general_log를 활성화할 수 있음.
my.cnf 또는 my.ini 파일을 열고 [mysqld] 섹션에 다음 내용을 추가
[mysqld]
general_log = ON
general_log_file = /var/log/mysql/general.log # 로그 파일 경로
5. 주의사항
성능 문제: 일반 쿼리 로그는 서버에서 실행되는 모든 쿼리를 기록하기 때문에, 트래픽이 많은 서버에서 이 기능을 사용하면 성능 저하가 발생할 수 있습니다. 반드시 필요한 경우에만 활성화해야함.
디스크 공간: 모든 쿼리가 기록되므로 로그 파일 크기가 매우 빨리 커질 수 있습니다. 로그 파일 관리가 필요함
이 명령어를 사용하면 MySQL 서버의 모든 쿼리를 기록할 수 있지만, 성능에 미치는 영향을 고려하여 적절히 사용해야 함.
댓글