问题描述
本人在安装一个免安装版本的mysql5.6.37时,按照网上教程安装完毕后,在命令行和windows服务下启动mysql服务时总是失败,卡在1067错误,服务无法启动。于是在博客上面查找解决的方法,大部分教程都是修改my.ini配置文件,但这不是真正的原因所在,又翻看了网上各种解决方案,卸载干净重装,重启,都不管用。
最后找到了自己的原因所在成功启动了mysql的服务。
一般的解决方案
在mysql的安装目录(我的是F:\mysql-5.6.37-winx64)重新配置my.ini文件。将my_default.ini文件复制重命名为my.ini,
然后在my.ini文件的最后将datadir与 basedir 改成你自己mysql的安装路径,例如
basedir = "F:\mysql-5.6.37-winx64"
datadir = "F:\mysql-5.6.37-winx64\data"
port = 3306
然后再重新启动,在cmd中输入:
net start mysql
如果能够成功启动说明你只是配置文件的问题,如果还是无法启动,如这样,请移步后文:
本部分参考博客:https://blog.csdn.net/qq_34885598/article/details/84344946
查看windows日志寻找解决方案
由于1067错误的原因不止一种,所以必须通过windows日志中的错误来查看自己的错误是什么,才能够对症下药,否则网上一切方法无效,当然也包括笔者的。
经过查看windows日志报告内容如下所示,得知本人的错误在于有其他进程占用了3306端口,故无法启动mysql服务器。
关于如何找到并打开windows日志,这里不详细阐述,如有需要请移步:https://jingyan.baidu.com/article/0964eca23201c88285f53604.html
在命令行输入netstat -ano
来显示所有的活动连接,果不其然,进程被PID为4876的应用程序占用!
输入杀死进程的命令:
TASKKILL /PID 4876 /F
再重新输入net start mysql
,服务就能正常启动了。
本部分参考文献:
https://blog.csdn.net/qq_31680395/article/details/80441267
通过err文件查找错误原因
另外可以不用查看windows日志文件查找出错原因,还可以到你mysql的安装目录/data/.err文件,打开查看具体错误,不过文件信息量庞大不好筛选,需要注意。笔者的.err文件位置如下图所示:
找到错误如下所示:Do you already have another mysqld server running on port: 3306 ?最后解决方法同上。