上一篇
如何快速查看数据库端口
- 数据库
- 2025-06-12
- 2654
检查数据库配置文件(如MySQL的my.cnf),或使用
netstat -tuln
、
ss -tuln
命令查看监听端口,也可通过数据库客户端命令(如
SHOW VARIABLES LIKE 'port'
)查询,具体命令因数据库类型而异。
在数据库管理和维护中,端口号是客户端与服务器通信的关键通道,无论是排查连接问题、配置防火墙还是迁移服务,准确获取端口号都至关重要,以下是跨数据库、跨操作系统的详细查询方法,涵盖主流数据库类型(MySQL、PostgreSQL、SQL Server、Oracle、MongoDB)及不同环境(Windows/Linux/macOS),确保操作安全可靠。
通过数据库配置文件查询(推荐)
配置文件是数据库端口信息的权威来源,无需运行服务即可查看。
MySQL / MariaDB
- Linux/macOS
配置文件路径:/etc/mysql/my.cnf
或/etc/mysql/mysql.conf.d/mysqld.cnf
查找命令:grep "port" /etc/mysql/my.cnf
- Windows
配置文件路径:C:ProgramDataMySQLMySQL Server X.Xmy.ini
用记事本打开,搜索port
字段。
PostgreSQL
- 配置文件路径
Linux:/etc/postgresql/XX/main/postgresql.conf
Windows:C:Program FilesPostgreSQLXXdatapostgresql.conf
查找命令:grep "port" /etc/postgresql/XX/main/postgresql.conf
注:
XX
为版本号(如14
)。
SQL Server
- SQL Server 配置管理器
开始菜单 → SQL Server 配置管理器 → SQL Server 网络配置 → 协议 → TCP/IP
→ 查看 “IP 地址” 标签页中的 “TCP 端口”。
Oracle
- 配置文件路径
$ORACLE_HOME/network/admin/listener.ora
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) )
MongoDB
- 配置文件路径
Linux:/etc/mongod.conf
Windows:C:Program FilesMongoDBServerX.Xbinmongod.cfg
查找字段:net.port
(默认 27017)。
通过命令行工具查询(需数据库运行)
适用于服务已启动的场景。
MySQL / MariaDB
连接数据库后执行:
SHOW GLOBAL VARIABLES LIKE 'port';
PostgreSQL
连接数据库后执行:
SHOW port;
SQL Server
通过 SQL 查询:
SELECT DISTINCT local_tcp_port FROM sys.dm_exec_connections;
MongoDB
进入 MongoDB Shell:
use admin; db.runCommand({getParameter: 1, port: 1});
通过操作系统命令查询
通用方法:查看监听端口
- Linux/macOS
sudo netstat -tuln | grep "LISTEN" # 或使用 lsof(需安装) sudo lsof -i -P -n | grep LISTEN
- Windows
以管理员身份运行 CMD:netstat -ano | findstr "LISTENING"
定位数据库进程
- Linux/macOS
ps aux | grep -E 'mysql|postgres|sqlservr|mongod|oracle' # 根据进程ID查看端口 sudo lsof -p <PID> | grep LISTEN
- Windows
任务管理器 → 详细信息 → 查找数据库进程名(如mysqld.exe
)→ 记录 PID → 执行:netstat -ano | findstr "<PID>"
通过数据库管理工具查询
图形化工具提供直观信息:
- MySQL Workbench / phpMyAdmin:连接后查看状态变量(如 MySQL 的
Server → Status
)。 - pgAdmin(PostgreSQL):连接数据库 → 属性 → 端口号。
- SQL Server Management Studio (SSMS):右键服务器 → 属性 → 连接 → 端口。
注意事项
-
权限要求
- 配置文件查看:需系统读取权限。
- 命令行查询:需数据库登录权限(如 MySQL 的
SHOW
命令需用户权限)。 - 系统命令:
netstat
/lsof
需管理员权限。
-
安全风险
- 避免在公共网络暴露数据库端口(如 MySQL 默认 3306)。
- 通过防火墙限制访问:
# Linux 示例(允许特定 IP) sudo ufw allow from 192.168.1.100 to any port 3306
-
端口冲突处理
若端口被占用(如Address already in use
):- 修改配置文件中的端口号(如改为 3307)。
- 重启数据库服务生效。
方法 | 适用场景 | 优势 |
---|---|---|
配置文件 | 服务未启动或需长期配置 | 最权威,直接修改端口 |
命令行/管理工具 | 服务运行时快速查询 | 实时准确,无需查找文件 |
操作系统命令 | 未知数据库类型或排查网络问题 | 通用性强,覆盖所有监听端口 |
引用说明:本文方法参考各数据库官方文档(MySQL 8.0 Reference Manual, PostgreSQL 14 Documentation, Microsoft SQL Server Docs, MongoDB Manual)及 Linux/Windows 系统管理指南,操作前请备份配置,避免误修改引发服务中断。