`
bugyun
  • 浏览: 551336 次
社区版块
存档分类
最新评论

mysql查看数据库操作记录【转】

 
阅读更多

 

转自:https://www.cnblogs.com/frankltf/p/8723944.html

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

 

 

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表示关闭查询日志。
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> 
  • 另外,MySQL的查询日志支持写入文件或写入数据表两种形式,这个由参数log_output控制,如下所示:
mysql> show variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |
+---------------+-------+
1 row in set (0.00 sec)
 
mysql> 
  • 1、开启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>
  • 2:关闭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)
 
mysql> 
  • 3:设置日志输出方式为表(如果设置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>
  • 4.查看查询日志信息。
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)
 
mysql> 
分享到:
评论

相关推荐

    MYSQL数据库修复程序

    `navicat8lite_mysql_cs.exe` 文件是Navicat Lite版本的一个安装程序,特别针对MySQL数据库,并且可能包含了简体中文界面,便于中文用户操作。 在MySQL数据库中,表是存储数据的基本单元,它们可能由于多种原因而...

    ACCESS数据库转换MYSQL数据库的软件

    <br> DB2MYSQL能够实现可视化操作数据库,转换界面非常简单明了,可轻松实现ACCESS数据库转换为MYSQL数据库。如果想要将SQL SERVER的数据库转换到MYSQL,也可以使用这个软件,具体操作是先使用SQL SERVER的...

    mysql数据库实验报告 数据表的操作

    本实验旨在深入理解MySQL数据库的基本操作,包括数据库的创建、查看、删除和使用,以及表结构的设计与管理。通过实际操作,我们将掌握如何创建和修改表结构,设置表约束,以及处理表数据的插入、删除和修改。此外,...

    mysql数据库转换成SQLserver工具包

    MySQL到SQL Server转换工具包是针对数据库管理员和开发人员的一款实用工具,它的主要功能是将MySQL数据库结构和数据无缝地迁移到SQL Server环境中。这样的转换对于那些需要在不同数据库系统间进行迁移或整合项目的...

    db转mysql数据库转换

    在IT行业中,数据库管理系统(DBMS)的选择往往...以上就是关于"db转mysql数据库转换"的一些关键知识点,实际操作中需根据具体工具和数据库情况进行适当调整。在进行任何数据库迁移时,谨慎和详尽的规划是至关重要的。

    MySQL数据库操作MFC封装类

    MySQL数据库操作MFC封装类是面向C++开发者的一种实用工具,它将MySQL数据库接口与Microsoft Foundation Classes (MFC)库相结合,提供了更便捷的数据库访问方式。MFC是微软为Windows应用程序开发提供的一套类库,它...

    MySQL数据库命令大全

    #### 四、数据库操作 **显示数据库列表** 使用`show databases;`可以查看当前系统中所有的数据库。 **显示数据表** 在选定了特定数据库后,如`use mysql;`,可以通过`show tables;`查看该数据库下的所有数据表。...

    MySQL数据库MySQL数据库.ppt

    【MySQL数据库基础操作】 MySQL的基础操作涵盖创建数据库、创建表、插入数据、查询数据、更新数据、删除数据以及管理用户权限等方面。例如,`CREATE DATABASE`用于创建新的数据库,`CREATE TABLE`定义表结构,`...

    操作mysql数据库的常用命令总结

    以下是一些关于操作MySQL数据库的常用命令的详细说明: 1. **连接MySQL**:使用`mysql -u 用户名 -p`命令可以连接到MySQL服务器,其中`-u`指定用户名,`-p`会提示输入密码。例如,连接名为root的用户,命令是`mysql...

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    MySQL数据库应用实验训练3 数据增删改操作 MySQL数据库应用实验训练3 数据增删改操作是国家开放大学提供的实验训练,旨在让学生熟悉 MySQL 数据库的基本操作,包括数据的增删改操作。实验中,学生将学习使用 Insert...

    MySQL数据库应用形考实验1-4全答案.zip

    在这个"MySQL数据库应用形考实验1-4全答案.zip"压缩包中,包含了四个关于MySQL基础操作的实验训练,涵盖了从数据库和表的创建,到数据的查询、增删改,以及数据库系统的维护等关键知识点。以下是对这些实验的详细...

    Mysql数据库管理工具

    "Mysql数据库管理工具"就是一个这样的解决方案,它专为简化MySQL数据库操作而设计,并且特别强调了对中文的支持,使得中国用户在使用过程中能够更加顺畅。 Navicat是众多MySQL管理工具中的一款知名软件,提供的版本...

    自定义格式读取mysql数据库记录 用于批量处理mysql数据库

    自定义格式读取MySQL数据库记录可以帮助您更好地理解和分析MySQL数据库中的数据。这可以为您的批量处理带来更多的灵活性和可操作性。当您在读取记录时,您可以根据自己的需求对记录进行排序、过滤和组合。这使您能够...

    数据库MySQL《数据库应用》期末大作业

    - **防止直接操作数据库**:通过系统接口进行数据操作,避免用户直接接触数据库。 - **密码加密**:对用户密码进行加密存储,增加安全性。 - **角色与权限**:设定不同级别的用户权限,控制对数据的访问和操作。 ...

    易语言连接mysql数据库来实现读取写入修改实例

    在本实例中,我们将探讨如何使用易语言连接MySQL数据库,进行数据的读取、写入和修改操作。 首先,连接MySQL数据库是所有操作的基础。易语言提供了“数据库”类库,其中包含了一系列与数据库交互的命令。我们需要...

    MySQL创建数据库和数据库表.doc

    #### 一、MySQL数据库管理基础 在开始之前,我们需要了解MySQL中的一些基本概念和操作。MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它支持SQL(Structured Query Language)语言,用于处理各种数据...

    C#操作mysql数据库

    在实际开发中,为了提高代码的可维护性和安全性,通常会将数据库操作封装到一个DAL(数据访问层)或者ORM(对象关系映射)框架中,如Entity Framework,以减少SQL注入等风险。 总结来说,C#与MySQL的结合提供了强大...

Global site tag (gtag.js) - Google Analytics