MYSQL如何查看操作日志详解

MySQL是一种常用的数据库管理系统,而操作日志则是MySQL数据库中一个非常重要的部分,它可以记录MySQL数据库中的所有操作,包括增删改查等等。在MySQL数据库中,我们可以通过以下步骤来查看操作日志:

步骤一:配置MySQL操作日志

MySQL的操作日志有两种类型:二进制日志与慢查询日志。为了方便日后检索,我们通常会开启这两种日志。我们可以按照以下步骤来进行配置:

1. 二进制日志

在MySQL的配置文件my.cnf中,可以找到以下内容:

log-bin=mysql-bin 

它表示开启MySQL的二进制日志。我们可以修改为:

log-bin=mysql-bin 
expire_logs_days=7 
max_binlog_size=100M

其中,expire_logs_days=7表示MySQL的二进制日志会在7天后过期;max_binlog_size=100M表示单个二进制日志的最大大小为100MB。修改完后,我们需要重启MySQL服务使配置生效。

2. 慢查询日志

如果想要记录慢查询日志,我们可以在MySQL的配置文件my.cnf中添加以下内容:

slow_query_log = ON 
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2 

其中,slow_query_log表示开启慢查询日志;slow_query_log_file表示慢查询日志文件的存储路径;long_query_time表示查询时间超过2秒的查询会被记录到慢查询日志中。

步骤二:查看MySQL操作日志

一旦配置好MySQL的日志,我们就可以根据需要查看操作日志了。以下是两个示例:

1. 查看二进制日志

我们可以通过MySQL自带的命令行工具mysqlbinlog来查看二进制日志。以下是一个示例:

mysqlbinlog /var/lib/mysql/mysql-bin.000001

其中,/var/lib/mysql/mysql-bin.000001为二进制日志文件的路径。执行命令后,我们可以看到该二进制日志中所有的操作记录。类似如下:

#160519 10:55:56 server id 1 end_log_pos 1079 CRC32 0x50e33089    Query   thread_id=68    exec_time=0 error_code=0
SET TIMESTAMP=1463664956/*!*/;
insert into test(id,name) values(1,'Alice');
#160519 11:12:18 server id 1 end_log_pos 1190 CRC32 0x42db563f    Query   thread_id=68    exec_time=0 error_code=0
SET TIMESTAMP=1463665938/*!*/;
delete from test where id=1;

2. 查看慢查询日志

我们可以直接读取慢查询日志文件来查看其中的SQL语句。以下是一个示例:

cat /var/log/mysql/mysql-slow.log

执行命令后,我们可以看到慢查询日志文件中所有的操作记录。类似如下:

# Time: 2018-08-14T16:33:41.159777Z
# User@Host: root[root] @ localhost []  Id:    74
# Query_time: 3.220546  Lock_time: 0.000043 Rows_sent: 0  Rows_examined: 1219320
SET timestamp=1534264421;
SELECT COUNT(*) FROM orders WHERE status=1 AND uid=1;

# Time: 2018-08-14T16:25:12.300129Z
# User@Host: root[root] @ localhost []  Id:    74
# Query_time: 2.397928  Lock_time: 0.000043 Rows_sent: 0  Rows_examined: 1219320
SET timestamp=1534263912;
SELECT COUNT(*) FROM orders WHERE status=1 AND uid=1;

通过查看慢查询日志,我们可以发现哪些查询执行的比较慢,以便我们进行优化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MYSQL如何查看操作日志详解 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • SQL语句中的DDL类型的数据库定义语言操作

    DDL是数据库定义语言(Data Definition Language)的缩写,用于定义、修改和删除数据库的结构。在SQL语句中,DDL类型的语句主要包括三种操作:创建数据表、修改数据表、删除数据表。 1. 创建数据表 创建数据表需要使用CREATE TABLE语句,语法格式如下: CREATE TABLE 表名 ( 列名1 数据类型1, 列名2 数据类型…

    database 2023年5月18日
    00
  • MySQL DATE_ADD和ADDDATE函数实现向日期添加指定时间间隔

    MySQL DATE_ADD和ADDDATE函数可以帮助我们在指定日期上添加时间间隔,这样我们可以很方便地进行日期计算。下面我会详细介绍这两个函数的使用方法及示例。 DATE_ADD函数 DATE_ADD函数可以用于在指定日期上添加时间间隔。它的基本语法如下: DATE_ADD(date, INTERVAL expr unit) 其中,date是一个日期或日…

    database 2023年5月22日
    00
  • 架构与思维论设计容量的重要性

    架构与思维论设计容量的重要性 什么是架构? 在软件开发领域,架构是指整个系统的结构设计,包括各个模块之间的关系、模块的职责、数据的流向以及各个模块的接口设计等。在实际开发过程中,好的架构设计可以提高系统的可维护性、可扩展性、可测试性以及安全性等方面的特性,同时也能够降低软件开发成本和维护成本。 为什么要考虑容量? 在实际开发中,有时候我们需要考虑容量问题,也…

    database 2023年5月19日
    00
  • IBM DB2 和 MongoDB的区别

    下面我将详细讲解IBM DB2和MongoDB的区别,并提供实例说明。 1. 数据库类型和数据模型 IBM DB2 IBM DB2属于关系型数据库,采用SQL语言,数据模型为表格模型。 MongoDB MongoDB属于文档型数据库,采用NoSQL语言,数据模型为文档模型。 2. 数据处理能力 IBM DB2 IBM DB2对数据的处理能力比较强大,具有高性…

    database 2023年3月27日
    00
  • Linux系统下以RPM方式如何安装mysql-5.7.9

    安装MySQL-5.7.9版本可以使用RPM包安装方式,这种方式简单快速,具有容易安装和卸载的优点。以下为完整攻略: 1. 下载RPM包 在MySQL官网(https://dev.mysql.com/downloads/mysql/5.7.html#downloads)上下载适合你Linux系统的MySQL-5.7.9的RPM包,例如: wget https…

    database 2023年5月22日
    00
  • MySQL中查询日志与慢查询日志的基本学习教程

    针对MySQL中查询日志以及慢查询日志的基本学习教程,我们可以提供如下的完整攻略。 什么是MySQL中的查询日志和慢查询日志? 查询日志和慢查询日志都是MySQL数据库提供的监控工具,可以帮助我们了解和优化数据库的性能。具体来说,查询日志记录了MySQL服务器所接收到的所有查询语句,这些查询语句的结果包括成功、失败等信息都会保存在一个文件中,方便管理员进行系…

    database 2023年5月22日
    00
  • SpringBoot中Mybatis + Druid 数据访问的详细过程

    下面是SpringBoot中Mybatis + Druid数据访问的详细步骤: 1. 添加依赖 在pom.xml文件中引入Mybatis和Druid的依赖,如下: <dependencies> <!– Mybatis依赖 –> <dependency> <groupId>org.mybatis.spring…

    database 2023年5月21日
    00
  • Linux Docker安装wordpress的方法详解教程

    下面就为大家详细讲解安装 WordPress 的方法。 安装 Docker 首先需要在 Linux 系统中安装 Docker。Docker 是一款开源、轻量化的容器软件,在 Linux 系统中安装 Docker 既可以提高服务器的资源利用率,又可以管理和部署不同的应用程序。 Docker 在不同的 Linux 系统中的安装方式可能稍有不同,下面以 Ubunt…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部