MongoDB初步(3)_权限配置和远程登录

时间:2024-03-22 07:09:18

MongoDB版本:3.4.4

下载地址:链接:https://pan.baidu.com/s/1XBcBWclLTpx5jDBrjaxWEQ 密码:b585

前面已经写了关于MongoDB的安装过程,这里就不在赘述。本次安装的过程中没遇到啥问题,一路next,只是最后打开安装文件里面的mongod的时候出现了缺少api-ms-win-crt-runtime-l1-1-0这个dll文件。这里顺便给出我成功处理的方法:首先打开链接:https://pan.baidu.com/s/1HIUGubdMERTfFcwrqRn3Tw 密码:mw9q。然后就是执行以下就可以咯。然后就可以启动mongod程序了。接下来说正事儿

    原本MongoDB数据库安装好了后其实可以直接使用的,打开连接,默认用admin库就可以了。但是存在一个问题,如果我把端口开放了,并且是在外网,那么任何人都可以正常访问我的MongoDB数据库了,这肯定不是我想要的。接下来给出权限配置。在admin库下创建一个用户,权限直接用root,也就是创建一个超级管理员。下面给出步骤:1.use admin    2.db.createUser({user:"SuperAdmin",pwd:"123456abc",roles:["root"]})。    3.db.auth("SuperAdmin","123456abc")。然后就成功的创建了一个超级管理用户。当然这不是本文的重点,只是为接下来的操作做一个准备。

    创建好了超级管理员后,我常识在本地上连接服务器上的MongoDB服务,发现还是直接连接就可以了,根本不需要输入任何用户名和密码,于是乎,我做了下面几个操作,请注意我操作的顺序,一步一步的来,至少我按照这样的顺序成功了。下面给出处理的步骤:1.首先我创建一个数据库【TestDataBase】,这里涉及到一个命令 use TestDataBase。这个命令的意思就是,我要使用TestDataBase这一个数据库,但是如果没有这个数据库的话,则创建一个名为TestDataBase的数据库。2.为当前数据库创建一个用户,前面说了,我们使用命令 use TestDataBase后就已经进入了TestDataBase这个数据库了,此时我使用新的命令,这里还是截图来得清楚:MongoDB初步(3)_权限配置和远程登录上图表示我在当前的这个数据库中已经成功的创建了一个用户了。到了这里正常情况下应该是赶紧试试远程连接。这里远程连接我顺便说一下。在本地连接服务器上的MongoDB服务,你的cmd窗口应该会出现mongo既不是内部也不是外部命令之类的错误提示,我呢,为了省事儿,就在C盘新建了一个名为MongoDBRgv的文件夹,然后直接将服务器上面的MongoDB服务安装文件中的bin文件直接复制到新建的文件夹中,截个图表示一下:MongoDB初步(3)_权限配置和远程登录哈哈,我的做法是不是简单粗暴。于是乎我在cmd中一步一步的来,可能是健忘的原因,我每次都记不住文件夹名称。所以就出现了下面的命令:MongoDB初步(3)_权限配置和远程登录最后找到下面的一个mongo.exe文件直接运行就可以了MongoDB初步(3)_权限配置和远程登录这里运行后下面出现了一些错误提示,MongoDB初步(3)_权限配置和远程登录这个很正常,因为我的这一堆文件是直接从服务器上面复制过来的【前面说过的】。因此我从小在下面运行命令就正常连接成功了。MongoDB初步(3)_权限配置和远程登录这样就表示连接成功了。然后我迫不及待地写命令啊,什么show dbs啊 show collections啊反正就是想看看需不需要用户名和密码才能看到里面的数据库。然而发现还是能正常看到,没啥影响。故事进行到这个时候,我回过头来仔细想了一下,我是不是应该还有什么配置权限没有配置。因为我把MongoDB做成后台服务的时候也至始至终好像都没有进行和权限有关的配置。于是从这个点出发,我查了一下资料,发现我启动服务关联的配置文件需要加一个认证权限的标识。还是截图好了MongoDB初步(3)_权限配置和远程登录这里解释一下net和security。net中port标识绑定到服务器的侦听端口。bindip为四个0标识接受任何入站请求的外网IP地址。security中authorization为enabled表示外网入站ip请求是必须要进行权限认证。故事发展到了这里,事情也差不多告一段落了,于是乎我马上重启了cmd窗口,打开命令,上面的连接过程成功连接了服务器上面的MongoDB服务。然后下面我再用命令查一下有哪些数据库啊,哪些集合什么的,发现提示权限错误。此时我还是上截图好了MongoDB初步(3)_权限配置和远程登录这里我简单说一下连接打开数据过程。A.连接成功后马上使用use admin,切入到admin。然后进行权限认证,也就是db.auth命令。此时,我就可以为所欲为了。好了故事到这里差不多就要结束了。后面的都是一些基本操作。

    总结一下,本文主要陈述的有两点,第一:配置权限用户;第二:远程登陆演示。这里顺便提一下。登陆进来后需要进行use admin操作,切记。当然,还有更简单的操作比如:

格式一:mongodb://admin:[email protected]/
格式二:mongodb://admin:[email protected]/test
格式三【测试可以正常使用】:mongo TestAdmin:[email protected]:Port/TestDataBase
这些都可以操作的。好了,本次打字练习结束,祝大家生活愉快