mysql启动 1067错误

我的MySQL本来安装在“G:\sites\mysql”路径下。今天突发奇想,将原来的sites文件夹改名为Inetpub,那么MySQL的安装路径也就改为”“G:\Inetpub\mysql”了。这样,MySQL服务当然无法成功启动,于是开始下面的漫漫征程:

1.来到我们可爱的Dos窗口,运行“G:\Inetpub\mysql\bin\mysqld-nt -remove”,卸载MySQL服务

2.接着运行“G:\Inetpub\mysql\bin\mysqld-nt -install MySQL --defaults-file="G:\Inetpub\mysql\my.ini”重新安装MySQL服务,并指定当前的ini文件为MySQL安装目录下的my.ini

3.本来以为大功告成,继续执行“net start MySQL”,结果出现“错误1067:进程意外中止”。这个错误可是伴随了我好长时间了,每次安装MySQL都可能碰到,但是不知怎么重装一次就又好了。所以碰到它我并不感到特别奇怪。

4.去“C:\winnt”看看,找到一个名为“my.ini”的文件,删掉它,再次启动MySQL服务。错误依然故我……我晕!!!

5.检查“G:\Inetpub\mysql\my.ini”,看到这样红色的两句,修改basedir和datadir的值,将其改成相应的目录(我已经将其修改为正确的目录)。再次启动MySQL服务(心里面那个紧张呀……),在等待了N<2秒之后,错误继续出现。我的心凉了。

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306

#Path to installation directory. All paths are usually resolved relative to this.
basedir="G:/Inetpub/mysql/"

#Path to the database root
datadir="G:/Inetpub/mysql/Data/"

6.使出最后一招,重装MySQL!!!我依然选择安装到“G:\inetpub\mysql”目录。当然,保留了原来的“Data”目录,其它的一律删除。

7.安装完后,一切试用默认设置,可是MySQL依然无法启动!错误还是1067!!!!这个顽固的错误,怎么会这样!!!

8.查找注册表,删除所有与MySQL有关的键值。我就不信了!每操作一次,我就重启一次Windows!

9.第三次安装MySQL,错误还是错误,并没有因为我的努力而消失。

10.我开始烦躁,开始Google,那么多帖子,说的方法都无法解决我的问题。不过倒是给我一点启示,就是在my.ini上做文章。我复制了多份my.ini,分别放在安装目录、Winnt目录、C:\,我还把mysql的安装目录复制到了C:\,可是仍然无济于事。

11.最后一遍安装。我没有更改任何设置,包括安装路径都采用默认的(我极其讨厌MySQL4.1的默认安装路径)。可是,这次,MySQL启动成功了!

12.我欣喜若狂,我检查了My.ini的值,basedir的值是安装目录,datadir的值是安装目录下的data目录。我立刻卸载了MySQL,再次安装,安装目录为“G:\inetpub\mysql”。这次启动不成功。这并没有让我沮丧,我好像找到了问题的根源。

13.再次卸载,再次安装,安装目录为默认。启动成功后,将my.ini中的datadir的值更改为“G:/inetpub/mysql/data/”,重新启动MySQL,不成功!!!这说明,MySQL的启动失败的原因是数据库或者数据库路径问题!数据库路径当然是没有问题的,所以我怀疑数据库。

14.进入到data目录中,发现data目录下有许多文件,删除根目录下的所有文件,仅保留子文件夹(每个文件夹就是一个数据库,这个当然是不能删除的),然后启动MySQL服务。终于成功了。

15.google上找到的相关资源迷惑了我的眼睛。我在My.ini上耗费了太多的时间,却没有注意数据库的问题。也许是上一个版本留下了太多与路径相关的数据导致MySQL启动失败?可能。无论如何,我已经解决了这个该死的1067错误了。

以下为网友评论

Jeff(210.72.237.66)在 2005年9月20日18:05星期二 评论: [删除] [回复] 非常感谢你的经验,否则我还不知道怎么解决! 另外再补充一下我的发现:

我的数据库中有InnoDB类型的表,所以不能将/mysql/data/ibdata1文件删除,否则数据库中InnoDB类型的表都不能访问,所以需要保留。其它文件删除。