3306端口被占用,MySQL5.1启动失败

这是什么意思啊,我是初学者,最好回答的易懂一点
2025-04-03 12:38:54
推荐回答(2个)
回答1:

开始-运行-cmd, 输入 netstat -ano, 看第一列,后面的就是端口,找到80 ,记住对应的PID!!
然后打开任务管理器 查看 -> 选择列 -> 勾上 PID(进程标识符) -> 确定
在任务管理器找到刚才的PID的进程,查看是什么程序占用了端口,把它关闭!!!追问但是4896显示的进程是tomcat6 关闭以后调试没反应啊
回答上面的英文显示 tomcat 已经在另一个进程中运行了, 您再打开就已经重复了。。。是否运行了其他服务器程序,附带启动了comcat 进程

严重: Error starting endpoint

java.net.BindException: Address already in use: JVM_Bind:8080

at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)

at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)

at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)

at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)

at org.apache.catalina.connector.Connector.start(Connector.java:1090)

at org.apache.catalina.core.StandardService.start(StandardService.java:457)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

2009-7-12 15:40:35 org.apache.catalina.startup.Catalina start

严重: Catalina.start:

LifecycleException: service.getName(): "Catalina"; Protocol handler start failed: java.net.BindException: Address already in use: JVM_Bind:8080

at org.apache.catalina.connector.Connector.start(Connector.java:1097)

at org.apache.catalina.core.StandardService.start(StandardService.java:457)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

2009-7-12 15:40:35 org.apache.catalina.startup.Catalina start

信息: Server startup in 9860 ms

关键信息:

java.net.BindException: Address already in use: JVM_Bind:8080

错误原因:

8080端口被其他的应用占用!

解决方案:

第一步,命令提示符号,执行命令:netstat –ano

Active Connections

Proto Local Address Foreign Address State PID

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 656

TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 656

可见,占用8080端口的进程的PID是656

第二步,命令提示符号,执行命令:tasklist

图像名 PID 会话名 会话# 内存使用

========================= ====== ================ ======== ============

TNSLSNR.exe 656 Console 0 8,992 K

可见,该占用8080端口的进程是TNSLSNR.exe

第三步,通过任务管理器,终止进程TNSLSNR.exe

第四步,重新启动tomcat,即可正常启动

回答2:

就是说mysql 启动需要使用 系统的3306端口。但是你现在这个端口可能被其他的程序占用了,就启动不了了。
用工具看一下你的3306端口是否被程序占用了
或者用DOS命令 netstat -an 看看端口使用情况