香水蝴蝶 發表於 2019-8-23 22:05:00

MongoDB设置用户名以及密码

<p>MongoDB 默认没有设置用户名密码,需要我们自己设置。简单来说首先设置一个管理所有用户角色的用户admin,然后<span><span>根据需要为此用户添加其他角色即可。</span></span></p>
<p>&nbsp;</p>
<p><span style="color: rgba(255, 102, 0, 1); font-size: 18px">1.设置一个管理所有用户角色的用户admin</span></p>
<p><span><span>例如,以下内容</span><span>使用</span><span>角色和&nbsp;</span><span>角色</span></span><code class="docutils literal"><span class="pre">myUserAdmin</span></code><span><span>在</span></span><code class="docutils literal"><span class="pre">admin</span></code><span><span>数据库中&nbsp;</span><span>创建用户</span><span>。</span></span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> admin
db.createUser(
{
    </span><span style="color: rgba(255, 0, 255, 1)">user</span><span style="color: rgba(0, 0, 0, 1)">: "myUserAdmin",
    pwd: passwordPrompt(), </span><span style="color: rgba(128, 128, 128, 1)">//</span> <span style="color: rgba(128, 128, 128, 1)">or</span><span style="color: rgba(0, 0, 0, 1)"> cleartext password
    roles: </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
}
)</span></pre>
</div>
<p><span><span>注意上面代码中的</span></span>passwordPrompt():</p>
<blockquote>
<p><span style="background-color: initial">Starting in version 4.2 of the&nbsp;</span><code class="xref mongodb mongodb-binary docutils literal"><span class="pre">mongo</span></code><span style="background-color: initial">&nbsp;shell, you can use the&nbsp;</span><code class="xref mongodb mongodb-method docutils literal"><span class="pre">passwordPrompt()</span></code><span style="background-color: initial">&nbsp;method in conjunction with various user authentication/management methods/commands to prompt for the password instead of specifying the password directly in the method/command call. However, you can still specify the password directly as you would with earlier versions of the&nbsp;</span><code class="xref mongodb mongodb-binary docutils literal"><span class="pre">mongo</span></code><span style="background-color: initial">&nbsp;shell.</span></p>
<p><span style="background-color: initial">从<code class="xref mongodb mongodb-binary docutils literal"><span class="pre">mongo</span></code>shell的4.2版开始,您可以将该<code class="xref mongodb mongodb-method docutils literal"><span class="pre">passwordPrompt()</span></code>方法与各种用户身份验证/管理方法/命令结合使用来提示输入密码,而不是直接在方法/命令调用中指定密码。但是,您仍然可以像使用早期版本的<code class="xref mongodb mongodb-binary docutils literal"><span class="pre">mongo</span></code>shell&nbsp;一样直接指定密码&nbsp;。</span></p>
</blockquote>
<p>然后需要授权(笔者在执行上面操作之后没有重启直接进行下一步可以实现):</p>
<div class="cnblogs_code">
<pre>use admin  //如果不重启可以,可以不用输入这句<br>db.auth("myUserAdmin", "abc123" )</pre>
</div>
<p>返回1表示成功。</p>
<p><span style="background-color: rgba(255, 255, 255, 1); color: rgba(255, 102, 0, 1); font-size: 18px">2.创建数据库用户</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> test
db.createUser(
{
    </span><span style="color: rgba(255, 0, 255, 1)">user</span><span style="color: rgba(0, 0, 0, 1)">: "myTester",
    pwd:passwordPrompt(),   </span><span style="color: rgba(128, 128, 128, 1)">//</span> <span style="color: rgba(128, 128, 128, 1)">or</span><span style="color: rgba(0, 0, 0, 1)"> cleartext password
    roles: </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
}
)</span></pre>
</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/w-honey/p/11402900.html
頁: [1]
查看完整版本: MongoDB设置用户名以及密码