千家信息网

mysql误删除处理方法

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,查看二进制日志功能是否打开:show variables like '%bin%';如果log-bin显示off就是没打开,没打开的话就在/etc/my.cnf中的[mysqld]下添加log-bin
千家信息网最后更新 2024年12月13日mysql误删除处理方法

查看二进制日志功能是否打开:show variables like '%bin%';如果log-bin显示off就是没打开,没打开的话就在/etc/my.cnf中的[mysqld]下添加log-bin=mysql-bin(其中mysql-bin是日志文件开头名称,可以自定义)

mysql误删数据文件

第一种方法:这种方式需要二进制文件内容很全,如果二进制文件里面没有建表语句,drop的那个表你也就无法恢复

查看正在使用的是哪个二进制文件:show master status;看到是mysql-bin.000002

备份:mysqlbinlog mysql-bin.000002 > test1.sql

修改掉敏感数据:例如drop database xx

恢复:mysql < test1.sql


第二种方法:

第一步,查看当前正在使用的二进制日志文件的名字是什么:show master status;

查看当前一共有多少二进制日志文件以及他们的大小: show master logs;

第二:看日志文件的命令,主要看日志文件里有什么sql语句,找出时间点进行下面的恢复操作:/usr/local/mysql/bin/mysqlbinlog mysql-bin.000091 | less

两种从二进制日志文件恢复方式:一个是按照时间:/usr/local/mysql/bin/mysqlbinlog --start-datetime '2017-02-14 0:12:59' --stop-datetime '2017-02-14 0:13:31' mysql-bin.000091 | mysql -uroot -proot 时间要看的准

上图中的create table c2的开始时间是2017-02-14 0:12:59 ,停止时间是: 2017-02-14 0:13:31

第二个 上图的at xxx,xxx是大小,看大小:/usr/local/mysql/bin/mysqlbinlog --start-position=361 --stop-position=574 mysql-bin.000091 | mysql -uroot -proot


0