Windows 2003上的 MySQL最近多次正常运行,却不能连接到数据库,出现了数据库不能连接、 MySQL专业服务不能停止、 MYSQL不能重新启动、 MYSQL不能重新启动、重启机子不能重新启动等现象,由于每次都是草草了事,一直没有深入研究,下一次定论就是对图表和故障现象系统归纳。这篇文章首先列出常见的解决方案。
一、确认MYSQL已经配置且正确
重新配置
如果是重新安装的MYSQL,请确认安装后的MYSQL经过第一次配置,否则会缺少my.ini文件,配置方法,可以在安装到最后一步时选择,现在开始配置MYSQL,或在程序组中运行MYSQL配置向导。配置完成后,要确保my.ini文件中[mysqld]字段下至少有basedir安装目录路径和datadir数据库路径。
配置之前,如果原来已经有过MySQL配置,可以先在MYSQL向导中进行执行一次REMOVE INSTANCE,然后再重新配置。
覆盖数据表
默认的MYSQL数据库会安装到My Document下,所以如果您的数据库目录在其它路径下,可以先把MYSQL停止掉,然后把数据库剪切到其它路径,然后拷贝相关数据表进入同一目录即可。
如果MYSQL数据表使用不同的账户,还需要在MYSQL创建账户,或直接使用原来的MYSQL数据表覆盖(需确认之前的MSYQL数据表是未损坏的)。
解决无法启动
遇到无法启动MYSQL时常见解决方法:
A、先使用命令C:\Program files\mysql\bin\mysqladmin-u root -p shutdown来关闭MYSQL B、再在cmd命令行下,执行net start mysql启动mysql。
二、1067错误常见解决方法
故障现象 如果在停止MYSQL(net stop mysql)或启动MYSQL时,出现1067错误,错误信息“MySql 服务正在停止...系统出错(A system error has occurred.)...系统发生 1067 错误(System error 1067 has occurred.),进程意外终止(The process terminated unexpectedly.)”等。
常见解决方法 如果以前一直运行OK的,请先按照上面的“无法启动”解决方法执行一次看看。
如果进行过Remove Instance操作,再次重建时后,一定要检查my.ini文件中的datadir是否已被还原了,如果该地址下数据库不存在,也将报告1067错误,只需要修改成真实的数据库目录地址,然后手动启动即可。
检查MYSQL目录权限
检查my.ini文件中[mysqld]字段下是否有basedir安装目录路径和datadir数据库路径。my.ini可能需要出现在两个地方。检查MYSQL安装目录和windows目录(假设是Windows环境)。
有时可以在重新配置之前删除% windir%/my.in i文件,重新配置之后再检查 Windir目录下是否有my.in i文件,有时可以在安装目录下覆盖最新的my.in i拷贝文件,这样就可以解决问题。
在 Linux环境中,请尝试将mysql.se rver拷贝到/etc/rc. d/init. d/下,然后运行chkconfigmysql.se rv er,然后可以使用命令执行 mysql引导,在命令行上设置 PATH。
三、非法关机导致MYSQL无法启动。如果由于非法关机导致MYSQL无法启动或启动有问题,最好用重新安装或确认为OK、ibdata1、mysql.pid、ib_logfile0等文件的MYSQL数据表覆盖。lucky chance多次遇到过这种情况,就是原来的MYSQL表有问题,总是不能启动,但是可以换一个新表。
四、重装MYSQL
发现MYSQL有问题时,最便捷的方法,是先把mysql卸载掉,然后重装重新配置,具体方法如下:
1、卸载MYSQL,清理掉安装目录和Windows目录下的my.ini文件。
2、检查任务管理器中是否还有mysql进程,如果有,可以把mysqld.exe杀掉,或者先杀掉再卸载也可以。
3、在cmd命令窗口,执行:sc delete mysql,该命令是清理注册服务命令。
4、重装 mysql 如果是安全设置以后出现这个问题,可能是因为mysql以低权限运行的时候因为密码策略等问题导致,大家看恶意将mysql的启动用户更下下密码,然后在服务项里设置下即可。