软件:SQLyog - 64 bit
产生原因:
前几天下载SQLyog后发现使用Navicat没办法连接我的数据库,navicat连接mysql时出现1045错误,为了解决这个错误把有些数据删除了,导致无法使用原来的数据库,我发现我原来的数据库(一部分,还有一些数据库不知道在哪,可能误删或者在其它文件夹)在下面的路径中保存。
而现在使用的数据库在下面的文件路径,_23_12_27,hero1,...,zmy1都是对应的数据库
解决步骤:
1.创建一个和产生相应ibd文件表一样的表的名字和结构
创建数据库
CREATE DATABASE shitiku;
使用该数据库
USE shitiku;
创建 要导入的ibd对应的表结构
CREATE TABLE shitibiao(
q_no INT PRIMARY KEY AUTO_INCREMENT,
q_name VARCHAR(255), q_a VARCHAR(255),
q_b VARCHAR(255), q_c VARCHAR(255),
q_d VARCHAR(255), q_answer VARCHAR(5),
q_youranswer VARCHAR(5),
q_delflag INT
);
2.移除 shitibiao 的表空间
ALTER TABLE shitibiao DISCARD TABLESPACE;
3.将要导入的ibd文件拷贝到创建的shitiku文件中。
(1)要导入的ibd文件
(2)将ibd文件导入到第一步创建的shitiku中
4.最后在让ibd文件和shitibiao相联。
ALTER TABLE shitibiao IMPORT TABLESPACE;
数据就成功的恢复了