因为有的时候会出现,突然哪个字段或者表格之类被删除,我们要了解到底什么内容,什么时候,是谁删的,那我们就可以从binlog日志中查找到你需要的内容1.binlogbinlog就是二进制日志,它记录了数据库上的所有改变,并以二进制的形式保存在磁盘中;它可以用来查看数据库的变更历史、数据库增量备份和恢复、MySQL的复制(主从数据库的复制)。因为每一条被修改数据的sql都会记录在binlog中。2.查看与配置binlog格式(1)查看binlog_formatmysql>showvariableslike'binlog_format';+---------------+-------+|Variable_name|Value|+---------------+-------+|binlog_format|ROW|+---------------+-------+1rowinset(0.01sec)binlog格式binlog有三种格式:Statement、Row以及Mixed。–基于SQL语句的复制(statement-basedreplication,SBR),–基于行的复制(row-basedreplication,RBR),–混合模式复制(mixed-basedreplication,MBR)。所以日志格式可以修改如:mysql>setgloblebinlog_format='MIXED';3.binlog开启与查看、删除看看binlog有没有开启mysql>showvariableslike'log_bin';+---------------+-------+|Variable_name|Value|+---------------+-------+|log_bin|ON|+---------------+-------+1rowinset(0.01sec)4.查看binlog文件列表mysql>showbinarylogs;+-----------------------+------------+|Log_name|File_size|+-----------------------+------------+|mysql-bin-db02.000001|98131952||mysql-bin-db02.000002|4954||mysql-bin-db02.000003|248051834||mysql-bin-db02.000004|22305210||mysql-bin-db02.000005|177||mysql-bin-db02.000006|913||mysql-bin-db02.000007|1075503915||mysql-bin-db02.000008|101154053|+-----------------------+------------+8rowsinset(0.00sec)5.查看当前正在写入的binlog文件mysql>showmasterlogs;+-----------------------+------------+|Log_name|File_size|+-----------------------+------------+|mysql-bin-db02.000001|98131952||mysql-bin-db02.000002|4954||mysql-bin-db02.000003|248051834||mysql-bin-db02.000004|22305210||mysql-bin-db02.000005|177||mysql-bin-db02.000006|913||mysql-bin-db02.000007|1075503915||mysql-bin-db02.000008|101481837|+-----------------------+------------+8rowsinset(0.00sec)说明都在用6.只查看第一个binlog文件的内容mysql>showbinlogevents7.查看指定binlog文件的内容mysql>showbinlogeventsin'mysql-bin.000002';8.查看当前正在写入的binlog文件mysql>showmasterstatus\G9.获取binlog文件列表mysql>showbinarylogs;10.用mysqlbinlog工具查看注意:不要查看当前正在写入的binlog文件不要加--force参数强制访问如果binlog格式是行模式的,请加-vv参数为了不影响正在使用的数据库,我就在另外一台架设的数据库上查看基于开始/结束时间mysqlbinlog--start-datetime='2017-05-1000:00:00'--stop-datetime='2017-09-1001:01:01'-d库名二进制文件#注:因为我的mysqlbinlog就是ROW格式的,所以需要添加-vv参数mysqlbinlog--start-datetime='2016-12-2009:27:54'--stop-datetime='2016-12-2009:30:40'-vvMySQL-binlog.000001>/root/1.log--制定库名的,-ddb1基于pos值mysqlbinlog--start-postion=107--stop-position=1000-d库名二进制文件12.远程查看指定开始/结束时间,并把结果重定向到本地t.binlog文件中mysqlbinlog-uusername-ppassword-h172.16.22.7-P3306\--read-from-remote-server--start-datetime='2017-05-1023:00:00'--stop-datetime='2017-09-1023:30:00'mysql-bin.000001>t.binlog根据t.binlog里面的内容便可查看是有什么语句操作了什么,是谁操作的。