【转载】
MYSQL通过复制DATA文件夹内容恢复数据
在介绍此方法之前,提醒各位最好的转移数据的方法为:
在原来MYSQL服务器导出SQL文件,然后再在新的MYSQL服务器导入数据。
但是既然我们原来的服务器已经卸载了,那我们就必须采用以下的方法。
先说下MYSQL存储数据的原理:
MYSQL存储数据不是按照SQLSERVER一样(一个数据文件,一个日志文件)的。MYSQL新建一个数据库时,为该数据库在DATA文件夹下创建一个以该数据库名为名的文件夹,注意,此文件夹只是存放数据库的表结构的,并没把数据也存进去。数据在哪儿呢?在DATA文件夹下面有个ibdata1,看看这个文件的大小,你明白了吧,MYSQL把所有数据都存储在这个文件中。
恢复数据方法:
知道了上面的原理,恢复数据就应该知道怎么办了,因为我们以为MYSQL是按SQLSERVER一样存储数据的,所以我们直接把原来数据库所在的文件夹拷到DATA目录下了,由于没拷数据,所以MYSQL提示你数据不存在,这时再把ibdata1这个文件拷过去,就OK了。
操作方法:
(在添加删除中删除Mysql,为了防止删除不干净,您可以运行以下命令:
SC delete Mysql
然后删除注册表中
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
的mysql项,如果没有这项就不用删除了.)
1、把原来mysql安装目录下的data文件夹拷出来;
2、为了避免配置的麻烦,下载一个新的mysql,重新安装mysql;
3、拷出来的data文件夹里,除了mysql、test子文件夹外的子文件夹,全部都是数据库,如下图所示,europa、outman、sd1004db、shtarena全部都是一个个的数据库;
4、在新安装的mysql里创建上述数据库;我现在创建了europa数据库;
备注:如果在安装文件里找不到data文件夹,可以在mysql下使用show variables like 'datadir';语句找到data的文件夹所在位置,或者在my.ini文件搜索datadir关键词,会发现datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/",此时先将先将MySQL服务停止,将这个目录下的data文件夹复制到目标data文件夹中,然后再my.ini中修改datadir的地址为目标data的地址,启动MySQL服务。
(对于INNODB ibdata1 所在目录如下路径:
#*** INNODB Specific options ***
innodb_data_home_dir="C:\\/MySQL Datafiles/")
5、把上述europa文件夹里的文件拷到新安装的mysql目录下的europa文件夹里;
6、这时,你使用europa数据库,会显示有一张表;可搜索这张表,又提示表不存在。
7、重启mysql服务后,还是如此;
8、这时,你忘了拷原来data文件夹下的ibdata1文件。你直接拷这个文件,会提示有文件正在使用。去服务中,关闭mysql服务,再拷那个文件到data文件夹下。再开启mysql服务。这时你再查询europa库中的m_cost表,不再报错了,之前的数据全在了。
mysql安装目录下的data文件夹,是存放mysql中的数据的。data文件里每个子文件夹,对应mysql中的每个库。子文件夹里.frm文件对应着相应的表。db文件是字符集的配置文件。有了这些文件不就代表你可以复原这些数据了,你还需要data文件夹下的ibdata1文件。
方法一:MYSQL通过复制DATA文件夹内容恢复数据
1.找到Mysql的安装目录 bin目录下 有个mysqld-nt.exe
2.然后运行cmd 进到Mysql的bin目录下 打mysqld-nt install 回车 服务就安装功功了
3.然后在运行输入 services.msc 进去把Mysql 服务重起下就可以
这样就可以让你的数据库和系统还原前一模一样
重装服务:
echo Creating mysql5 Service...
%1\OKIRM3\MySQL\bin\mysqld.exe --install mysql5 --defaults-file=%1\OKIRM3\MySQL\my.ini
当服务可以启动,从脚本恢复数据:
mysql -uroot -p --default-character-set=utf8 -f test<test.sql语句将数据库恢复!注意编码问题!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果在特殊情况下,您需要重装Mysql并恢复数据,您应该作以下处理:
1.如果以前的数据库还要,您应该在停止Mysql后备份原来的整个mysql目录.
停止mysql的命令如下:
Net stop mysql
2.在添加删除中删除Mysql,为了防止删除不干净,您可以运行以下命令:
SC delete Mysql
然后删除注册表中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
的mysql项,如果没有这项就不用删除了.
3.将原来的mysql安装目录及Data目录删除或改名.
4.重启服务器.
5.再一步步安装Mysql.安装完。
特别说明:
注意,在安装这些软件的时候,请将它们安装回原来的目录中,而且版本要完全一样,例如Mysql5.0.45版本,
如果版本不一样,安装完这些软件以后,就无法用复制的方式来还原。如果原来的安装目录,存在旧的备份文件,你可以先将旧的备份文件它改成别的目录名。
下面看如何恢复数据:
但是,
在还原MySQL数据库之前,先要停止MySQL数据库,然后将已经备份好的MySQL的DATA目录,复制到新安装DATA目录中,代替到原来的DATA目录中的文件,如果Mysql在安装时选错了编码,可以将
My.ini文件也复制回去.
最后启动数据库就可以把数据库还原成功。
相关推荐
重装MYSQL数据库前的准备(卸载、清理注册表)作123者:晒太阳的蛤蟆 日期:2011-03-10 字体大小: 小 中 大 MYSQL出现问题,重装是非常郁闷的事情,很是崩溃,搞一次需要记录一次 安装的时候,有时候会出现could ...
Mysql 重装之后忘记Root密码的解决方法
Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql...
安装mysql详细的图解和安装步骤,还有mysql的配置详解,还有重装mysql出现的各种问题的解决.第一次安装mysql比较容易,但是重装mysql就非常困难了,我研究了几天终于找到了解决办法
MySQL30W测试数据 MySQL30W测试数据 MySQL30W测试数据 MySQL30W测试数据
“串口数据采集入MySQL数据库”软件是传感器网络记录数据的一般工具。最主要核心功能是把串口上接收到的数据,以字符串数据...达到采集串口上获取数据存入MySQL数据库的作用,进而可以使用各种算法和方法处理这些数据。
kettle集群搭建以及使用kettle将mysql数据转换为Hbase数据
使用spark读取hbase中的数据,并插入到mysql中
一个mysql数据库数据同步至oracle数据库代码,同时修改mysql数据表标识。
您可能感兴趣的文章:Linux下卸载MySQL数据库MySQL数据库卸载的完整步骤解决MySQL安装重装时出现could not start the service mysql error:0问题的方法重装MySQL最后一步失败的完美解决方案(经验总结)MySQL的重装...
使用Kettle同步mysql数据,增量同步,两个数据库数据同步
达梦数据库与mysql数据对比测试数据结果
MySQL 完全删除与重装 MySQL 打开命令行输入密码后一闪而过解决办法
datax数据从hive表导入mysql表,数据缺失解决
linux系统使用yum重新安装mysql的文档。linux系统使用yum重新安装mysql的文档。
本地简单kettle抽MySQL数据到ES中 案例.zip本地简单kettle抽MySQL数据到ES中 案例.zip 本地简单kettle抽MySQL数据到ES中 案例.zip本地简单kettle抽MySQL数据到ES中 案例.zip 本地简单kettle抽MySQL数据到ES中 案例....
mysql 导出数据词典,word,html
NULL 博文链接:https://ymx.iteye.com/blog/964023
目前MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志,还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是...