Mysql失效后的数据复苏

Mysql失效后的数据恢复

修改MySQL数据文件默认路径,mysql数据默认路径

原文链接:

 

一.同一主机下位置的转移

在mysql安装完成后,要修改数据库存储的位置,比如从安装目录下的C:\Program
Files\MySQL\MySQL Server 5.0\Data文件夹转移到D:\mySQLData文件夹。

1、在D:\下新建mySQLData文件夹

2、停止MySQL服务,将C:\Program Files\MySQL\MySQL Server
5.0\Data下的文件夹和文件一起拷贝到D:\mySQLData文件夹下

3、在安装目录下找到my.ini文件,找到:

#Path to the database root

datadir=”C:/Program Files/MySQL/MySQL Server 5.0/Data/”

将datadir的值更改为D:/mySQLData/

保存后,重新启动mySQL服务即可。

 

如果报1067错误,可以将my.ini 将datadir的值更改为D:/mySQLData/
先直接重启,

重启成功后再把原来老的数据文件都拷贝过来

windows下MySQL更改数据库文件目录及1045,1067错误

MySQL安装时不能选择数据库文件的安装位置,

也没有可用的直接更改数据库目录的工具,要想更改数据目录,方法如下:

MySQL安装并配置完毕,默认的数据库安装目录为

C:\ProgramData\MySQL\MySQL Server 5.1\data(vist或者win7下)

C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server
5.1/Data/(xp下),

 

下面以win7为例介绍:

1.正常安装并配置MySQL;

2.新建想修改的数据库安装目录如E:\MySQL\Data;

3.拷贝C:\ProgramData\MySQL\MySQL Server
5.1\data下所有文件到E:\MySQL\Data;

4.找到MySQL软件的安装目录默认为C:\Program Files\MySQL\MySQL Server
5.1中的my.ini文件

找到

datadir=”C:/ProgramData/MySQL/MySQL Server 5.1/data/”

修改为:datadir=”E:\MySQL\Data”,特别注意是”\”而不是”/”,否则不能成功(不知为何!!!)

5.重新启动MySQL服务即可,新建一个数据库目录E:\MySQL\Data下就会多出一个文件夹即数据库目录。

注意:完成之后不要删除C:/ProgramData/MySQL/MySQL Server
5.1/data/目录(尽管可以删除),因为

以后重新配置时删除现有实例,再配置新的实例时可能会出现服务无法启动的问题,因为程序还会默认的

把C:/ProgramData/MySQL/MySQL Server 5.1/data/作为数据库目录。。。

 

重要提示:

安装配置MySQL经常会遇到两个错误

1是1045,这个往往是重新安装或重新配置数据库要求输入原来的密码,而密码错误导致的,

解决办法是重新安装之前卸载原来的程序,并删除安装目录和C:\ProgramData\下的MySQL目录,重新安装即可。

2是1067,这是上面提到的更改数据库目录后如果设置不正确启动服务是遇到的错误,按照上面的步骤即可避

原文链接:


二、不同主机下转移方法

目的:把A机中的库转移到B机中。

1、停止mysql服务,在A机mysql安装目录下,找到my.ini文件打开,在此文件中找到datadir,把这个路径下的数据文
件:ibdata1以及所有文件夹拷贝到B机中d:\mysql_data文件夹下(其他文件是log文件,不用拷贝,这些log文件依赖于当前系统,如
果这些log文件都拷贝到B机中,会出错);

2、在B机中装正常安装mysql。

3、配件B机中的mysql服务器。先关闭mysql服务器。然后打开mysql安装目录,找到my.ini文件,在这个文件中把datadir的值改为
数据文件的位置d:/mysql_data(注意是’/’)。再my.ini文件中,把default-storage-engine的值改为
myisam,因为InnoDB引擎不支持直接拷贝数据文件备份数据库。

4、启动mysql服务器,此时,数据库就变为了A机中的库了,所以用户名、密码都是原来的。

经测试增删查改都没问题

测试环境:

A机:xp + mysql-5.1

B机:windows 2003 + mysql-5.1

原文链接:
一.同一主机下位置的转移 在mysql安装完成后…

原文链接:

 

 

本篇文章用于一些特殊情况下,Mysql数据库失效,而数据无法正常导出的数据恢复解决方案。 

一.同一主机下位置的转移

 

在mysql安装完成后,要修改数据库存储的位置,比如从安装目录下的C:\Program
Files\MySQL\MySQL Server 5.0\Data文件夹转移到D:\mySQLData文件夹。

  1. 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server
    5.0),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server
    5.0\。结果,失败:数据库连接错误。 

1、在D:\下新建mySQLData文件夹

 

2、停止MySQL服务,将C:\Program Files\MySQL\MySQL Server
5.0\Data下的文件夹和文件一起拷贝到D:\mySQLData文件夹下

  1. 卸载后重装MySQL,将D:\Program Files\MySQL\MySQL Server
    5.0\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program
    Files\MySQL\MySQL Server
    5.0\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。 

3、在安装目录下找到my.ini文件,找到:

 

#Path to the database root

3.
卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program
Files\MySQL\MySQL Server 5.0\data。连接成功,在Navicat for
MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。

datadir=”C:/Program Files/MySQL/MySQL Server 5.0/Data/”

 

将datadir的值更改为D:/mySQLData/

明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(3.4G大,明显存储了元数据)拷贝到D:\Program
Files\MySQL\MySQL Server
5.0\data里,代替原来的ibdata1文件。重启电脑,打开Navicat for
MySQL,连接成功,数据可以访问操作。 

保存后,重新启动mySQL服务即可。

 

 

至此,操作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。

如果报1067错误,可以将my.ini 将datadir的值更改为D:/mySQLData/
先直接重启,

 

重启成功后再把原来老的数据文件都拷贝过来

本篇文章用于一些特殊情况下,Mysql数据库失效,而数据无法正常导出的数据恢复解决方案。

windows下MySQL更改数据库文件目录及1045,1067错误

  1. 在本地重装MySQL(安…

MySQL安装时不能选择数据库文件的安装位置,

也没有可用的直接更改数据库目录的工具,要想更改数据目录,方法如下: