MySQL端口被占用

发布时间: 2023-11-21 11:15 阅读: 文章来源:1MUMB1130PS

一、问题描述

经常在电脑重启之后打开容器 / 启动IDEA / 运行 Spring Boot 应用时,会报某个端口已经被占用,但是在使用netstat -aon | findstr "8080"时却找不到占用端口的程序,往往在电脑重启之后会解决这个这个问题。

二、原因

Widows 默认把某些端口范围分给了某些进程,成为了保留端口,所以我们无法使用这个端口。并且由于这个端口分配在电脑重启的时会重新随机分配,所以出现了前面重启电脑的解决办法。

1. 查看 Windows 默认的 tcp 动态端口范围

以管理员打开CMD,使用命令netsh int ipv4 show dynamicport tcp就可以查看

netsh int ipv4 show dynamicport tcp

设置之前的结果

查看默认的tcp动态端口范围

这里可以看到默认的 tcp 动态范围为 1024-13977。

2. 查看保留端口范围

使用命令 netsh interface ipv4 show excludedportrange protocol=tcp 就可查看保留端口的范围了。

> netsh interface ipv4 show excludedportrange protocol=tcp

设置之前的结果

查看保留端口范围

可以看到 IDEA 运行所需的端口在这个范围内,有时候 3306这样的端口也会在这个范围中包括,从而不能运行 MySQL。

三、解决问题

使用管理的身份运行 CMD ,设置动态端口的范围,使得这个保留端口的范围避开我们需要的端口范围。

> netsh int ipv4 set dynamicport tcp start=49152 num=16383

> netsh int ipv4 set dynamicport udp start=49152 num=16383

然后重新启动电脑,使用上面的命令检查端口占用

•••展开全文