mysql开启日志、查看历史语句

mysql查看历史执行的sql

查看mysql的语句,比较常用的大概是show processlist 命令了,但是这个对于查询时间比较长的语句比较有意义,对于一下子就能执行的语句真心拼不过手速啊.

于是就只能从mysql的历史记录里面着手了.为了实现这个目的,我们需要修改/etc/my.cnf文件.

在my.cnf中的[mysqld](其他地方可能无效)下插入log=/etc/tmp/mysql.log(日志的地址可以自己定义,不过不要在home里面,否则可能显示不出来,主要要有写的权限).然后要重启数据库,用service mysqld restart命令就可以了.这个log会将所有的执行语句记录下来,所以在数据库很忙的时候,这个日志可能变得很大,不宜查看.

用tail -f /etc/tmp/mysql.log 命令可以持续观察执行语句,也可以将该文件下载下来慢慢看.

=========================================

另外还有一个慢查询历史记录,也在my.cnf文件里,配置语句为

?1234 log-slow-queries=/var/lib/mysql/slowquery.log long_query_time=5 log-queries-not-using-indexes

其中log-slow-queries是慢查询历史记录的地址,long_query_time限定超过X秒才能加入到历史记录里面,log-queries-not-using-indexes限定没有使用索引的查询语句.

这个日志由于记录语句不多,所以可以长期开启.

原文地址:https://www.cnblogs.com/timxgb/p/9986411.html

时间: 2024-10-04 11:14:27

mysql开启日志、查看历史语句的相关文章

mysql开启日志sql语句

wamp开启: #查看日期情况 #show variables like '%general%'; #开启日志 #SET GLOBAL general_log = 'On'; #指定日志文件 #SET GLOBAL general_log_file = 'E:/my.log';

mysql开启日志跟踪

1 开启日志跟踪 SET global general_log = ON; 开启之后可以查看系统参数是否已经修改成功 SHOW VARIABLES LIKE 'general_log%'; 2 跟踪日志保存位置 跟踪日志可以有两种方式保存(1) 保存到文件默认情况下是保存到文件,如果不是,则可以执行以下sql语句进行修改 SET GLOBAL log_output ='file'; 执行以下命令 SHOW VARIABLES LIKE 'general_log%'; 返回结果中general_l

[MySQL] 通过Profiles查看create语句的执行时间消耗

一,查看profiles的状态值   1,查看profiles是否已经打开了,默认是不打开的.   mysql> show profiles;   Empty set (0.02 sec) mysql> show variables like '%pro%';+---------------------------+-------+| Variable_name             | Value |+---------------------------+-------+| have_p

用PHP提取MYSQL二进制日志的SQL语句

上一篇说道,在从日志提取出SQL语句的时候,碰到了一句SQL跨了N行无法提取.后来在网上搜了两句shell: sed -n '/^INSERT /,/;/p' log.sql > log_insert.sql sed -n '/^UPDATE /,/;/p' log.sql > log_update.sql 后经实践发现,这两句shell也是有缺陷的.这个问题是必须解决的,今天就趁这机会用php实现了跨行SQL的提取.注释已经很明了了,只需要注意变量$action为提取的SQL语句头,如DEL

mysql 开启日志

mysql 打开 general log 后,所有的查询语句都会记录在 general log文件 Windows my.ini 找到[mysqld],在最后添加 general_log = 1 general_log_file = "mysql_query.log" Linux show global variables like '%general%'; set global general_log = on; // 打开 set global general_log = off;

Linux系统 mysql开启日志文件

1. 打开mysql配置文件 sudo vi /etc/mysql/mysql.conf.d/mysql.cnf 关闭这两行的注释 2.重新启动mysql服务 sudo service mysql restart 3.查看mysql日志文件 less /var/log/mysql/mysql.log tail -F /var/log/mysql/mysql.log 原文地址:https://www.cnblogs.com/hanwenlin/p/11629344.html

MySQL 解密 --> 如何查看二进制日志ROW模式下最原始的SQL语句

MySQL的binlog的ROW模式解析          在mysql5.6以后,对主从数据一致性要求变高了,statement格式逐渐不太适合业务的需求了,所以生产环境大家都采用了row模式,row模式是传输最底层的数据变化的insert的模块来进行主从数据的传输,那么在binlog里面就和普通的statement模式有何差别?能否看到最原始的sql语句呢? 1.准备录入数据 mysql> create table test1(id int,c1 varchar(20),type int,a

mysql日志开启和查看

mysql日志开启和查看. 找到mysql根目录下的my.ini文件,打开在下面插入 log-bin=mysql-bin binlog_format=mixed 然后重启mysql. 在dos端登录mysql. mysql> show varables like "log_%"; 查看日志开启情况. logbin后面的NO,就是开启成功了. mysql> show master status; 查看当前日志文件. 查看日志文件.需要退出mysql服务器,在mysql安装目录

MySQL 开启慢查询日志

1.1 简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 1.2 登录数据库查看 [[email protected] lib]# mysql –uroot 因为没有设置设置密码,有密码的在 mysql –uroot –p 接密码 1.2.1 进入MySql 查询是否开了慢查询 mysql> show variables like 'slow_query%'; +---------------------+-------