赞
踩
通常对这类操作有两种类型:
在执行了误操作以后,立马停止其他操作,进行binlog还原
首先是确定binlog的格式,binlog有三种格式
show variables like '%log_bin%';
show variables like '%binlog_format%';
show binary logs
show master status;
mysqlbinlog --no-defaults -vv --base64-output=decode-rows binlog.000001
通常数据量较大,将内容传入文本文件中
mysqlbinlog --no-defaults -vv --base64-output=decode-rows binlog.000001 >aaa.txt
如果在文件中确定了数据范围,就可以使用如下语句进行提取,找到节点执行的开始和终止节点,或者使用时间节点生成sql文件,(生成语句不能使用--base-output=decode-rows参数,否则生成的sql文件执行会报错,如果在windows下查看的时候乱码,将windows系统的编码改成和mysql一致即可,一般都是utf-8)
可以通过下面命令生成sql文件,此处生成的文件名称为aaa,路径在D盘下,也可以更改文件生成的位置
mysqlbinlog --no-defaults -vv --start-datetime="2023-05-27 12:02:10" --stop-datetime="2023-05-27 12:02:10" binlog.000084 >D:/aaa.sql
执行此命令即可生成sql文件
mysqlbinlog --no-defaults -vv --start-position=2483 --stop-position=2824 binlog.000084>D:/aaa.sql
mysql -uroot -p
mysql> use project
mysql> source D:/aaa.sql
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。