1. 程式人生 > >log_output參數是指定日誌的存儲方式

log_output參數是指定日誌的存儲方式

file comm mine bash sig 系統資源 date light 解決

log_output=‘FILE‘表示將日誌存入文件,默認值是‘FILE‘ log_output=‘TABLE‘表示將日誌存入數據庫,這樣日誌信息就會被寫入到mysql.slow_log表中.

mysql數據庫支持同時兩種日誌存儲方式,配置的時候以逗號隔開即可,如:log_output=‘FILE,TABLE‘.日誌記錄到系統專用日誌表中,要比記錄到文件耗費更多的系統資源,因此對於需要啟用慢查日誌,又需要比夠獲得更高的系統性能,那麽建議優先記錄到文件.

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

但設置:log_output=‘TABLE‘時,在線查詢的時候,報錯!!!

後來通過下面的設置問題解決:

mysql> show variables like ‘%log_output%‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 row in set (0.00 sec)

mysql> set global log_output=‘FILE‘;
Query OK, 0 rows affected (0.00 sec)

mysql> select @@global.log_output;
+---------------------+
| @@global.log_output |
+---------------------+
| FILE                |
+---------------------+
1 row in set (0.00 sec)

mysql> set @@global.slow_query_log = ON;
Query OK, 0 rows affected (0.00 sec)

mysql> set @@global.log_output=‘TABLE‘;
Query OK, 0 rows affected (0.00 sec)

mysql> show create table mysql.slow_log;
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| slow_log | CREATE TABLE `slow_log` (
  `start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `user_host` mediumtext NOT NULL,
  `query_time` time NOT NULL,
  `lock_time` time NOT NULL,
  `rows_sent` int(11) NOT NULL,
  `rows_examined` int(11) NOT NULL,
  `db` varchar(512) NOT NULL,
  `last_insert_id` int(11) NOT NULL,
  `insert_id` int(11) NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT=‘Slow log‘ |
+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from  mysql.slow_log limit 4\G;
*************************** 1. row ***************************
    start_time: 2017-05-06 14:13:48
     user_host: zabbix[zabbix] @ localhost []
    query_time: 00:00:00
     lock_time: 00:00:00
     rows_sent: 1
 rows_examined: 1
            db: zabbix
last_insert_id: 0
     insert_id: 0
     server_id: 1
      sql_text: SELECT dv.mandatory,dv.optional FROM dbversion dv
*************************** 2. row ***************************
    start_time: 2017-05-06 14:13:48
     user_host: zabbix[zabbix] @ localhost []
    query_time: 00:00:00
     lock_time: 00:00:00
     rows_sent: 1
 rows_examined: 1
            db: zabbix
last_insert_id: 0
     insert_id: 0
     server_id: 1
      sql_text: SELECT dv.mandatory,dv.optional FROM dbversion dv
*************************** 3. row ***************************
    start_time: 2017-05-06 14:13:48
     user_host: zabbix[zabbix] @ localhost []
    query_time: 00:00:00
     lock_time: 00:00:00
     rows_sent: 1
 rows_examined: 1
            db: zabbix
last_insert_id: 0
     insert_id: 0
     server_id: 1
      sql_text: SELECT dv.mandatory,dv.optional FROM dbversion dv
*************************** 4. row ***************************
    start_time: 2017-05-06 14:13:48
     user_host: zabbix[zabbix] @ localhost []
    query_time: 00:00:00
     lock_time: 00:00:00
     rows_sent: 1
 rows_examined: 1
            db: zabbix
last_insert_id: 0
     insert_id: 0
     server_id: 1
      sql_text: SELECT dv.mandatory,dv.optional FROM dbversion dv
4 rows in set (0.00 sec)

ERROR: 
No query specified

mysql> select @@global.slow_query_log;
+-------------------------+
| @@global.slow_query_log |
+-------------------------+
|                       1 |
+-------------------------+
1 row in set (0.00 sec)

log_output參數是指定日誌的存儲方式