解决MySQL Windows服务启动1067错误

时间:2022-07-29 17:16:17

在网上乱搜了很多解决方案都不行,一个错误会有很多原因。最终被启发通过日志解决问题。以下是解决的过程。


1.找到MySQL的错误日志。首先要知道错误日志文件的位置,发现它是通过my.ini中datadir字段的值配置的。

例如我的my.ini中内容包含datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/",

打开datadir,找到扩展名为err的文件就是了。


2.阅读日志查看问题

发现首个带ERROR开始的行:

161210 16:17:37 [ERROR] Can't start server: Bind on TCP/IP port: No such file or directory

161210 16:17:37 [ERROR] Do you already have another mysqld server running on port: 3306 ?
161210 16:17:37 [ERROR] Aborting

猜测应该是3306端口被占用。


3.解决是使用cmd,使用命令netstat -ano,如果不知道命令啥意思,可以通过命令+\?查看帮助信息。

因为该命令的输出信息会很多,可以在后面加上重定向,即netstat -ano > e:\netstat.txt

打开netstat.txt,搜索3306,找到3306对应行中的PID列,PID是进程ID,接下来要根据该进程ID找到该占用了3306的进程来考虑如何处理该进程。

可以通过任务管理器选择结束它。切换到进程选项卡,内容是一个表格,要让它显示默认时并没有显示的PID列(菜单->查看->选择列)。

发现是蓝灯,找到结束就OK了!