简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。

复杂情况下:

从另一台机上把mysQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。

经过如下几种情况的操作。

1. 在本地重装mysQL(安装目录d:\Program Files\mysQL\mysQL server 5.0),直接把mysql文件夹拷贝至d:\Program Files\mysQL\mysQL server 5.0\。

结果,失败:数据库连接错误。

2. 卸载后重装mysQL,将d:\Program Files\mysQL\mysQL server 5.0\下的数据备份,只把mysql\data文件夹全部内容拷贝到d:\Program Files\mysQL\mysQL server 5.0\data下。

结果,失败:数据库连接错误。

将备份的数据还完覆盖。

结果,失败,还是连接不上数据库。

3. 卸载后重装mysQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来mysQL里的数据库)拷贝进d:\Program Files\mysQL\mysQL server 5.0\data。

连接成功,在navicat for mysQL里看到数据库cf1和last,但是不能访问,因为数据全为零。

明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。

下一步,把data文件夹里的ibdata1文件(3.4g大,明显存储了元数据)拷贝到d:\Program Files\mysQL\mysQL server 5.0\data里,代替原来的ibdata1文件。

重启电脑,打开navicat for mysQL,连接成功,数据可以访问操作。

至此,操作终于成功。

其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。

但那台机已经重装了系统,也就是说mysQL失效了。

转自:https://www.weidianyuedu/content/1920721474715.html

更多推荐

mysql如何还原数据库