MySQL无法启动、无法停止解决方法(安全设置后容易出现)

 更新时间:2012年03月11日 00:19:41   作者:  
最近在Win2003上的MySQL出现过多次正常运行时无法连接数据库故障,根本原因就是因为安全设置以后容易出现的问题,其实很简单的解决
最近在Windows 2003上的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.ini文件然后再重新配置也可以解决,再次配置后检查一下Windir目录下是否有my.ini文件,有时把安装目录下最新的my.ini拷贝过去覆盖一下也能解决问题。
如果是Linux环境,试一下把mysql.server拷贝至/etc/rc.d/init.d/下,然后再运行chkconfig mysql.server,之后就可以在命令行中设置PATH、使用命令执行mysql启动。

三、非法关机造成的MYSQL无法启动问题
如果是因为非法关机等原因导致MYSQL无法启动或启动有问题的,最好使用重新安装的或确认是OK的MYSQL数据表及ibdata1、mysql.pid、ib_logfile0等文件进行覆盖,天缘试过遇到过多次这种情况,就是原来的MYSQL表有问题了,总是无法启动,但是更换成新表就可以。

四、重装MYSQL
发现MYSQL有问题时,最便捷的方法,是先把mysql卸载掉,然后重装重新配置,具体方法如下:
1、卸载MYSQL,清理掉安装目录和Windows目录下的my.ini文件。
2、检查任务管理器中是否还有mysql进程,如果有,可以把mysqld.exe杀掉,或者先杀掉再卸载也可以。
3、在cmd命令窗口,执行:sc delete mysql,该命令是清理注册服务命令。
3. 重装 mysql

如果是安全设置以后出现这个问题,可能是因为mysql以低权限运行的时候因为密码策略等问题导致,大家看恶意将mysql的启动用户更下下密码,然后在服务项里设置下即可。
如下图

注意:先到windows管理器中修改下密码

相关文章

  • mysql中字符串截取与拆分的实现示例

    mysql中字符串截取与拆分的实现示例

    mysql 字符串截取与拆分在很多地方都可以用得到,本文主要介绍了mysql中字符串截取与拆分的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • 详解MySQL查询时区分字符串中字母大小写的方法

    详解MySQL查询时区分字符串中字母大小写的方法

    MySQL默认是不区分大小写的,这个涉及到collate字符集与校验规则方面的知识,下面会讲到,这里我们就来详解MySQL查询时区分字符串中字母大小写的方法.
    2016-05-05
  • Mysql sql慢查询监控脚本代码实例

    Mysql sql慢查询监控脚本代码实例

    这篇文章主要介绍了Mysql sql慢查询监控脚本代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • mysql中GROUP_CONCAT函数使用技巧及问题详解

    mysql中GROUP_CONCAT函数使用技巧及问题详解

    这篇文章主要给大家介绍了关于mysql中GROUP_CONCAT函数使用技巧及问题的相关资料,GROUP_CONCAT是MySQL中的一个聚合函数,它用于将多行数据按照指定的顺序连接成一个字符串并返回结果,需要的朋友可以参考下
    2023-11-11
  • 利用phpmyadmin设置mysql的权限方法

    利用phpmyadmin设置mysql的权限方法

    这篇文章主要介绍了如何利用phpmyadmin设置mysql的权限方法,需要的朋友可以参考下
    2018-03-03
  • MySQL实现批量插入测试数据的方式总结

    MySQL实现批量插入测试数据的方式总结

    在开发过程中经常需要一些测试数据, 这个时候如果手敲的话, 十行二十行还好, 多了就很死亡了, 接下来介绍两种常用的MySQL测试数据批量生成方式,希望对大家有所帮助
    2023-05-05
  • 浅谈mysql的索引设计原则以及常见索引的区别

    浅谈mysql的索引设计原则以及常见索引的区别

    下面小编就为大家带来一篇浅谈mysql的索引设计原则以及常见索引的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • SQL- join多表关联问题

    SQL- join多表关联问题

    这篇文章主要介绍了SQL- join多表关联问题,具有很好的参考价值,希望对大家有所帮助。
    2022-12-12
  • 关于MySQL索引的几点值得注意的事项

    关于MySQL索引的几点值得注意的事项

    索引对查询的速度有着至关重要的影响,MySQL索引的建立对于MySQL的高效运行是很重要的
    2014-07-07
  • mysql执行计划id为空(UNION关键字)详解

    mysql执行计划id为空(UNION关键字)详解

    这篇文章主要给大家介绍了关于mysql执行计划id为空(UNION关键字)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09

最新评论