使用mysql 种的 mysqlbinlog来恢复数据,常用的步骤和语句
1、找到日志文件,mysql/data目录下的ib_logfile0等日志文件(日志文件可能不同的系统有不同的名字)
2、mysqlbinlog 命令进行筛选:
在linux下操作
1、进入到mysql-bin文件所在的目录
cd /www/server/data
会发现有
mysql-bin.000010
mysql-bin.000011
mysql-bin.000012
等格式的文件
然后
筛选日期的数据
../mysql/bin/mysqlbinlog /www/server/data/mysql-bin.000010 --set-charset=utf-8 | grep "2024-02-29" > updated_data.sql
筛选 操作语句 如:
mysqlbinlog /path/to/ib_logfile0.000001 | grep "2024-02-29" | grep "INSERT" > inserted_data.sql
mysqlbinlog /path/to/ib_logfile0.000001 | grep "2024-02-29" | grep "UPDATE" > updated_data.sql
筛选数据库的创建语句
mysqlbinlog /path/to/ib_logfile0.000001 | grep "CREATE DATABASE" > created_databases.sql
筛选指定数据表的操作语句
mysqlbinlog /ib_logfile0.000001 | grep "INSERT INTO mytest" > mytest_inserted_data.sql
筛选命令
mysqlbinlog /binlog.00
使用mysqlbinlog恢复MySQL数据

当MySQL数据库未备份且数据被删除时,可以利用mysqlbinlog工具进行数据恢复。首先,定位到mysql的日志文件,如ib_logfile0。然后,通过筛选特定日期、操作类型(如INSERT、UPDATE)或数据库、表名来提取所需SQL语句。例如,使用grep和sed命令过滤并添加分号。最后,将筛选出的SQL语句导入到数据库中以恢复数据。注意,可能需要根据时间、数据库和表名进行精细化筛选。
最低0.47元/天 解锁文章
825

被折叠的 条评论
为什么被折叠?



