日志类型
普通日志(general_log):执行的sql语句
慢查询日志(slow_log): 记录超过“慢查询时间”的语句
二进制日志(bin_log):记录所有更改数据的语句,可用于数据拷贝。
错误日志(error_log):启动、停止、运行过程中的报错信息
中继日志(relay_log):主从复制的日志
1、查看当前日志输入类型(默认输出到file文件)
mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output | FILE |
+---------------+-------+
1 row in set (0.00 sec)
2、修改输入类型,可同时输入到 file 和 table 中,也可单独使用;
(注意:同时输出到文件和表中性能会有所退化)
mysql> set global log_output='FILE,TABLE';
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'log_output';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| log_output | FILE,TABLE |
+---------------+------------+
1 row in set (0.01 sec)
3、查看普通日志输出文件地址
/*
* 查看普通日志是否开启和输出位置;
*/
mysql> show variables like 'general%';
+------------------+------------------------------------------+
| Variable_name | Value |
+------------------+------------------------------------------+
| general_log | OFF |
| general_log_file | /usr/local/mysql/data/VM-12-7-centos.log |
+------------------+------------------------------------------+
2 rows in set (0.00 sec)
/*
* 开启日志输出;
*/
mysql> set global general_log = 'ON';
Query OK, 0 rows affected (0.00 sec)
/*
* 由于已经提前创建好mysql.log文件导致,删除即可;
*/
mysql> set global general_log_file='usr/local/mysql/log/mysql.log';
ERROR 1231 (42000): Variable 'general_log_file' can't be set to the value of 'usr/local/mysql/log/mysql.log'
/*
* 修改输出文件路径;
*/
mysql> set global general_log_file='/usr/local/mysql/log/mysql.log';
Query OK, 0 rows affected (0.00 sec)
/*
* 修改完成
*/
mysql> show variables like 'general_%';
+------------------+--------------------------------+
| Variable_name | Value |
+------------------+--------------------------------+
| general_log | ON |
| general_log_file | /usr/local/mysql/log/mysql.log |
+------------------+--------------------------------+
2 rows in set (0.00 sec)
4、切换表输出日志
SELECT * from mysql.general_log ORDER BY event_time ASC;
5、日志输出时间不正确
/*
* 查看系统时间参数
*/
mysql> select @@log_timestamps
-> ;
+------------------+
| @@log_timestamps |
+------------------+
| UTC |
+------------------+
1 row in set (0.00 sec)
/*
* 修改系统时间参数
*/
mysql> set global log_timestamps=system;
Query OK, 0 rows affected (0.00 sec)
/*
* 设置成功
*/
mysql> select @@log_timestamps;
+------------------+
| @@log_timestamps |
+------------------+
| SYSTEM |
+------------------+
1 row in set (0.00 sec)