远程连接另一个主机上的MongoDB数据库服务器

本文介绍如何在MongoDB服务器上创建新用户并设置权限,同时调整服务器配置允许远程客户端连接。主要内容包括:通过命令行添加用户及设置用户名密码;修改配置文件实现远程访问。


首先添加用户

1、首先在MongoDB服务器主机上进行terminal命令行,输入

mongo

2、输入 use admin  进入用户管理数据库

3、db.addUser("username","password");这里的username和password分别为你要设置的用户名和密码,你可以多加几个,以备以后使用

如没有提错误信息,说明已成功添加用户。


其次,设置服务器可以通过其它主机的MongoDB客户端可以连接

1、在终端命令行上输入

sudo vi /etc/mongod.conf

2、在打开的文件中找到 

#bind_ip = 127.0.0.1 改为bind_ip=0.0.0.0 即可通过远程连接此服务器,以前是只可以在本地连接

#port = 27017 改为 port=27017 即设置远程连接的端口

#auth=true 改为 auto=true 即将权限验证连接数据库,如还需通过匿名访问或不通过权限验证访问,此处可以不改

3、重启MongoDB 

在命令行输入sudo service mongod restart

/etc/init.d/mongod restart

如提示类似以下信息,说明服务重启完成

mongod stop/waiting

mongod start/running, process 15883

再进行远程连接MongoDB数据库即可。

### 如何连接远程 MongoDB 数据库 #### 准备工作 为了能够成功连接远程MongoDB数据库,在确保服务器上的MongoDB服务已经正常运行并配置好网络访问权限之后,还需要完成一些准备工作。 - **确认防火墙设置**:确保服务器的防火墙已开放MongoDB默认使用的27017端口或其他自定义端口号[^1]。 - **验证MongoDB监听地址**:通过编辑`mongod.conf`文件来调整bindIp参数,使其不仅限于localhost而是可以接受来自外部IP地址的请求。例如,将bindIp设为0.0.0.0表示接受所有接口上的连接尝试[^2]。 #### 设置安全认证机制 对于生产环境下的MongoDB实例来说,启用身份验证是非常重要的一步。这可以通过创建具有适当角色分配的管理账号实现: ```javascript use admin; db.createUser({ user: "root", pwd: "your_password_here", roles: [ {role: "userAdminAnyDatabase", db: "admin"}, "readWriteAnyDatabase" ] }); ``` 上述脚本用于建立一个超级用户账户,拥有对整个集群内所有数据库读写的权利以及创建其他用户的权限[^4]。 #### 远程客户端连接方法 当完成了以上步骤后,就可以利用多种方式去连接远端部署好的MongoDB了: ##### 使用命令行工具 `mongo/mongosh` 如果是在Linux或MacOS环境下操作,则可以直接调用终端输入如下指令来进行登录: ```bash mongosh -u root -p your_password --authenticationDatabase admin mongodb://server_ip_address:port_number/ ``` 这里的`server_ip_address`代表目标机器的实际公网IPv4地址;而`port_number`则是之前提到过的MongoDB所占用的服务端口,默认情况下是27017[^5]。 ##### Windows平台下使用图形界面应用程序 对于习惯GUI操作的朋友而言,也可以借助Robo 3T (原名Robomongo)这样的第三方软件轻松达成目的。只需按照提示新建会话时填入相应的主机名称/IP、端口数值还有刚才设立好的用户名密码即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值