一般都可以通过以下命令将二进制格式的binlog转换为方便查看的文本输出。下面会详细讲解各个参数的作用。
mysqlbinlog --no-defaults --base64-output=DECODE-ROWS -vv binlog.000130
目录
MySQL的二进制日志由包含“ 事件 ”(event)的文件组成,这些 事件描述了对数据库内容的修改。服务器以二进制格式写入这些文件。要以文本格式显示其内容,请使用 mysqlbinlog实用程序。你还可以使用 mysqlbinlog显示复制设置中从属服务器写入的中继日志文件的内容,因为中继日志的格式与二进制日志相同
statement格式记录的二进制日志
mysqlbinlog mysql-bin.000021
在binlog的格式为statement时,使用上面的命令查看二进制文件,会显示出SQL语句,其他输出的详细说明如下。
截取输出中的一段进行说明
at 652 表示该时间的起始位置 或者 该时间 event在为禁止文件中的偏移量
200508 21:55:22 该日期和时间指示该语句在事件执行(发生)的服务器上何时启动。为了进行复制,此时间戳会传递到从属服务器。
server id 101 事件执行(发生)的服务器的值。
end_log_pos 652 指示下一个事件的开始位置(即,当前事件的结束位置+ 1)
Query 事件类型
thread_id=3