라이브러리

[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 서버를 더 효과적으로 관리할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색