1. 操作前准备
在修改MongoDB端口号之前,请确认您已具备以下条件:
已经安装MongoDB数据库,并且数据库正在运行。
您具有管理员权限。
您已经了解基本的数据库操作知识。
2. 查看当前端口号
在开始修改MongoDB端口号之前,首先需要查看当前使用的端口号,以便于在修改后确保新的端口号可以正确地工作。
2.1 启动mongo shell
在终端或命令行中输入以下命令以启动mongo shell:
mongo
运行后,显示类似以下结果:
{
"message" : "Implicit session: session { \"id\" : UUID(\"xx-xx-xx-xx-xx\"), \"dc\" : \"xxx\", \"start\" : ISODate(\"xxxx-xx-xxTxx:xx:xx.xxxZ\"), \"lastUse\" : ISODate(\"xxxx-xx-xxTxx:xx:xx.xxxZ\"), \"ends\" : ISODate(\"xxxx-xx-xxTxx:xx:xx.xxxZ\"), \"logicalSessionTimeoutMinutes\" : 30 }",
"serviceName" : "mongodb",
"ok" : 1
}
2.2 输入命令查看当前端口号
在mongo shell中,输入以下命令以查看当前使用的端口号:
db.runCommand({whatsmyuri: 1}).you
运行后,显示类似以下结果:
{ "ok" : 0, "errmsg" : "no SSL certificate provided by peer; connection cannot be established" }
出现以上结果,说明相关的数据库连接操作并未进行验证。请在mongodb的配置文件中添加security.authorization项设置验证策略,例如值为enabled。
在配置文件中设置完成后,使用启动命令启动mongodb。运行mongodb时请使用--auth参数启用验证。例如:
mongod --auth --conf path/to/mongod.conf
运行后,再次输入以下命令查看当前使用的端口号:
db.runCommand({whatsmyuri: 1}).you
运行后,显示类似以下结果(端口号为27017):
{ "ok" : 1, "you" : "127.0.0.1:27017" }
3. 修改MongoDB端口号
在确认了当前使用的端口号后,即可对MongoDB端口号进行修改。
3.1 停止MongoDB服务
在进行端口号修改之前,需要先停止MongoDB服务。
在终端或命令行中输入以下命令以关闭MongoDB服务:
db.shutdownServer()
停止成功后,显示类似以下结果:
{ "ok" : 1 }
3.2 修改MongoDB配置文件
在进行端口号修改之前,需要先修改MongoDB的配置文件。
在配置文件中,找到以下内容(注:Windows系统下为mongod.cfg,其他系统下为mongod.conf):
net:
port: 27017
bindIp: 127.0.0.1
如需将端口号修改为27018,则需要将配置文件修改为以下内容:
net:
port: 27018
bindIp: 127.0.0.1
修改完成后,保存文件。
3.3 启动MongoDB服务
在完成MongoDB配置文件的修改后,即可重新启动MongoDB服务。
在终端或命令行中输入以下命令以启动MongoDB服务:
mongod --config path/to/mongod.conf
运行后,MongoDB服务将会按照新的配置文件进行启动。
4. 测试新端口号是否生效
在MongoDB服务重新启动之后,需要测试新的端口号是否能够正常工作。您可以按照以下步骤进行测试。
4.1 启动mongo shell
在终端或命令行中输入以下命令以启动mongo shell:
mongo
4.2 连接新端口号
在mongo shell中,输入以下命令以连接新的端口号27018:
mongo --port 27018
命令执行成功后,即可进入新的端口号环境。
4.3 确认端口号修改结果
在新的端口号环境中,输入以下命令以查看当前使用的端口号:
db.runCommand({whatsmyuri: 1}).you
运行后,显示类似以下结果(端口号为27018):
{ "ok" : 1, "you" : "127.0.0.1:27018" }
如果以上结果显示的端口号为27018,则说明端口号修改成功。
5. 总结
通过以上步骤,您已经成功地修改了MongoDB的端口号。在修改端口号的过程中,请确保仔细阅读本文,并按照文中所述操作进行操作,以确保修改后的端口号能够正常工作。