前提是:必须保留之前的数据库数据
在介绍此方法之前,提醒各位最好的转移数据的方法为:
在原来MYSQL服务器导出SQL文件,然后再在新的MYSQL服务器导入数据。
先说下MYSQL存储数据的原理:
MYSQL存储数据不是按照SQLSERVER一样(一个数据文件,一个日志文件)的。MYSQL新建一个数据库时,为该数据库在DATA文件夹下创建一个以该数据库名为名的文件夹,注意,此文件夹只是存放数据库的表结构的,并没把数据也存进去。数据在哪儿呢?在DATA文件夹下面有个ibdata1,看看这个文件的大小,你明白了吧,MYSQL把所有数据都存储在这个文件中。
恢复数据方法:
知道了上面的原理,恢复数据就应该知道怎么办了,因为我们以为MYSQL是按SQLSERVER一样存储数据的,所以我们直接把原来数据库所在的文件夹拷到DATA目录下了,由于没拷数据,所以MYSQL提示你数据不存在,这时再把ibdata1这个文件拷过去,就OK了。
操作方法:
1、把原来mysql安装目录下的data文件夹拷出来;
2、拷出来的data文件夹里,除了mysql、test子文件夹外的子文件夹,全部都是数据库,如下图所示全部都是一个个的数据库;
这是你就可以将你的表结构放到新的数据库里面了,但是,当你打开表的时候会提示“数据表不存在”,这是因为储存数据的ibdata1没有导进来。
3、你将MYSQL服务关闭(如果不关闭,会提示ibata1被程序占用,无法覆盖),然后将以前数据库的ibdata1替换,再重启服务,你就可以找到表。
这个是百度到的:方法二:MYSQL通过复制DATA文件夹内容恢复数据
1.找到Mysql的安装目录 bin目录下 有个mysqld-nt.exe
2.然后运行cmd 进到Mysql的bin目录下 打mysqld-nt install 回车 服务就安装功功了
3.然后在运行输入 services.msc 进去把Mysql 服务重起下就可以
这样就可以让你的数据库和系统还原前一模一样。