1.打开navicat查看删除时间
2.查看日志功能是否打开
show variables like '%log_bin%';
3. 查看日志文件所在目录
show variables like '%datadir%';
4.用这个路径去找日志文件,名字里带bin,最后修改时间和你第一步找到删除时间一样(如果之后有过其它增删改,那么时间可能会更后面一点,找删除时间以后的)
5.找到mysql的安装位置
show variables like "%basedir%";
6.打开cmd,cd到mysql安装目录下一层bin目录
7.导出日志文件,cmd也进入bin目录后,执行命令
mysqlbinlog --no-defaults --base64-output=decode-rows -v --database=newcrm --start-datetime="2024-11-15 10:35:58" --stop-datetime="2024-11-15 10:36:00" C:\ProgramData\MySQL\PC-202209150958-bin.000055 > mysqllog.sql
database=数据库名
start-datetime=第一步找到的删除时间
stop-datetime=删除过程结束时间,你看删除时间大概用了多久,你就开始时间加一点
后面的日志文件路径不是用用sql找出来的那个路径是因为完整路径不能带空格,不然执行会有问题,所以我复制到了一个没有空格的目录下
mysqllog.sql 是导出日志的名称
8.去mysql安装目录bin下面就能找到导出的日志文件
9.找到被删除的数据,写一个转化为inset语句的新sql文件导入即可
写一个脚本就可以了,就是字符串截取和拼接