1.找到mysqlbinlog
mysql -uroot -p
mysql> show variables like ‘%log_bin%’;
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/eac4d99e0b18448fae2cff951f3d0e3b.png#pic_center恢复数据,首先要找到数据在哪里被删除了。mysqlbinlog --set-charset=utf8 mysql-bin.000001 > tmp.sql
可以把tmp.sql 传到本地用nodepad打开查找表创建的节点和删表的节点(文件太大可以直接在linux啥用less命令查看)
可以看到 最早的创建表节点为 23853766
删表节点为49531967
所以在binlog目录下执行
mysqlbinlog -v mysql-bin.000001 --start-position=23853766 --stop-position=49531967| mysql -uroot -p
发现有报错 ERROR 1062 ,ERROR 1105
那我们设置mysql跳过错误;
vi /etc/my.cnf
在下面新增配置
slave_skip_errors=all
保存重启mysql
重启命令 service mysql restart
重启后执行之前的恢复命令
mysqlbinlog -v mysql-bin.000001 --start-position=23853766 --stop-position=49531967| mysql -uroot -p
这次没有报错,查看数据 恢复成功
成功后记得把之前设置的跳过错误配置删除,并重启mysql