mysql服务无法启动问题
解决方法一
1.找到你的my.ini文件,用notepad++打开,在右下角看保存编码格式
是不是ansi
,如果不是,则在工具栏找到编码,改成ansi
,保存。
2.打开任务管理器,看是否有mysqld
这个进程,如果之前启动失败的话,这里的状态可能会是“启动”(表示它在启动过程中,一般会卡在这里,启动不了),并不是“已启动”,所以我们要先结束
这个进程,再去重新启动
mysql服务。
启动mysql服务的命令: net start mysql
my.ini文件存放位置:c:\programdata\mysql\mysql server 5.7,如果找不到programdata文件夹,那么打开文件资源管理器–>查看–>勾选展示隐藏的项目。
解决方法二
1.cmd进入mysql的bin目录下,执行mysqld --console
,查看日志,找到错误原因,如果日志中存在
[error]can't start server: bind on tcp/ip port: no such file or directory
[error] do you already have another mysqld serverrunning on port: 3306 ?
[error] aborting
2.那就是3306的端口被其他服务占用了,停掉占用的进程就行了。
3.cmd执行netstat -ano | findstr "3306"
,可以查找到端口号中包含"3306"的端口占用情况,如下图所示,从而得知占用3306端口的pid是4300。
4.我们可以直接通过pid杀死进程,但保险起见还是看一下这个进程是否有用,cmd执行tasklist | findstr "4300"
查看占用该端口的进程。(显示mysqld.exe是因为我已经成功启动了,此篇博文是记录解决过程的)
5.cmd执行taskkill /f /t /im mysqld.exe
,杀死占用端口的进程;
- 或执行:
taskkill -pid 4300 -f
,使用pid杀死进程,其中 /f 表示强制关闭该进程; - 或打开任务管理器,找到进程对应的服务名称,结束任务。(因为我已经成功启动,所以我的服务名称也是mysqld.exe,具体的服务名称看上图最左边的内容)
6.cmd执行net start mysql
,重新启动mysql服务。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论