MongoDB 如何通过 Shell 命令登录连接服务器,主要有两种形式,一是相关登录信息通过字符串包在一起,另一种是通过各自登录选项指定。
字符串包在一起
mongo "mongodb://{username}:{password}@{hostname}:{port}/{dbname}?authSource=admin"
值得注意的是,必须要有 authSource
参数指定验证用户,一般是 admin
。
示例如下:
[knowledgedict@Linux ~]# mongo "mongodb://test:123456@xxxx.xxxxx.xxx:27017/db_demo?authSource=admin"
登录成功后,输出如下:
MongoDB shell version v4.2.1 connecting to: mongodb://test:123456@xxxx.xxxxx.xxx:27017/db_demo?authSource=admin&compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("bc18c715-eba7-4f7b-06dd-6c4615aaf871") } MongoDB server version: 4.2.1
登录选项各自指定
除了把整个登录的相关信息包在一之外,也可以分开指定,具体如下:
mongo --host {hostname} --port {port} -u {username} --authenticationDatabase admin {dbname}
执行如上命令后,会弹出输入登录用户名密码的确认项:
MongoDB shell version v4.2.1 Enter password:
输入相应密码即可;也可以在第一次命令行里,通过参数 -p 指定密码(但是这样容易从其它用户通过历史 history 命令查看到,有安全风险,个人不建议):
mongo --host {hostname} --port {port} -u {username} -p {passport} --authenticationDatabase admin {dbname}
示例如下:
[knowledgedict@Linux ~]# mongo --host xxxx.xxxxx.xxx --port 27017 -u test -p 123456 db_demo