MySQL 8.0误update数据后使用mysqlbinlog解析出来的语句将生产库内所有表删除并重建
发布时间:2023-07-08
客户在生产环境误更新了一张表的数据,尝试使用binlog恢复误更新数据的时候误将所有表删除并重建。 MySQL误操作数据修复 MySQL数据库修复 MySQL数据库事务日志恢复
客户名称: 保密
数据类型: MySQL 8.0.33 on Windows
数据库大小: 1 GB
故障检测: 客户执行update语句未加where条件误更新了一张表的一个字段的所有内容,客户MySQL实例开启了log_bin。客户尝试使用mysqlbinlog解析binlog事务日志内容获取回滚语句,但是误操作将生产数据库内所有表删除并重建了。
使用老备份及不全的binlog恢复。
执行mysqlbinlog解析出来的语句时报错:
[ERROR] [MY-013146] [Repl] Replica SQL: Column 17 of table 'supervisor.b_witness_data' cannot be converted from type 'blob' to type 'varchar(300(bytes) utf8mb3)', Error_code: MY-013146
修改表结构:alter table supervisor.b_witness_data modify `witness_res` text DEFAULT NULL COMMENT '见证结论';
[ERROR] [MY-010584] [Repl] Replica SQL: Could not execute Update_rows event on table supervisor.sys_user; Can't find record in 'sys_user', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's source log FIRST, end_log_pos 48491639, Error_code: MY-001032
找不到行数据导致update执行失败,使用脚本将UPDATE语句内容替换为REPLACE INTO。
修复结果: 数据恢复率达90% 客户非常满意。将恢复出来的所有表数据导入客户生产环境使用没有任何问题。
在此提醒大家重要的数据库操作之前务必备份数据库。
-----------------------------------------------------------------------------------------------------------
提供7*24专业SQL Server数据库修复,MySQL数据库修复,Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,Oracle数据库修复,PostgreSQL数据库恢复。
电话:19391880109(微信),QQ:548953365
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 19391880109
Wechat: 19391880109
Email: 548953365@qq.com
扫描雨翰数据恢复官方微信获取专业数据库恢复服务