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

网友投稿 805 2023-07-03

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)登录后复制

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何使用SQL来创建数据库-平凯星辰
下一篇:mysql右外连接查询怎么用
相关文章