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

教你怎么快速改数据库监听端口号,简单又实用的方法分享

首先得明白,改数据库的端口号,就像给你家的门换个新门牌号,主要是为了安全,或者避免和电脑上其他程序“撞车”,默认的端口号大家都知道,比如MySQL是3306,PostgreSQL是5432,这就像小偷都知道你家默认走正门一样,换一个能增加点安全性,下面我就用最常见的两种数据库(MySQL和PostgreSQL)和一种非关系型数据库(MongoDB)来举例子,方法都很直接。

重要提醒:在开始动手之前,一定要先备份好你的数据库配置文件! 这是最最重要的一步,万一改错了,还能有个后悔药吃,通常这些配置文件都是以 .cnf.conf 结尾的。

修改MySQL数据库的监听端口

MySQL的配置文件通常叫 my.cnf 或者 my.ini,具体在哪取决于你的操作系统和安装方式。

  1. 找到配置文件

    • 在Linux上,它可能在 /etc/mysql//etc/ 或者 /usr/local/mysql/etc/ 这些目录下。
    • 在Windows上,它通常在你的MySQL安装目录里,C:\Program Files\MySQL\MySQL Server 8.0\my.ini
    • 如果找不到,可以登录MySQL,执行命令 SHOW VARIABLES LIKE 'config_file';,它会直接告诉你文件路径。(信息来源:MySQL官方文档关于系统变量的说明)
  2. 修改配置: 用记事本或任何文本编辑器打开这个文件,你需要找到 [mysqld] 这个部分,在这个部分下面,你会看到一行类似 port = 3306 的配置,如果没看到,说明它正在使用默认的3306端口。 你直接在这一部分添加或者修改这一行,把端口号改成你想要的,比如改成 3307:

    [mysqld]
    port = 3307
    ... (其他配置保持不变)

    端口号最好选在1024到65535之间,小于1024的端口通常需要管理员权限。

  3. 重启MySQL服务: 光改文件不行,得让数据库服务重新读一下这个新配置。

    • Linux:在终端里,根据你的系统,执行 sudo systemctl restart mysql 或者 sudo service mysql restart
    • Windows:按 Win + R,输入 services.msc 打开服务窗口,找到“MySQL”相关的服务,右键点击选择“重启”。
  4. 测试新端口: 重启成功后,你再用数据库连接工具(比如Navicat、MySQL Workbench)或者命令行连接时,就必须指定新的端口号了,命令行连接原来是 mysql -u root -p,现在要写成 mysql -u root -p -P 3307(注意,-P 是大写)。

修改PostgreSQL数据库的监听端口

PostgreSQL的配置文件通常是 postgresql.conf,它和MySQL的修改思路差不多。

  1. 找到配置文件

    • 在Linux上,它通常在 /etc/postgresql/ 后面跟着版本号的目录下,/etc/postgresql/14/main/postgresql.conf
    • 在Windows上,它在PostgreSQL的安装目录下的 data 文件夹里,C:\Program Files\PostgreSQL\14\data\postgresql.conf
  2. 修改配置: 打开 postgresql.conf 文件,用搜索功能找到 port = 5432 这一行,同样地,把 5432 改成你想要的新端口,5433

    port = 5433
  3. 调整访问权限(重要!): PostgreSQL除了改监听端口,还需要改一个控制谁能连过来的文件,叫 pg_hba.conf(这个文件和 postgresql.conf 在同一个目录),虽然你只改了端口,但最好检查一下这个文件里的规则是否合适,不过对于只改端口这个操作来说,通常不需要动它,但知道有这个文件的存在很重要,以后设置IP访问限制时会用到。

  4. 重启PostgreSQL服务

    • Linux:执行 sudo systemctl restart postgresql
    • Windows:在服务管理器中找到类似“postgresql-x64-14”的服务,重启它。
  5. 测试新端口: 用 psql 命令或其他客户端连接时,也要带上新端口号,psql -U postgres -p 5433

修改MongoDB数据库的监听端口

MongoDB的修改方法稍微有点不同,因为它通常在启动时通过命令参数指定端口,但通过配置文件改是最稳妥的。

  1. 找到配置文件: MongoDB的配置文件通常是 mongod.conf,它的位置因安装方式而异。

    • Linux通过包管理器安装的,可能在 /etc/mongod.conf
    • Windows版本的可能在安装目录的 bin 文件夹同级,或者你手动指定过。
  2. 修改配置: 打开 mongod.conf 文件,它的格式可能是YAML(比较新的版本)或者旧的INI格式,找到关于网络配置(net)的部分。

    • 如果是YAML格式,找到并修改:
      net:
        port: 27018
    • 如果是旧格式,找到并修改:
      port = 27018

      这里我们把默认的27017端口改成了27018。

  3. 重启MongoDB服务

    • Linux:执行 sudo systemctl restart mongod
    • Windows:在服务管理器中重启“MongoDB”服务。
  4. 测试新端口: 用 mongo shell(新版本是 mongosh)连接时,需要指定端口:mongo --port 27018,图形化客户端同理。

改完之后一定要注意的事情

  • 防火墙:这是最容易出问题的地方!你换了新端口,电脑的防火墙可不知道,你必须在防火墙规则里,把这个新的端口号开放出来,否则外部程序还是连不进来,具体怎么开端口,你得根据你的Windows防火墙或者iptables的设置去操作。
  • 应用程序配置:你电脑上所有要连接这个数据库的程序(比如你的网站程序、你写的脚本),它们的数据库连接字符串也得跟着变,把里面的端口号改成新的,不然它们还会傻傻地去敲旧门牌号的门。
  • 端口冲突:换端口前,最好用命令(比如Linux下的 netstat -tulnp | grep 你想用的端口号)查一下,这个新端口是不是已经被别的程序占用了,别跟别人“撞车”。

改数据库端口号就是个“找配置文件、改一个数字、重启服务”的简单过程,核心诀窍就是胆大心细,记得备份,改完别忘了开防火墙和更新程序配置,这样操作下来,几分钟就能搞定,安全性也能提高一点。

教你怎么快速改数据库监听端口号,简单又实用的方法分享