案例:客户数据库,某关键配置表被修改,需查找操作记录及和操作时间
1:mysqlbinlog读取
如果binlog format=statement 可以直接通过mysqlbinlog查看
如果binlog format=row 需要添加 -vv --base64-output=decode-rows
/usr/local/mysql/bin/mysqlbinlog --no-defaults -vv --base64-output=decode-rows /usr/local/mysql/data/mysql-bin.000067 -d sakila --start-datetime='2018-07-04 16:30:00' --stop-datetime='2018-07-04 16:40:00' -s -r dsw20180704
/usr/local/mysql/bin/mysqlbinlog --no-defaults -vv --base64-output=decode-rows /home/mysql/data/db_ngcrmpf/blog/mysql-bin.000007 -d huahua --start-datetime='2018-09-10 17:00:00' --stop-datetime='2018-09-10 19:12:00' -r dsw0007
备注:-s 将把一些信息删除掉,建议去掉
2:show binlog
show binlog events in 'mysql-bin.000067';
特殊说明:
有时,我们想追踪某个数据库操作记录,如想找出是谁操作了某个表(比如谁将字段名改了)。
二进制日志记录了操作记录,线程号等信息,但是却没有记录用户信息,因此需要结合init-connect来实现追踪。
init-connect,在每次连接的初始化阶段,记录下这个连接的用户,和connection_id信息。
操作步骤
1、cp binlog
2、mysqlbinlog
3、cat dsw.1006|grep interface
get新技巧
查找当前目录极其子目录下面包含匹配字符的文件,查找子目录,匹配后输出行号,这里的点表示当前目录
grep -nr oracle .
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31454056/viewspace-2213971/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31454056/viewspace-2213971/