MongoDB远程连接 Login error的原因及解决办法 Linux shell 脚本命令
2017-05-21 12:51
459 查看
先上重点:
一般的通过linux shell登录MongoDB的命令是这样的:
./mongo 192.168.0.XXX:27017/test -u user -p password
但是,有的时候,这个命令会登录不上去,报login error,原因有可能是:
没有指定authentication
mechanism,即没有指定身份认证机制。需要加上--authenticationMechanism这个选项,即:
./mongo 192.168.0.XXX:27017/test -u user -p password
--authenticationMechanism SCRAM-SHA-1
当然,此处authenticationMechanism的值是有两个选项的:
1、MongoDB 3.0以上版本推荐使用的SCRAM-SHA-1
2、旧的认证机制,MONGODB-CR
其实除了username、password、和authenticationMechanism之外,还有一个选项是digestPassword,是
Boolean类型。
最近工作中,由于种种原因产生了一个需求,需要在一台Linux主机上运行MongoDB,在另一台Linux主机上通过Shell脚本或命令的方式,远程连接并操作MongoDB。
MongoDB在安装后,bin目录下会有很多的可执行文件,其中mongo就是客户端文件。服务端运行着MongoDB,在客户端只需要使用mongo这一个可执行文件,就可以连接远程的MongoDB主机了。不需要在客户端保存所有的MongoDB安装文件。
mongo命令配合IP地址或者域名,可以访问远程的MongoDB,即:
./mongo 10.XXX.XXX.XXX
省略一些头信息:
./mongo 10.XXX.XXX.XXX --quiet
如果远程的MongoDB监听的不是默认的27017端口,还需要指定端口号,即:
./mongo 10.XXX.XXX.XXX:27027
在此基础上,可以指定访问的数据库,默认情况下数据库为admin,如:
./mongo 10.XXX.XXX.XXX:27027/myDatabase
如果需要指定用户名密码,则:
./mongo 10.XXX.XXX.XXX:27027/myDatabase -u userName -p password
指定身份认证方式:
./mongo 10.XXX.XXX.XXX:27027/myDatabase -u userName -p password
--authenticationMechanism SCRAM-SHA-1
需要同时运行JavaScript脚本:
./mongo
10.XXX.XXX.XXX test.js
也可以使用-eval直接跟JavaScript语句
./mongo
10.XXX.XXX.XXX –eval “db.test.find()”
在运行这些命令时,需要保证mongo有可执行权限,可以用chmod 777 mongo来解决权限不够的问题。
一般的通过linux shell登录MongoDB的命令是这样的:
./mongo 192.168.0.XXX:27017/test -u user -p password
但是,有的时候,这个命令会登录不上去,报login error,原因有可能是:
没有指定authentication
mechanism,即没有指定身份认证机制。需要加上--authenticationMechanism这个选项,即:
./mongo 192.168.0.XXX:27017/test -u user -p password
--authenticationMechanism SCRAM-SHA-1
当然,此处authenticationMechanism的值是有两个选项的:
1、MongoDB 3.0以上版本推荐使用的SCRAM-SHA-1
2、旧的认证机制,MONGODB-CR
其实除了username、password、和authenticationMechanism之外,还有一个选项是digestPassword,是
Boolean类型。
最近工作中,由于种种原因产生了一个需求,需要在一台Linux主机上运行MongoDB,在另一台Linux主机上通过Shell脚本或命令的方式,远程连接并操作MongoDB。
MongoDB在安装后,bin目录下会有很多的可执行文件,其中mongo就是客户端文件。服务端运行着MongoDB,在客户端只需要使用mongo这一个可执行文件,就可以连接远程的MongoDB主机了。不需要在客户端保存所有的MongoDB安装文件。
mongo命令配合IP地址或者域名,可以访问远程的MongoDB,即:
./mongo 10.XXX.XXX.XXX
省略一些头信息:
./mongo 10.XXX.XXX.XXX --quiet
如果远程的MongoDB监听的不是默认的27017端口,还需要指定端口号,即:
./mongo 10.XXX.XXX.XXX:27027
在此基础上,可以指定访问的数据库,默认情况下数据库为admin,如:
./mongo 10.XXX.XXX.XXX:27027/myDatabase
如果需要指定用户名密码,则:
./mongo 10.XXX.XXX.XXX:27027/myDatabase -u userName -p password
指定身份认证方式:
./mongo 10.XXX.XXX.XXX:27027/myDatabase -u userName -p password
--authenticationMechanism SCRAM-SHA-1
需要同时运行JavaScript脚本:
./mongo
10.XXX.XXX.XXX test.js
也可以使用-eval直接跟JavaScript语句
./mongo
10.XXX.XXX.XXX –eval “db.test.find()”
在运行这些命令时,需要保证mongo有可执行权限,可以用chmod 777 mongo来解决权限不够的问题。
相关文章推荐
- centos7 远程连接mongodb时,27017端口连接不上的解决办法
- 远程连接mongodb时,27017端口连接不上的解决办法
- SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
- 连接远程mysql数据库失败常见原因及解决办法
- SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
- 远程连接mongodb时,27017端口连接不上的解决办法
- 远程无法连接SQL2000及MySQL的原因和解决办法
- SQL Server不允许进行远程连接的解决办法.
- 远程桌面连接无法最大化的解决办法(转贴)
- SQL Server 不允许进行远程连接 解决办法[转]
- SQL Server不允许进行远程连接的解决办法
- 解决"远程计算机已结束连接"的办法
- 解决"远程计算机已结束连接"的办法
- SQL Server 2005无法进行远程连接的解决办法
- 远程连接MySQL速度慢的解决办法
- Windows 2003 远程桌面连接出错解决办法。(由于协议错误,会话将被中断。请重新连接到远程计算机。)
- 远程桌面超大最大连接数,无法连接服务器解决办法[转载]
- 远程桌面不能连接,出现awgina.dll取代错误的解决办法
- 远程桌面超大最大连接数,无法连接服务器解决办法
- mysql数据库连接过多的错误,可能的原因分析及解决办法