使用PHPstudy时,打开Mysql服务一直重启,或根本无法启动
如果正在使用其他mysql服务3306端口被占用,cmd执行命令
netstat -ano | findstr "3306"
最后一个字段是进程ID
taskkill /F /PID 12808
然后在phpstudy上重新尝试启动mysql服务
曾安装过其他mysql服务,在 此电脑右击->管理->服务和应用程序->服务->MYSQL可发现该服务。右击属性,启动类型改为禁用,在可执行文件的路径,可找到mysql服务位置。找到mysqld.exe文件,以管理员模式执行命令.\mysqld.exe --remove mysql
卸载mysql服务。
本机安装Hyper-V,使用phpstudy启动mysql服务时灵时不灵,且通过netsat -ano | findser "3306"
也一无所获,可能存在端口被 Hyper-V 随机保留(占用)的问题
使用命令netsh int ipv4 show excludedportrange protocol=tcp
查看端口排除范围,查看3306端口是否在被排除范围内,如果存在,说明端口被系统占用
使用命令 netsh int ipv4 show dynamicport tcp
可以查看目前「TCP 动态端口」的范围
解决方法:重新设置一下「TCP 动态端口范围」,让 Hyper-V
只在设定的范围内保留端口。以管理员权限运行下面的命令,将「TCP 动态端口范围」重新设定为 49152-65535
。可随自己需要修改。
netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384
随后重启电脑即可。
参考:https://zhaoji.wang/solve-the-problem-of-windows-10-ports-being-randomly-reserved-occupied-by-hyper-v/