当前位置:首页 > 数据库 > 正文

如何快速查看数据库端口

检查数据库配置文件(如MySQL的my.cnf),或使用 netstat -tulnss -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

    如何快速查看数据库端口  第1张

    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):右键服务器 → 属性 → 连接 → 端口。

注意事项

  1. 权限要求

    • 配置文件查看:需系统读取权限。
    • 命令行查询:需数据库登录权限(如 MySQL 的 SHOW 命令需用户权限)。
    • 系统命令:netstat/lsof 需管理员权限。
  2. 安全风险

    • 避免在公共网络暴露数据库端口(如 MySQL 默认 3306)。
    • 通过防火墙限制访问:
      # Linux 示例(允许特定 IP)
      sudo ufw allow from 192.168.1.100 to any port 3306
  3. 端口冲突处理
    若端口被占用(如 Address already in use):

    • 修改配置文件中的端口号(如改为 3307)。
    • 重启数据库服务生效。

方法 适用场景 优势
配置文件 服务未启动或需长期配置 最权威,直接修改端口
命令行/管理工具 服务运行时快速查询 实时准确,无需查找文件
操作系统命令 未知数据库类型或排查网络问题 通用性强,覆盖所有监听端口

引用说明:本文方法参考各数据库官方文档(MySQL 8.0 Reference Manual, PostgreSQL 14 Documentation, Microsoft SQL Server Docs, MongoDB Manual)及 Linux/Windows 系统管理指南,操作前请备份配置,避免误修改引发服务中断。

0