라이브러리
[MYSQL_CONFIG] --general_log - 일반 쿼리 로그 활성화 설정 (0: 비활성화, 1: 활성화)
MySQL의 General Log
MySQL의 General Log는 MySQL 서버의 모든 쿼리와 이벤트를 로그로 남기는 기능입니다. 이 기능은 MySQL 서버의 성능을 분석하거나, 문제를 해결할 때 유용하게 사용할 수 있습니다.
General Log의 구성
General Log는 MySQL 서버의 모든 쿼리와 이벤트를 로그로 남기기 때문에, 로그의 크기가 커질 수 있습니다. 로그의 크기를 줄이기 위해, General Log는 다음과 같은 구성으로 나누어집니다.
- Query Log : MySQL 서버에서 실행된 모든 쿼리를 로그로 남깁니다.
- Update Log : MySQL 서버에서 데이터를 업데이트 한 모든 쿼리를 로그로 남깁니다.
- Slow Log : MySQL 서버에서 실행된 쿼리의 실행 시간이 10초 이상인 쿼리를 로그로 남깁니다.
General Log를 활성화하는 방법
General Log를 활성화하려면, MySQL 서버의 `my.cnf` 파일에 다음과 같은 옵션을 추가합니다.
#hostingforum.kr
bash
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/query.log
이 옵션을 추가한 후, MySQL 서버를 재시작하면 General Log가 활성화됩니다.
General Log의 예제
MySQL 서버에서 다음과 같은 쿼리를 실행하면, General Log에 다음과 같은 로그가 남습니다.
#hostingforum.kr
sql
mysql> CREATE TABLE test (id INT PRIMARY KEY, name VARCHAR(255));
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO test (id, name) VALUES (1, 'John');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM test;
+----+-------+
| id | name |
+----+-------+
| 1 | John |
+----+-------+
1 row in set (0.00 sec)
General Log의 로그는 다음과 같습니다.
#hostingforum.kr
bash
2023-02-18 14:30:00 1402345312 Query CREATE TABLE test (id INT PRIMARY KEY, name VARCHAR(255))
2023-02-18 14:30:00 1402345312 Query INSERT INTO test (id, name) VALUES (1, 'John')
2023-02-18 14:30:00 1402345312 Query SELECT * FROM test
General Log를 비활성화하는 방법
General Log를 비활성화하려면, MySQL 서버의 `my.cnf` 파일에 다음과 같은 옵션을 추가합니다.
#hostingforum.kr
bash
[mysqld]
general_log = 0
이 옵션을 추가한 후, MySQL 서버를 재시작하면 General Log가 비활성화됩니다.
결론
MySQL의 General Log는 MySQL 서버의 모든 쿼리와 이벤트를 로그로 남기는 기능입니다. 이 기능은 MySQL 서버의 성능을 분석하거나, 문제를 해결할 때 유용하게 사용할 수 있습니다. General Log를 활성화하고 비활성화하는 방법을 이해하고, 로그의 크기를 줄이기 위해 Query Log, Update Log, Slow Log를 구성하는 방법을 알아두면, MySQL 서버를 더 효과적으로 관리할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.