一、按照行数批量恢复
- 查找删除的sql行数
/www/server/mysql/bin/mysqlbinlog --no-defaults /www/server/data/mysql-bin.000004 |cat -n | grep -iw 'DROP TABLE `wechat_fans`' -3
- 查看行数所对应的位置
/www/server/mysql/bin/mysqlbinlog --no-defaults /www/server/data/mysql-bin.000004 | cat -n |sed -n '40847,40857p'
- 根据位置恢复
# at 123934981
/www/server/mysql/bin/mysqlbinlog --no-defaults --stop-position='123934981' /www/server/data/mysql-bin.000004 |mysql -uroot -proot -f
二、按照时间范围查找恢复
- 按照时间区间生成对应的sql
##win
.\mysqlbinlog --no-defaults --start-datetime="2023-06-14 15:50:00" --stop-datetime="2023-06-14 16:01:16" mysql-bin.000004 > redata3.sql
## linux
/www/server/mysql/bin/mysqlbinlog --no-defaults --start-datetime="2023-06-14 15:50:00" --stop-datetime="2023-06-14 16:01:16" mysql-bin.000004 > redata3.sql
- 导入生成的sql到数据库
/www/server/mysql/bin/mysql -uroot -proot -f < redata3.sql
网友评论