当前位置:首页 > 问答 > 正文

数据库监听端口怎么查啊,有没有简单点的方法能快速找到?

直接告诉你几种最直接的方法,不用记复杂命令,照着做就行。

最省事的方法:查配置文件(适合你知道数据库装在哪)

数据库的监听端口通常在一个固定的配置文件里写着,直接去看就行,这个方法最准确,不用动任何命令。

  1. 如果是 MySQL 或 MariaDB:

    • 找到它的配置文件 my.cnfmy.ini,它可能在几个常见地方:/etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf,或者在 Windows 的安装目录下。
    • 用记事本或 cat 命令打开这个文件,在里面找 port 这个单词,你会看到像 port = 3306 这样的一行。3306 MySQL 默认的监听端口,根据 MySQL 官方文档,这是其标准端口。
  2. 如果是 PostgreSQL:

    • 它的配置文件通常是 postgresql.conf,一般放在数据目录(如 /var/lib/pgsql/data/usr/local/pgsql/data)下。
    • 打开这个文件,搜索 port,会找到像 port = 5432 这样的设置。5432 PostgreSQL 的默认端口,根据 PostgreSQL 官方文档,此为其约定端口。
  3. 如果是 MongoDB:

    • 它的配置文件是 mongod.conf,位置可能在 /etc/mongod.conf
    • 打开后找 net.port 或者 port 的设置,通常是 27017,这是 MongoDB 的默认端口。
  4. 如果是 Redis:

    • redis.conf 文件,用文本编辑器打开,搜索 port,会看到 port 63796379 就是它著名的默认端口。

通用方法:用系统命令看谁在“听”(适合所有情况,但需要动命令行)

数据库监听端口怎么查啊,有没有简单点的方法能快速找到?

如果数据库正在运行,它一定会打开一个端口在“监听”连接,我们可以用系统命令看哪个程序在监听。

  1. 在 Linux 或 macOS 上:

    • 打开终端(命令行)。
    • 输入命令:sudo netstat -tlnp | grep -i 数据库名
      • 找 MySQL:sudo netstat -tlnp | grep -i mysql
      • 找 PostgreSQL:sudo netstat -tlnp | grep -i postgres
    • 这个命令会列出所有正在监听的网络连接,看到类似 0.0.0:3306:::3306 这样的输出,冒号后面的数字 3306 就是端口号。
    • netstat 不好用,可以用更现代的命令:sudo ss -tlnp | grep -i 数据库名,效果一样。
  2. 在 Windows 上:

    • Win + R,输入 cmd 打开命令提示符(最好用管理员身份打开)。
    • 输入命令:netstat -ano | findstr LISTENING | findstr 数据库进程名,MySQL 的进程名通常是 mysqld.exe,但你可能不知道全名。
    • 更简单的方法是:先只输入 netstat -ano | findstr LISTENING,这会列出所有正在监听的端口和对应的进程PID(最后一列数字),打开任务管理器,在“详细信息”或“服务”标签里,找到你的数据库服务(如 mysqld.exepostgres.exe 等),记下它的PID,回到命令行的列表里,找到对应PID的那一行,看前面部分,TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 1234,这里的 3306 就是端口。

用数据库自带的命令问它自己(需要你能登录数据库)

如果你能连接到数据库,那么问它自己是最准确的。

数据库监听端口怎么查啊,有没有简单点的方法能快速找到?

  1. MySQL/MariaDB:

    • 登录到数据库后,执行 SQL 语句:SHOW GLOBAL VARIABLES LIKE 'port';,它会直接返回端口号。
  2. PostgreSQL:

    • 登录后,执行 SQL:SHOW port;
  3. MongoDB:

    • 在 MongoDB 的 Shell 里,执行:db.runCommand({whatsmyuri: 1}),这个命令会返回连接详情,里面包含端口信息(但更多是看客户端连接),更直接的是在启动 MongoDB 的命令行参数或配置文件中查看。

快速判断的“土办法”

  • 看安装时的记录: 回想一下或者翻翻当时安装数据库时做的笔记,很多人会把端口号记下来。
  • 看连接工具: 如果你用 Navicat、DBeaver、DataGrip 这类图形化工具连过数据库,在连接配置里就能直接看到端口号。
  • 查服务属性(Windows): 在“服务”管理器中,找到你的数据库服务(如 MySQL),右键属性,在“可执行文件的路径”里,有时会看到 --port=3306 这样的参数。

总结一下最快路径:

  • 你能登录到数据库服务器(Linux/Unix) -> 直接用 sudo ss -tlnp | grep mysql 这类命令,秒出结果。
  • 你只能在 Windows 服务器上操作 -> 用管理员命令行运行 netstat -ano | findstr LISTENING,然后去任务管理器对PID。
  • 你知道配置文件在哪 -> 直接去翻配置文件,找 port 那一行,最直接。
  • 你能登录数据库但不懂系统命令 -> 用数据库的 SHOW 命令问它自己。

最后提醒一下,如果以上方法都找不到,或者找到端口但连不上,那可能是数据库服务没启动、防火墙挡住了,或者端口被修改成了非常用端口,这时候就需要结合系统日志和数据库日志来排查了,但仅仅“找到端口”的话,上面这些方法已经足够应对绝大多数情况了。

备用