MySQL의 General_log 매개변수는 MySQL 쿼리 로그의 열기 및 닫기를 제어하는 데 사용되며, General_log_file 매개변수는 쿼리 위치를 제어하는 데 사용됩니다. 통나무. MySQL 데이터베이스에 쿼리 로깅이 활성화되어 있는지 확인하려면 다음 명령을 사용할 수 있습니다. General_log를 ON으로 설정하면 쿼리 로그가 켜지고, OFF로 설정하면 쿼리 로그가 꺼집니다.
mysql> show variables like '%general_log%'; +------------------+------------------------------+ | Variable_name | Value | +------------------+------------------------------+ | general_log | OFF | | general_log_file | /var/lib/mysql/DB-Server.log | +------------------+------------------------------+ 2 rows in set (0.00 sec)
또한 MySQL의 쿼리 로그는 파일 쓰기 또는 데이터 테이블 쓰기를 지원합니다. 이는 아래와 같이 log_output 매개변수로 제어됩니다.
mysql> show variables like 'log_output'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | FILE | +---------------+-------+ 1 row in set (0.00 sec)
mysql> set global general_log = on; Query OK, 0 rows affected (0.11 sec) mysql> show variables like 'general_log'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | general_log | ON | +---------------+-------+ 1 row in set (0.02 sec)
mysql> show variables like 'general_log'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | general_log | ON | +---------------+-------+ 1 row in set (0.01 sec) mysql> set global general_log=off; Query OK, 0 rows affected (0.01 sec) mysql> show variables like 'general_log'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | general_log | OFF | +---------------+-------+ 1 row in set (0.00 sec)
log_output=table로 설정하면 로그 결과가 gengera_log라는 테이블에 기록됩니다. 이 테이블의 기본 엔진은 CSV입니다.
mysql> show variables like 'log_output'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | FILE | +---------------+-------+ 1 row in set (0.00 sec) mysql> set global log_output='table'; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'log_output'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | TABLE | +---------------+-------+ 1 row in set (0.01 sec)
mysql> select * from mysql.general_log; +---------------------+---------------------------+-----------+-----------+--------------+----------------------------------+ | event_time | user_host | thread_id | server_id | command_type | argument | +---------------------+---------------------------+-----------+-----------+--------------+----------------------------------+ | 2017-07-06 12:32:05 | root[root] @ localhost [] | 1 | 1 | Query | show variables like 'general%' | | 2017-07-06 12:32:28 | root[root] @ localhost [] | 1 | 1 | Query | show variables like 'log_output' | | 2017-07-06 12:32:41 | root[root] @ localhost [] | 1 | 1 | Query | select * from MyDB.test | | 2017-07-06 12:34:36 | [root] @ localhost [] | 3 | 1 | Connect | root@localhost on | | 2017-07-06 12:34:36 | root[root] @ localhost [] | 3 | 1 | Query | KILL QUERY 1 | | 2017-07-06 12:34:36 | root[root] @ localhost [] | 3 | 1 | Quit | | | 2017-07-06 12:34:51 | root[root] @ localhost [] | 1 | 1 | Query | select * from mysql.general_log | +---------------------+---------------------------+-----------+-----------+--------------+----------------------------------+ 7 rows in set (0.02 sec)
위 내용은 Linux에서 mysql 데이터베이스 작업 기록을 보는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!