上一篇
如何查看SQL数据库端口号
- 数据库
- 2025-06-13
- 3574
查看SQL数据库端口号可查看配置文件(如MySQL的my.ini,SQL Server的配置管理器),或运行命令(如
netstat -ano
找数据库进程),或登录后执行查询(如MySQL的
SHOW VARIABLES LIKE 'port'
),不同数据库方法不同。
在SQL数据库管理和维护中,端口号是客户端与服务器通信的关键入口,以下分场景详细说明查看方法,涵盖主流数据库和操作系统:
通过数据库配置/日志文件查看
-
MySQL/MariaDB
- 配置文件路径
- Windows:
C:ProgramDataMySQLMySQL Server X.Xmy.ini
- Linux:
/etc/my.cnf
或/etc/mysql/my.cnf
- Windows:
- 查找字段:
[mysqld] port = 3306 # 默认3306
- 配置文件路径
-
SQL Server
- 配置文件路径:
C:Program FilesMicrosoft SQL ServerMSSQLXX.MSSQLSERVERMSSQLBinnsqlservr.exe.config
- 通过错误日志定位(需启动服务):
EXEC xp_readerrorlog 0, 1, N'Server is listening on';
- 配置文件路径:
-
PostgreSQL
- 配置文件:
postgresql.conf
(位于数据目录,默认/var/lib/pgsql/data/
) - 关键字段:
port = 5432 # 默认5432
- 配置文件:
通过SQL命令查询(需连接数据库)
- MySQL
SHOW GLOBAL VARIABLES LIKE 'port';
- SQL Server
SELECT DISTINCT local_tcp_port FROM sys.dm_exec_connections;
- PostgreSQL
SHOW port;
- Oracle
SELECT * FROM v$listener_network WHERE protocol='TCP';
操作系统级检测
-
Windows 命令提示符
netstat -ano | findstr "LISTENING" | findstr ":1433" # 替换1433为疑似端口
- 结合任务管理器:通过
netstat
输出的PID在任务管理器”详细信息”选项卡中定位进程名。
- 结合任务管理器:通过
-
Linux/Unix 终端
sudo ss -tuln | grep 'LISTEN' | grep ':3306' # 替换3306为疑似端口
- 查看进程:
sudo lsof -i :5432 # 显示占用5432端口的进程
- 查看进程:
数据库安装目录定位
- SQL Server 配置管理器(Windows专属)
路径:开始菜单 → Microsoft SQL Server → 配置工具 → SQL Server配置管理器 → 网络配置 → 协议 → TCP/IP → IP地址选项卡 → “TCP端口”字段
常见问题排查
-
端口被占用
- 使用
netstat -ano
(Win)或lsof -i
(Linux)检查冲突进程 - 修改数据库配置文件中的端口号后重启服务
- 使用
-
防火墙拦截
- Windows:
控制面板 → Windows Defender 防火墙 → 允许应用通过防火墙
- Linux:
sudo ufw allow 3306/tcp # 放行MySQL端口
- Windows:
-
连接失败处理
- 确认服务已启动(Windows:
services.msc
;Linux:systemctl status mysql
) - 检查客户端连接字符串(如JDBC URL、连接配置中的端口参数)
- 确认服务已启动(Windows:
安全提示:
- 修改默认端口(如MySQL的3306)可降低暴力破解风险
- 生产环境应通过防火墙限制访问IP
- 定期审计端口开放情况,避免未授权访问
引用说明:
- MySQL官方文档:Server System Variables
- Microsoft SQL Server文档:配置服务器网络协议
- PostgreSQL文档:连接设置
- Oracle支持文档:Finding the Port Number for the Listener