[セットトップ]MySQLでgeneral logを使用

3771 ワード

General logをオンにすると、MySQL Serverに到達したすべてのSQL文が記録されます.ロゴの量が膨大になるので、一般的には機能をオンにしません.しかし、場合によっては一時的にgeneral logを開いてバリアのために使用する可能性があります.関連パラメータは全部で3:general_log、log_output、general_log_file
general_log:グローバル動的変数、デフォルトでlog_を閉じるoutput:グローバルダイナミック変数、FILE、TABLE、NONEを取得できます.ここでTABLEの格納方式は条件による検索が比較的容易である.NONEとして指定すると、general_ロゴがオンになってもログは記録されません.log_outputがTABLEとして指定されている場合、mysqlデータベースの下にgeneral_が作成されます.logテーブル.このパラメータはgeneralの記憶方式だけでなくslowの記憶方式にも影響することに注意が必要である.general_log_file:グローバルダイナミック変数、ログファイル名、指定しないとデフォルトはhostnameです.log、データディレクトリの下にあります.
mysql> show variables like 'general_log'; +---------------+-------+
| Variable_name | Value | +---------------+-------+
| general_log | OFF | +---------------+-------+
1 row in set (0.15 sec)

mysql> show variables like 'log_output'; +---------------+-------+
| Variable_name | Value | +---------------+-------+
| log_output | FILE | +---------------+-------+
1 row in set (0.15 sec)

mysql> show variables like 'general_log_file'; +------------------+----------------------+
| Variable_name | Value | +------------------+----------------------+
| general_log_file | /data/mysql/t1-2.log | +------------------+----------------------+
1 row in set (0.11 sec)


mysql> set global log_output='table'; Query OK, 0 rows affected (0.03 sec) mysql> show variables like 'log_output'; +---------------+-------+
| Variable_name | Value | +---------------+-------+
| log_output | TABLE | +---------------+-------+
1 row in set (0.11 sec)
mysql> use mysql;
mysql> show create table general_log\G
*************************** 1. row ***************************
       Table: general_log
Create Table: CREATE TABLE `general_log` (
  `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_host` mediumtext NOT NULL,
  `thread_id` bigint(21) unsigned NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `command_type` varchar(64) NOT NULL,
  `argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'

エンジンはCSVを使用しており、MySQLはテーブルのデータをデータディレクトリに対応するデータベースディレクトリの下に格納ファイル名が拡張子であることを示す.CSVのファイルにあります.テーブルのエンジンは、必要に応じて変更できます.