查看MySQL数据库的端口号是数据库运维和开发中常见的操作需求,不同的使用场景可以匹配不同的查看方式,下面为大家介绍几种常用且有效的查看方法。

方法一:登录MySQL后通过SQL命令查询
如果能够正常登录到MySQL数据库实例,这是最快捷的查看方式,直接执行内置的变量查询语句即可获取端口号信息。
首先登录MySQL数据库,执行以下命令:
-- 登录MySQL,输入密码后进入交互界面 mysql -u root -p -- 查询端口号变量,port就是当前实例的端口号 SHOW VARIABLES LIKE 'port';
执行后会返回类似如下的结果,其中Value列的值就是端口号,默认情况下MySQL的端口号是3306:
| Variable_name | Value |
|---|---|
| port | 3306 |
也可以使用SELECT语句直接查询变量值:
SELECT @@port;
方法二:查看MySQL配置文件
如果无法登录MySQL数据库,或者需要提前确认配置的端口号,可以直接查看MySQL的配置文件,端口号通常会在配置文件中明确指定。
MySQL的配置文件名称和路径在不同系统下有所区别:
- Linux系统通常为
/etc/my.cnf或者/etc/mysql/my.cnf,部分版本也会在mysql安装目录下的my.cnf中 - Windows系统通常为MySQL安装目录下的
my.ini文件
打开对应的配置文件,查找[mysqld]配置段下的port配置项:
[mysqld] # 端口号配置,若没有该配置项则使用默认3306端口 port=3306 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock
如果配置文件中没有port配置项,说明当前MySQL实例使用的是默认的3306端口。
方法三:通过系统命令查看
如果MySQL服务正在运行,还可以通过系统层面的进程或网络命令查看其监听的端口号,这种方式不需要登录数据库也不需要查看配置文件。
Linux系统
可以通过netstat或者ss命令查看MySQL进程监听的端口:
# 方法1:使用netstat命令,grep过滤mysql相关进程 netstat -tlnp | grep mysql # 方法2:使用ss命令,效果类似 ss -tlnp | grep mysql
输出结果中Local Address列的冒号后面的数字就是端口号,比如0.0.0.0:3306表示监听3306端口。
也可以通过进程ID查看,先获取MySQL的进程ID:
ps -ef | grep mysql
得到进程ID后,查看该进程打开的端口:
# 假设进程ID为1234 netstat -tlnp | grep 1234
Windows系统
打开命令提示符,执行以下命令查看端口占用情况:
netstat -ano | findstr "mysql"
或者直接查找3306端口的占用进程:
netstat -ano | findstr ":3306"
输出结果的最后一列是进程ID,可以通过任务管理器查看该ID对应的进程是否为MySQL服务。
注意事项
如果MySQL配置了多实例,每个实例会对应不同的端口号,需要根据具体的实例配置和进程来查询对应的端口。另外如果修改了配置文件中的端口号,需要重启MySQL服务后才会生效,查询的时候要注意服务是否已经重启完成。
注意:如果数据库配置了跳过网络监听只使用本地socket连接,那么网络命令可能无法查到对应的端口,这种情况下只能通过配置文件或者登录数据库查询的方式获取端口号。
MySQL端口号查看database_portmy.cnf配置show_variables修改时间:2026-06-24 20:27:29