您的位置:首页 > 数据库 > MySQL

MySQL也有小脾气之-------windows无法启动mysql服务

2015-01-23 19:42 369 查看
昨天MySQL还能用,今天中午的时候,运行一个web应用程序需要连接数据库,本来坐等正确的程序结果,结果报错了。

1. 一开始,打算手动通过Navicat进入数据库,结果显示

ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)

2. 然后,就想看看MySQL服务是否启动,打开windows服务之后,发现MySQL这一项服务是“未启动状态”,选就“启动此服务”。但是当进度条到一半左右的时候,弹出错误提示框:

windows无法启动mysql服务(位于本地计算机上)错误1067:进程意外终止。


在重启了几次MySQL服务之后,还是同样的错误,于是就进入“事件查看器”--->"windows日志"--->“应用程序”,发现提示的错误如图1:



图1

3.把错误信息“无法找到来自源 MySQL 的事件 ID 100 的描述。本地计算机上未安装引发此事件的组件,或者安装已损坏。可以安装或修复本地计算机上的组件。”也没找到好的解决方法。于是想,要不重新配置一下MySQL吧。各种”next“之后,配置完成之后,成功进入到”MySQL“,但是发现之前建的数据库并没有在这里面,各种不淡定啊!!那么多表,不能重新导入一遍吧。
4.试试把步骤2出现的错误复制到百度,出现了很多解决问题的方法,均指出是配置文件my.ini出现问题,进入MySQL安装目录找到my.ini,发现如图2的信息。忽然想到,之前在这个文件里面修改了database root的目录,重新配置之后的数据库中data是保存在”C:/ProgramData/MySQL/MySQL Server 6.0/data/“下的,难怪找不到我之前新建的数据库。然后就修改database root的路径。



图2
5.百度”如何修改mysql数据存储位置,出现很多好的方法,主要是参考“http://blog.csdn.net/guodengh/article/details/8507318”中的方法:
a).修改my.ini文件中的数据存储目录为:datadir="D:\ProgramData\MySQL\data";
b).停止mySQL相关的服务;
c).将修改前的datadir下的所有文件copy到D:\ProgramData\MySQL\data下,会覆盖掉一些文件;
d).重启MySQL服务,即可。发现之前新建的数据库以及其中的表现身了

6.之前的数据库是现身了,但是打开有的表却出错了,如图3。



图3
幸亏在将修改前的datadir下的所有文件copy到D:\ProgramData\MySQL\data下之前,把原来的数据备份了一份。关掉MySQL服务,然后将备份的数据copy回到
D:\ProgramData\MySQL\data下,重启MySQL服务,进入MySQL,不存在的表又复活啦!!
小脾气妥妥搞定啦~~~

总结:数据库中的表还是得导出存着,保留个副本。实在不行重装数据库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: