mysql 通过data文件下来恢复数据

情况如下,经常都会碰见mysql服务启动不了,但是这时候需要把数据库中的文件取出来,这时候该如何进行处理呢?

其实很简单:

          1.在cmd下 停止mysql服务.  运行--> cmd -->键入 :   net stop mysql

          2.只需要把的data文件需要恢复的库的文件夹拷贝出来,还有ibdata1然后覆盖到能够启动的mysql的data文件夹的目录下,(注意,应该对原来的ibdata1进行备份)

          3.在cmd下 启动mysql服务.  运行--> cmd -->键入 :   net start mysql

          4.这个时候你会发现数据库已经可以打开.

  一般两个mysql的版本要一样如果不一样,不知能否可行~~~~~


---------------------------------------割了-------------------------------------------------------------

关于mysql5.5 如何手动建立服务 
mysqld -remove 
//删除服务 mysqld -remove  服务名称
mysqld -install 
//创建服务

//关于错误1067可以检查一下my.ini中配置的data文件是否存在,data文件是不是存在


---------------------------------------割了-------------------------------------------------------------

关于mysql 出现marked as crashed and should be repaired 
我的解决步骤如下:
1.首先关闭数据库.
net stop mysql
2.在cmd下找到mysql的bin目录
cd C:\Program Files\MySQL\MySQL Server 5.5\bin 
3.设置检查数据库的表名 #set datadir="D:/Program Files/MySQL/MySQL Server 5.5/data/数据库名称/*.MYI"
set datadir="D:/Program Files/MySQL/MySQL Server 5.5/data/netinnet_exam_v1/*.MYI"
4.检查数据库
myisamchk.exe -e %datadir% 
查找出有问题的表.
5.修复表
 myisamchk.exe -r  %datadir% 
6.重启数据库
net startmysql


其中发现表的问题是
Got error 127 when reading table 
打开数据库在数据库操作以下命令:
check table table_name;
进行检查.
然后通过 repair table table_name;
进行修复. 
参考资料:http://www.hack50.com/article/sort016/sort058/info-390905.html

http://dev.mysql.com/doc/refman/5.7/en/myisam-repair.html

---------------------------------------割了-------------------------------------------------------------

Error dropping database (can't rmdir '.\netinnet_exam', errno: 41)  

删除数据库的时候报错,

https://forums.mysql.com/read.php?10,93443,93567

建立一个库 然后把里面的文件拷贝进去 然后进行删除就行了。


你可能感兴趣的:(mysql)