mysql查看数据库操作记录

MySQL的查询日志记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行。默认文件名为hostname.log。默认情况下MySQL查询日志是关闭的。生产环境,如果开启MySQL查询日志,对性能还是有蛮大的影响的。另外很多时候,MySQL慢查询日志基本可以定位那些出现性能问题的SQL,所以MySQL查询日志应用的场景其实不多,有点鸡肋的感觉,它跟SQL Server中的profiler有点类似,但是这个不能跟踪某个会话、用户、客户端。它只能对整个数据库进行跟踪。
window 环境下
  • 找到my.ini,在下面添加:

    log=存放日志的路径/my.log
  • 保存文件,重启mysql服务,之后就可以在对应目录的下找到my.log文件。
linux环境下
  • MySQL中的参数general_log用来控制开启、关闭MySQL查询日志,参数general_log_file用来控制查询日志的位置。所以如果你要判断MySQL数据库是否开启了查询日志,可以使用下面命令。general_log为ON表示开启查询日志,OFF表示关闭查询日志。
  1. mysql> show variables like '%general_log%';
  2. +------------------+------------------------------+
  3. | Variable_name | Value |
  4. +------------------+------------------------------+
  5. | general_log | OFF |
  6. | general_log_file | /var/lib/mysql/DB-Server.log |
  7. +------------------+------------------------------+
  8. 2 rows in set (0.00 sec)
  9. mysql>
  • 另外,MySQL的查询日志支持写入文件或写入数据表两种形式,这个由参数log_output控制,如下所示:
  1. mysql> show variables like 'log_output';
  2. +---------------+-------+
  3. | Variable_name | Value |
  4. +---------------+-------+
  5. | log_output | FILE |
  6. +---------------+-------+
  7. 1 row in set (0.00 sec)
  8. mysql>
  • 1、开启MySQL查询日志
  1. mysql> set global general_log = on;
  2. Query OK, 0 rows affected (0.11 sec)
  3. mysql> show variables like 'general_log';
  4. +---------------+-------+
  5. | Variable_name | Value |
  6. +---------------+-------+
  7. | general_log | ON |
  8. +---------------+-------+
  9. 1 row in set (0.02 sec)
  10. mysql>
  • 2:关闭MySQL查询日志
  1. mysql> show variables like 'general_log';
  2. +---------------+-------+
  3. | Variable_name | Value |
  4. +---------------+-------+
  5. | general_log | ON |
  6. +---------------+-------+
  7. 1 row in set (0.01 sec)
  8. mysql> set global general_log=off;
  9. Query OK, 0 rows affected (0.01 sec)
  10. mysql> show variables like 'general_log';
  11. +---------------+-------+
  12. | Variable_name | Value |
  13. +---------------+-------+
  14. | general_log | OFF |
  15. +---------------+-------+
  16. 1 row in set (0.00 sec)
  17. mysql>
  • 3:设置日志输出方式为表(如果设置log_output=table的话,则日志结果会记录到名为gengera_log的表中,这表的默认引擎是CSV):
  1. mysql> show variables like 'log_output';
  2. +---------------+-------+
  3. | Variable_name | Value |
  4. +---------------+-------+
  5. | log_output | FILE |
  6. +---------------+-------+
  7. 1 row in set (0.00 sec)
  8. mysql> set global log_output='table';
  9. Query OK, 0 rows affected (0.00 sec)
  10. mysql> show variables like 'log_output';
  11. +---------------+-------+
  12. | Variable_name | Value |
  13. +---------------+-------+
  14. | log_output | TABLE |
  15. +---------------+-------+
  16. 1 row in set (0.01 sec)
  17. mysql>
  • 4.查看查询日志信息。
  1. mysql> select * from mysql.general_log;
  2. +---------------------+---------------------------+-----------+-----------+--------------+----------------------------------+
  3. | event_time | user_host | thread_id | server_id | command_type | argument |
  4. +---------------------+---------------------------+-----------+-----------+--------------+----------------------------------+
  5. | 2017-07-06 12:32:05 | root[root] @ localhost [] | 1 | 1 | Query | show variables like 'general%' |
  6. | 2017-07-06 12:32:28 | root[root] @ localhost [] | 1 | 1 | Query | show variables like 'log_output' |
  7. | 2017-07-06 12:32:41 | root[root] @ localhost [] | 1 | 1 | Query | select * from MyDB.test |
  8. | 2017-07-06 12:34:36 | [root] @ localhost [] | 3 | 1 | Connect | root@localhost on |
  9. | 2017-07-06 12:34:36 | root[root] @ localhost [] | 3 | 1 | Query | KILL QUERY 1 |
  10. | 2017-07-06 12:34:36 | root[root] @ localhost [] | 3 | 1 | Quit | |
  11. | 2017-07-06 12:34:51 | root[root] @ localhost [] | 1 | 1 | Query | select * from mysql.general_log |
  12. +---------------------+---------------------------+-----------+-----------+--------------+----------------------------------+
  13. 7 rows in set (0.02 sec)
  14. mysql>

