插件窝 干货文章 linux怎么查看3306端口是否被占用

linux怎么查看3306端口是否被占用

端口 占用 3306 如果 59    来源:    2025-05-03

查看Linux中3306端口是否被占用的方法

在Linux系统中,有几种方法可以检查3306端口(MySQL默认端口)是否被占用:

方法1:使用netstat命令

sudo netstat -tulnp | grep 3306

或者使用更现代的替代命令ss:

sudo ss -tulnp | grep 3306

如果端口被占用,命令会显示类似这样的输出:

tcp6   0   0 :::3306    :::*    LISTEN    1234/mysqld

方法2:使用lsof命令

sudo lsof -i :3306

如果端口被占用,会显示使用该端口的进程信息。

方法3:使用telnet或nc测试连接

telnet localhost 3306
# 或者
nc -zv localhost 3306

如果端口开放,telnet会建立连接(可能需要按Ctrl+C退出),nc会显示"succeeded"。

方法4:使用nmap扫描

sudo nmap -sT -p 3306 localhost

结果解读

  • 如果没有任何输出,表示3306端口未被占用
  • 如果有输出显示LISTEN状态,表示端口已被占用
  • 如果显示"Connection refused",表示端口未被占用

注意事项

  1. 大多数命令需要root权限才能查看所有进程信息,所以前面加了sudo
  2. 3306是MySQL默认端口,如果发现被占用但不确定是否是MySQL,可以检查进程名
  3. 如果确实需要释放该端口,可以停止相关服务或终止占用进程

希望这些方法能帮助你确认3306端口的状态!