MySQL 8.0数据库被之前备份文件覆盖 误操作恢复 MySQL数据库恢复 MySQL数据库事务日志恢复
发布时间:2023-07-01
客户在生产环境导入了2023-03-03的全量备份文件 MySQL误操作数据修复 MySQL数据库修复 MySQL数据库事务日志恢复
客户名称: 某律师事务所
数据类型: MySQL 8.0.23 on CentOS 7
数据库大小: 900 MB
故障检测: 误操作导入了2023-03-03的数据库全量备份文件,覆盖了当前生产数据库yl_user的所有表的数据。客户MySQL实例开启了log_bin。
系统参数binlog_expire_logs_seconds默认值为2592000,MySQL会自动清理30天之前的binlog文件。
最早的binlog日志文件binlog.000094中只包含自230523 16:23:40以来的所有事务日志记录。
幸运的是,客户还有在2023-05-31使用Navicat备份的数据库全量备份文件。
使用Navicat恢复2023-05-31的全量备份文件,恢复数据库yl_user从2023-05-31 14:00:12以来的所有增量日志数据。
mysqlbinlog --no-defaults --skip-gtids --start-datetime='2023-05-31 14:00:12' -d yl_user binlog.000094 > bin.sql
1)表结构不一致时,mysqlbinlog解析出来的事务日志导入mysql报错:
ERROR 1105 (HY000) at line 481577: Unknown error
错误日志文件中显示:
[ERROR] [MY-013146] [Repl] Slave SQL: Column 30 of table 'yl_user.sys_case_management' cannot be converted from
type 'int' to type 'bigint', Error_code: MY-013146
解决方法:
alter table yl_user.sys_case_management modify `entrust_id` int DEFAULT NULL;
2)存在重复数据时,mysqlbinlog解析出来的事务日志导入mysql报错:
ERROR 1062 (23000) at line 12747256: Duplicate entry '29' for key 'sys_service.PRIMARY'
错误日志文件中显示:
[ERROR] [MY-010584] [Repl] Slave SQL: Could not execute Write_rows event on table yl_user.sys_case_management;
Duplicate entry '1664168235940970496' for key 'sys_case_management.PRIMARY', Error_code: 1062;
handler error HA_ERR_FOUND_DUPP_KEY; the event's master log FIRST, end_log_pos 247390894,
Error_code: MY-001062
重复数据处理:
delete from sys_service where id = 29;
修复结果: 数据恢复率达99% 客户非常满意。将恢复出来的所有表数据导入客户生产环境使用没有任何问题。
在此提醒大家重要的数据库操作之前务必备份数据库。
-----------------------------------------------------------------------------------------------------------
提供7*24专业SQL Server数据库修复,MySQL数据库修复,Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,Oracle数据库修复,PostgreSQL数据库恢复。
电话:13811580958(微信),QQ:289965371
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices. Contact us by
Phone: +86 13811580958
Wechat: 13811580958
Email: 289965371@qq.com
扫描雨翰数据恢复官方微信获取专业数据库恢复服务