参考:https://www.cnblogs.com/kerrycode/p/7130403.html

mysql--->mysql查看数据库操作记录的更多相关文章

  1. Node.js 连接 MySQL 并进行数据库操作

    Node.js 连接 MySQL 并进行数据库操作  按照这篇操作mysql的指引,我远程操作了我另一台电脑的mysql数据库. var mysql = require('mysql'); var c ...

  2. MySQL之查看数据库编码

    MySQL之查看数据库编码

  3. MySQL学习——查看数据库信息

    MySQL学习——查看数据库信息 摘要:本文主要学习了查看数据库信息的方法. 查询指定表的索引 语法 show index from 表名; 示例 mysql> show index from ...

  4. MySQL日常应用和操作记录

    整理MySQL日常操作. 1.知道一个字段名,怎样查到它在数据库里的哪张表里? USE Information_schema;SELECT TABLE_NAME FROM COLUMNS WHERE ...

  5. Hapi+MySql项目实战数据库操作(四)

    数据库访问 下面以Node的ORM框架Sequelize来操作数据库,Mysql为例. 配置数据库连接信息config/db_config.js: //db_config.js module.expo ...

  6. mysql如何查看数据库的存放位置

    使用如下命令: mysql> show global variables like "%datadir%";法一: 数据库文件存放在这个位置, C:\ProgramData\ ...

  7. 记录数据库操作记录的DDL触发器

    我们在项目中经常会对数据做一些操作,比如增加一个字段,修改一个存储过程,删除表等等操作,很有必要记录这些操作,以便以后出了问题,方便找到元凶.接下来介绍一个DDL触发器在实际环境中的使用,这个DDL触 ...

  8. git reflog查看所有操作记录

    git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录 具体一个例子, ...

  9. mysql数据库操作记录持续更新...

    1.查看删除数据库表的唯一约束 SHOW INDEX FROM tbl_name (唯一约束也是索引) ALTER TABLE tbl_name DROP INDEX index_name   2.u ...

随机推荐

  1. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明(转)

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  2. JMeter FTP测试计划

    为了演示测试目的,我们将使用公共可用的FTP位置,可以使用它来测试文件的下载. 您可以使用市场上现有的任何可用的演示FTP位置.我们使用URL下的FTP位置: https://dlptest.com/ ...

  3. 什么是 DQN

    粉红色:不会. 黄色:重点. 1.为什么要使用神经网络 我们使用表格来存储每一个状态 state, 和在这个 state 每个行为 action 所拥有的 Q 值. 而当今问题是在太复杂, 状态可以多 ...

  4. java基础 -- 关键字static的用法

    static关键字的基本作用就是方便在没有创建对象的情况下调用类的方法/变量, static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static ...

  5. CentOs7.X下配置FTP

    https://blog.csdn.net/cc_want/article/details/85337241 CentOS7.x自带firewall防火墙,FTP使用需要开启20 21 22 3000 ...

  6. 洛谷p1119--灾难后重建(Floyd不仅仅是板子)

    问题描述 询问次数  5 000 00,   顶点数  200 怎么办? dijkstra?对不起,超时了/. 时间限制是1秒,询问5 000 00 ,每次dijsktra要跑n*n*logm 次,稳 ...

  7. iOS定位权限请求时易犯的错误小结

    起因 用户群反馈app可能请求了不合适的定位权限:始终定位. 看到这个截图,根据经验判断可能是后台定位功能导致可能不得不请求始终定位权限.再加上之前提交审核时,苹果要求在plist文件中新增NSLoc ...

  8. 从零开始のcocos2dx生活(一)内存管理

    cocos中所有的对象都是继承自Ref基类,Ref的职责就是对对象进行引用计数管理 内存管理中最重要的是三个方法retain().release().autorelease() 在cocos中创建对象 ...

  9. 高德API对接

    <?php class GaoDeAPI { private $key = '123456789'; # 你应用key /** * 地址转经纬度 */ public function getTr ...

  10. axios封装的拦截器的应用

    axios拦截器   页面发送http请求,很多情况我们要对请求和其响应进行特定的处理:如果请求数非常多,单独对每一个请求进行处理会变得非常麻烦,程序的优雅性也会大打折扣.好在强大的axios为开发者 ...