admin 管理员组文章数量: 887007
查看binlog状态
首先在mysql或其他工具执行以下命令,查看binlog功能是否开启
show variables like '%bin%'
如果未开启
log_bin = OFF
log_bin_basename 为空
log_bin_index 为空
开启后如下图所示
开启方法
1.找到mysql配置中的my.ini文件
打开文件或修改时请尽量避免修改文件的编码格式,否则可能会无法运行
2.在mysqld下添加以下参数
log_bin=mysql-bin
binlog-format=ROW
3.重启服务
可以看到路径下多了两个文件
C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-bin
执行新增、修改、删除操作。
4.查看binlog
执行该命令
show binlog events;
红色部分:执行了两次插入操作和一次删除操作
绿色部分:分别为库名和表名及插入行操作
蓝色部分:删除行操作
5.将binlog转换为log
binlog打开后是一个乱码的文件,我们可以通过mysqlbinlog.exe的命令转换为可读的文件
首先需要切换到存放mysqlbinlog.exe应用程序的目录bin后,执行以下命令
mysqlbinlog.exe --base64-output=decode-rows -v "C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-bin.000001" >mysqlbin.log
红色部分:源文件的全路径
绿色部分:转换后的文件名称及后缀名
6.查看log
可以看到执行过的语句,但是并不是可以直接恢复数据的语句。
7.将binlog中的命令截取并转换成可执行的sql文件
通过该命令查询到所需要恢复的事件起止的位置
show binlog EVENTS in 'mysql-bin.000001'
需要恢复的数据的操作是从591-898
首先需要切换到存放mysqlbinlog.exe应用程序的目录bin后,执行以下命令
指定binlog日志位置并指定数据库和需要恢复操作的起始位置,并转换为test.sql 文件
mysqlbinlog C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql-bin.000001 -d paysdkmanagement --skip-gtids --start-position=591 --stop-position=898>test.sql
红色部分:binlog的全路径
黄色部分:数据库名称
绿色部分:需要恢复操作的起始位置
灰色部分:生成的sql文件
test.sql文件
8.恢复数据
通过cmd直接登录mysql
切换至对应数据库
use paysdkmanagement ;
恢复数据
source C:\Program Files\MySQL\MySQL Server 5.7\bin\test.sql
查询数据
未完!
版权声明:本文标题:Mysql-Windows下开启binlog及查看 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1733402084h1585990.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论