千家信息网

Linux下怎么查看mysql数据库操作记录

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,小编给大家分享一下Linux下怎么查看mysql数据库操作记录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux下查
千家信息网最后更新 2025年01月19日Linux下怎么查看mysql数据库操作记录

小编给大家分享一下Linux下怎么查看mysql数据库操作记录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


Linux下查看mysql数据库操作记录具体方法

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查询日志

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查询日志

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数据库操作记录"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0