菜鸟科技网

MongoDB命令行连接时如何指定主机和端口?

MongoDB 是一款流行的 NoSQL 数据库,其命令行工具 mongosh(或传统的 mongo shell)是管理员和开发者进行数据库操作的重要方式,通过命令行连接 MongoDB 数据库,可以高效地执行查询、管理数据、配置服务器等任务,以下是详细的连接步骤和注意事项。

MongoDB命令行连接时如何指定主机和端口?-图1
(图片来源网络,侵删)

连接前的准备

在连接 MongoDB 之前,需确保以下条件满足:

  1. 安装 MongoDB:本地或服务器已安装 MongoDB,并启动了 mongod 进程。
  2. 网络配置:如果连接远程服务器,需检查防火墙设置,确保 MongoDB 的默认端口 27017 已开放。
  3. 认证信息:如果启用了身份验证,需提前准备用户名、密码及认证数据库。

本地连接

默认情况下,MongoDB 监听本地 localhost:27017,无需额外参数,打开终端(Windows 为命令提示符或 PowerShell),输入以下命令:

mongosh

成功连接后,会显示 MongoDB 版本、连接地址及提示符 >,此时可执行数据库操作,

// 查看当前数据库
db
// 切换数据库
use myDatabase
// 插入数据
db.myCollection.insertOne({name: "MongoDB", type: "NoSQL"})

远程连接

连接远程 MongoDB 服务器时,需指定主机和端口,格式为 mongosh <host>:<port>

MongoDB命令行连接时如何指定主机和端口?-图2
(图片来源网络,侵删)
mongosh 192.168.1.100:27017

如果服务器需要身份验证,需通过 -u(用户名)、-p(密码)及 --authenticationDatabase 指定认证数据库:

mongosh 192.168.1.100:27017 -u admin -p password --authenticationDatabase admin

注意:密码输入时不会显示字符,输入后按回车即可。

连接参数说明

以下是常用连接参数的表格总结:

参数 说明 示例
--host-h 指定服务器地址 mongosh --host 192.168.1.100
--port-p 指定端口号 mongosh --port 27018
--username-u 用户名 mongosh -u admin
--password-p 密码 mongosh -p secret
--authenticationDatabase 认证数据库 --authenticationDatabase admin
--ssl 启用 SSL 连接 mongosh --ssl
--eval 执行脚本后退出 mongosh --eval "db.stats()"

高级连接选项

  1. 连接 URI:支持使用标准连接字符串,
    mongosh "mongodb://admin:password@192.168.1.100:27017/admin"
  2. 副本集连接:若 MongoDB 部署为副本集,需指定副本集名称:
    mongosh "mongodb://host1:27017,host2:27017/myDb?replicaSet=myReplicaSet"
  3. 连接超时:通过 --connectTimeoutMS 设置连接超时时间(毫秒):
    mongosh --connectTimeoutMS 5000

常见问题与解决

  • 连接失败:检查 mongod 是否运行、网络是否可达、端口是否正确。
  • 认证失败:确认用户名、密码及认证数据库是否正确,用户是否有目标数据库的权限。
  • SSL 错误:若服务器启用 SSL,客户端需使用 --ssl 或提供 CA 证书。

相关问答 FAQs

Q1: 如何在连接后查看所有数据库?
A: 使用 show dbs 命令可列出所有数据库,

MongoDB命令行连接时如何指定主机和端口?-图3
(图片来源网络,侵删)
show dbs

Q2: 如何断开 MongoDB 命令行连接?
A: 输入 exitquit() 即可退出当前连接,返回终端:

exit
分享:
扫描分享到社交APP
上一篇
下一篇