show variables like 'log_%';
SHOW VARIABLES LIKE '%datadir%';
show binary logs; #获取binlog文件列表 show master status; #查看当前正在写入的binlog文件
#把bin.00032日志转成temp.sql(时间是2024-09-11 8:54:40,2024-09-11 12:59:10范围内的) mysqlbinlog --no-defaults -d test --start-datetime='2024-09-11 8:54:40' --stop-datetime='2024-09-11 12:59:10' bin.000032 >temp.sql #恢复sql source temp.sql; #指定位置(远程登录日志并且恢复指定日志的数据) mysqlbinlog --start-position=312 --stop-position=647 --base64-output=decode-rows -vv bin.000032 >temp.sql
mysqlbinlog --no-defaults -vv --base64-output=decode-rows D:\data.000501 > D:\temp.sql
#查找包含表名同时包含DELETE得行,并获取前面一行-B1,后面n+2,n为表得字段个数-A27(比如我sys_test表有25个字段那么就是n+2就是A27) grep sys_test 1.sql -B1 -A27|grep INSERT -B1 -A27 >2.sql
#linux环境 cat temp.sql | sed -n '/###/p' | sed 's/### //g;s/\/\*.*/,/g;s/DELETE FROM/;INSERT INTO/g;s/WHERE/SELECT/g;' |sed -r 's/(@17.*),/\1;/g' | sed 's/@1=//g'| sed 's/@[1-9]=/,/g' | sed 's/@[1-9][0-9]=/,/g' > mysqllogOK.sql
上一篇
下一篇