二进制日志(BINLOG)记录了所有的ddl和dml语句,但不包括数据查询语句。语句以“事件”的形式保存,描述数据更改过程。
环境:win8 mysql5.6.23
1.mysql开启二进制日志
默认情况下不开启二进制日志,开启时需要修改my.ini配置文件
我的my.ini文件是在C:\ProgramData\MySQL\MySQL Server 5.6 ,
而不是在C:\Program Files (x86)\MySQL\MySQL Server 5.6需要在my.ini文件mysqld选项下添加以下语句
bog-bin = "D:\mysqllog\binlog.log"
等号后面的是二进制日志文件保存的路径,若路径中有空格,则需要加双引号“”把路径包起来。binlog.log是生成二进制日志的名字
若不能修改内容则修改文件属性,使当前用户可编辑
若只给出了文件名(binlog.log),没有给出路径则文件路径,
则保存在datadir指定的路径,我的默认路径是C:\ProgramData\Mysql\Mysql Server 5.6\data
有三种二进制日志格式STATEMENT ROW MIXED,默认为MIXED。
一般不修改,若要修改,同样在my.ini mysqld选项中添加: "binlog_format= "(引号不要,等号后面加你想要的格式)
修改后,重启mysql服务。我在命令行中用services mysql restart命令重启服务后并二进制日志没有开启成功,重启电脑后才配置成功。
2.日志读取
mysqlbinlog log-file
log-file是名字,在每次对数据库中的数据修改后都会生成日志文件,名称格式为“log-file.0000n” (文件名称+日志序号),去二进制日志文件生成路径下看以下便知道
执行这个命令的时候需要进入二进制日志路径下使用msyqlbinlog命令,否则报错