前几天用完我的myqsl数据库还是正常的,可是今天用的时候启动服务的却报出了1067的错误,错误内容如下 :
C:\Users\Administrator>net
start mysql
MySQL 服务正在启动 .
MySQL 服务无法启动。
系统出错。
发生系统错误 1067。
进程意外终止。
让我很是郁闷
,到网上搜了一下,很多人说是My.ini文件的错误,结果打开本地的my.ini文件后,发现和网上人家说的正确的一比较也是正确的,这就让我很是无语了,估计网上那些人也都是照抄的吧,要不怎么会都把这种错误归结到my.ini文件上呢
不过虽然不是My.ini文件的问题,不过我在查阅资料的时候,感觉有一种方法可行,所以当时就试了一下,他给出的方法如下:
在dos下进入mysql的安装目录下的bin目录中,执行命令:mysqld-nt
--defaults-file=C:\windows\my.ini --standalone
--console,并给出了一份My.ini的内容,这里就不贴出来了,只所以不贴出来,一方面是因为他的这种方法没有解决1067的错误问题,另一方面是因为网上有很多这方面的资料,读者可以自己去查阅。不过在执行这条命令的时候,却出现了以下的执行报告内容:
C:\Users\Administrator>mysqld-nt
--defaults-file=c:\windows\my.ini --standalone --con
sole
111015 20:27:11 InnoDB: Started; log sequence
number 0 43655
111015 20:27:11 [ERROR] mysqld-nt: Table '.\mysql\user' is marked
as crashed and shou
ld be repaired
111015 20:27:11 [ERROR] mysqld-nt: Table '.\mysql\user' is marked
as crashed and shou
ld be repaired
111015 20:27:11 [ERROR] Fatal error: Can't open and lock privilege
tables: Table '.\m
ysql\user' is marked as crashed and should be repaired
分析提示的内容可以发现,是因为数据库中的user表出现了问题,这时我才明白,原来我上次用的时候,修改用户的密码没有修改成功,可能对user表造成了破坏所以这次启动不了,既然知道了出现错误的原因,那么接下来就好办了,直接从别的机器上copy过来相应的user表就行了,如我的机器上user表的路径如下 :C:\Program
Files\MySQL\MySQL Server
5.0\data\mysql,在这个文件夹下有三个文件名字分别为:user.myd,user.frm,user.myi,从别的机器上相应的Mysql安装目录下copy这三个文件,将本地机子上的这三个文件替换掉,然后再重启mysql一切正常