欢迎访问广西陌上网络科技有限责任公司官网 · 专注企业数字化管理软件定制开发 客服热线:黄生 15678982250

mysql恢复误删的表数据,误修改的数据

更新时间:2024-08-29 浏览:4051 标签:mysql 恢复 binlog 

恢复条件mysql启用了binlog

1、查看是否启用binlog

登录mysql

mysql -u root -p

在mysql命令行下

mysql> SHOW VARIABLES LIKE '%log_bin%';

其中log_bin项目为on已开启。

2、如果为开启

找到my.cnf(window是win.ini)

find / -name my.cnf

在文件里加入

log_bin=binlog

binlog_format=ROW

保存退出。

3、查看binlog啥情况
 mysqlbinlog --start-datetime='2024-8-29 3:04' mysqlbinlog.000002 > r.sql
截止时间
 mysqlbinlog --stop-datetime='2024-8-29 3:04' mysqlbinlog.000002 > r.sql

4、恢复

mysqlbinlog --start-datetime="2024-08-29 3:54:00" --stop-datetime="2024-8-29 3:55:00" /var/lib/mysql/mysqlbinlog.000002 | mysql -uroot -p 【你的数据库名】;

4.1按区间恢复

查看r.sql里,有at xxx,的数字位置,是区间数字,具体到某个操作的恢复。

mysqlbinlog --no-defaults /var/lib/mysql/mysql_bin.000002 --start-position=232 --stop-position=2220 | mysql -h127.0.0.1 -P3306 -uroot -p123456


整套搞下来,感觉还是挺可怕的,都是数据覆盖。恢复前要习惯性备份个当前版本的数据库或者当前表。

数据库设计的时候在界面层操作都是逻辑删除的好。