mysql的通用查询日志

来源:互联网 发布:pdf软件官方中文版 编辑:程序博客网 时间:2024/04/30 08:24

通用查询日志用来记录用户的所有操作,包括启动和关闭MySQL服务、更新语句、查询语句等。

 

默认情况下,通用查询日志功能是关闭的,除非有特殊的要求时,比如对数据库进行监视时才需要打开。

 

log参数现在已经过时,新的参数为:

general_log=0/1

gereral_log_file=directory/file_name

 

下面的实验部分:

 

mysql> show variables like 'general%'
    -> ;
+------------------+-----------------------------------+
| Variable_name    | Value                             |
+------------------+-----------------------------------+
| general_log      | OFF                               |
| general_log_file | /usr/local/mysql/data/rhel131.log |
+------------------+-----------------------------------+
2 rows in set (0.00 sec)

 

默认是关闭的,下面打开看看记录的内容:

mysql> set global general_log=1;
Query OK, 0 rows affected (0.03 sec)

mysql> show variables like 'general%'
    -> ;
+------------------+-----------------------------------+
| Variable_name    | Value                             |
+------------------+-----------------------------------+
| general_log      | ON                                |
| general_log_file | /usr/local/mysql/data/rhel131.log |
+------------------+-----------------------------------+
2 rows in set (0.00 sec)

做几个查询:

mysql> select database();
+------------+
| database() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 sec)

mysql> use test;
Database changed
mysql>  select database();
+------------+
| database() |
+------------+
| test       |
+------------+
1 row in set (0.00 sec)

mysql> quit;
Bye
[root@rhel131 tmp]# tail -f /usr/local/mysql/data/rhel131.log
131022  4:30:21     8 Query     show variables like 'general%'
131022  4:31:09     8 Query     SELECT DATABASE()
131022  4:31:20     8 Query     SELECT DATABASE()
131022  4:31:43     8 Query     select database()
131022  4:32:00     8 Query     SELECT DATABASE()
                    8 Init DB   test
                    8 Query     show databases
                    8 Query     show tables
131022  4:32:04     8 Query     select database()
131022  4:32:34     8 Quit

可以看出这个日志会将所有对数据库的操作都记录下来,可以相像如果这个数据库用的人非常多的话,日志量会增长的非常快。

如何来清空这个文件?

1.如果有必要的话先将日志文件进行备份。

2.通过mysqladmin flush-logs来重置日志文件。

 

[root@rhel131 data]# mysqladmin flush-logs

 

 


 

原创粉丝点击