登录
首页 >  数据库 >  MySQL

MYSQL如何查看操作日志详解

来源:脚本之家

时间:2022-12-30 16:04:38 247浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习数据库相关编程知识。下面本篇文章就来带大家聊聊《MYSQL如何查看操作日志详解》,介绍一下日志、MySQL操作,希望对大家的知识积累有所帮助,助力实战开发!

一、文件记录数据库操作日志

进入mysql查询界面,输入指令:

SHOW VARIABLES LIKE 'gen%';

可以看到general_log的状态是开启还是关闭,以及所属账号的general_log文件存放的目录。

如果general_log未开启,则先开启,执行命令:

SET GLOBAL general_log=ON;

然后可以到对应的general_log目录下去看执行日志。

二、数据库表记录操作日志

首先执行命令:

SHOW VARIABLES LIKE 'log_output';

默认是FILE的方式,执行命令,修改成TABLE方式:

SET GLOBAL log_output='TABLE';

然后可以通过命令查询操作日志:

SELECT * FROM mysql.general_log;

使用数据库表记录操作日志会增加数据的压力,因此建议使用文件记录操作日志:

SET GLOBAL log_output='FILE';
TRUNCATE TABLE mysql.log_output;

附:按时间段查看mysql的操作日志

1、登录mysql安装的那台机器,找到my.cnf.我的my.cnf文件在etc地下,所有执行 cat /etc/my.cnf ,看到如图所示的binlogs存放位置

2、进入日志所在目录 cd /home/mysql/logs/binlogs, 输入ls -al 查看需要查看的binlogs产生的时间。

3、如果需要查询2017-09-17 07:21:09到2017-09-19 07:59:50 数据库为geeRunner 的操作日志,输入如下命令将数据写入到一个备用的txt即可。

mysqlbinlog --no-defaults --database=geeRunner --start-datetime="2017-09-17 07:21:09" --stop-datetime="2017-09-19 07:59:50" binlogs.000080 > sanjiaomao.txt

4、如果本地查询,输入命令

 mysqlbinlog --no-defaults --database=geeRunner --start-datetime="2017-09-17 07:21:09" --stop-datetime="2017-09-19 07:59:50" binlogs.000080 | more

5、如果取下来查询,使用winscp工具,登录到db所在机器,将数据取出来。

6、如果需要过滤,只查询insert,update,delete的语句,可以这样写:

mysqlbinlog --no-defaults --database=raceEnroll  binlogs.000078 |grep update |more

总结

今天关于《MYSQL如何查看操作日志详解》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于mysql的内容请关注golang学习网公众号!

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表