公司服务器断电,导致数据库崩了,刚刚好这几天因为服务器密码改了,数据库自动备份也失效了,找了运维说木有办法,数据只能丢失了,只能自己想办法处理了,因为数据库有备份,可以找到表结构,只需要恢复数据即可 在这里记录一下,以备不时之需
mysql使用data下的ibd文件恢复数据
操作方式: 进入 数据库/data/库名称(比如 mysql/data/sys)
- 新建库还原数据结构(通过备份文件,没有备份文件的话,我也没管)
- 执行 alter table 表名称 discard tablespace; 解绑ibd文件跟frm文件的关系
- 关闭MySQL服务,会自动删除ibd文件
- 将以前的idb文件复制到新库目录
- 重启MySQL服务
- 依次执行alter table 表名称 import tablespace; 绑定ibd文件跟frm文件的关系
这时候通过navicat查看数据表,你会发现数据已经成功恢复
数据库定时备份异常问题
问题原因可能是:修改服务器用户名密码导致的
问题处理方法:
打开本地安全策略-->用户权限分配-->作为批处理作业登录,增加当前用户
打开navicat,在 计划-->设置计划任务,将用户名和密码修改为正确的
打开计划任务管理,查看是否增加该定时任务,可以启用查看是否成功