使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)
前提
MySQL开启了binlog日志
操作
1. 查看MySQL是否开启binlog(进mysql操作)
mysql> show variables like 'log_bin%';
2. 查询binlog文件名
mysql>show master status(进mysql操作)
3. 查mysqlbinlog工具的位置(mysql自带,用来查看二进制日志)(系统目录查看,不进mysql)
(MySQL二进制文件直接打开是看不懂的,需要用这个自带的查看工具查看)
[root@iZ25f7emo7cZ /]# find / -name mysqlbinlog
4. 查找mysql-bin.000007文件位置(系统目录查看)
find / mysql-bin.000007
5. 将mysql日志内容输入某个文件中.(-v显示sql语句)
先进入mysqlbinlog操作目录下,进入上面所述第三步文件目录
将目标文件拷贝出来用sublime,editplus等工具,搜索相关的sql即可
[root@iZ25f7emo7cZ bin]# ./mysqlbinlog ./usr/local/mysql/data/mysql-bin.000007 -v /a.txt
或者
[root@iZ25f7emo7cZ bin]# ./mysqlbinlog ./usr/local/mysql/data/mysql-bin.000007 -v --result-file=/usr/local/a.txt
--------------------------------------------------------------------------END-------------------------------------------------------------------------------
文末附上几个可能用得上的查询日志的条件命令示例
1、查询时间段内日志的执行内容
mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' -d test /var/lib/mysql/mysql-bin.000170 -v
2、查询时间段内日志中执行的删除语句
mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' -d test /var/lib/mysql/mysql-bin.000170 -v|grep DELETE -A 5
3、统计时间段内日志中执行的删除语句
mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' -d test /var/lib/mysql/mysql-bin.000170 -v|grep DELETE |wc -l
相关文章
- mysql聚合函数和分组
- MySQL数据库查找多个字段值全部相同的记录
- Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
- flask使用pymysql连接MySQL,生成xls文件并下载到本地
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
- 【转载】MySQL复制的概述、安装、故障、技巧、工具
- mysql分区
- [转]分析MySQL数据类型的长度【mysql数据字段 中length和decimals的作用!熟悉mysql必看】
- Mysql:Error Code 1235,This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
- 【问题解决方案】MySQL安装后无法启动-net start mysql服务名无效
- linux mysql 卸载,安装,测试全过程
- Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)
- mysql事务 mysql事务回滚 MySQL事务死锁 如何解除死锁 资金出入账
- MYSQL导入数据报错|MYSQL导入超大文件报错|MYSQL导入大数据库报错:2006 - MySQL server has gone away
- Centos7以上的版本 mysql 无法启动,无法停止问题
- java访问mysql方法数据库
- mysql select into outfile默认文件保存路径是C:ProgramDataMySQLMySQL Server 8.0Data
- MySQL查看bin-log日志
- MySQL远程连接报错2003-cant connection to mysql server on ‘IP’(10061 unknown error)
- MySQL — 利用命令:获取系统当前时间、打开系统服务、Mysql命令界面快速回到之前的语句
- 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一)