森屿璃 發表於 2019-5-8 11:09:00

Linux下MongoDB安装和配置详解

<h2>一、创建MongoDB的安装路径</h2>
<p><span style="font-size: 14pt">在/usr/local/&nbsp; 创建文件夹mongoDB</span></p>
<p><span style="font-size: 14pt">mkdir&nbsp;mongoDB</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170424210030412-62465254.png"></span></p>
<h2>二、上传文件到Linux上的/usr/local/source目录下</h2>
<p><span style="font-size: 14pt">1. 我首先在mongoDB下载路径下载mongoDB下载对应的版本.</span></p>
<p><span style="font-size: 14pt">2.通过FTP工具将安装包上传到linux机器上面.</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170424210358303-227373191.png"></span></p>
<h2>三、解压文件</h2>
<p><span style="font-size: 14pt">1. 进入到/usr/local/source目录:</span></p>
<p><span style="font-size: 14pt">cd&nbsp;/usr/local/source</span></p>
<p><span style="font-size: 14pt">2. 运行如下命令:&nbsp;tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170424210739397-1337671446.png"></p>
<p><span style="font-size: 14pt">2. 重命名</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170424211035475-119035000.png"></span></p>
<h2>四、创建配置文件</h2>
<p><span style="font-size: 14pt">1.&nbsp;创建数据库文件夹</span></p>
<p><span style="font-size: 14pt">cd /usr/local/mongoDB/mongodbserver</span></p>
<p><span style="font-size: 14pt">mkdir data</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427204211850-523478259.png"></span></p>
<p><span style="font-size: 14pt">2.&nbsp;创建日志文件夹</span></p>
<p><span style="font-size: 14pt">cd /usr/local/mongoDB/mongodbserver</span></p>
<p><span style="font-size: 14pt">mkdir log</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427204613850-843678893.png"></span></p>
<p><span style="font-size: 14pt">3.&nbsp;创建配置文件夹与配置文件</span></p>
<p><span style="font-size: 14pt">3.1&nbsp;创建配置文件夹etc</span></p>
<p><span style="font-size: 14pt">cd /usr/local/mongoDB/mongodbserver</span></p>
<p><span style="font-size: 14pt">mkdir etc</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427204740537-412044592.png"></span></p>
<p><span style="font-size: 14pt">3.2 创建配置文件mongodb.conf</span></p>
<p><span style="font-size: 14pt">cd /usr/local/mongoDB/mongodbserver/etc</span></p>
<p><span style="font-size: 14pt">vim&nbsp;mongodb.conf</span></p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
<pre><span style="color: rgba(0, 0, 0, 1)">dbpath=/usr/local/mongoDB/mongodbserver/data
logpath=/usr/local/mongoDB/mongodbserver/logs/mongodb.log
port=27017
fork=true<br>journal=false
storageEngine=mmapv1</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
</div>
<h2>五、启动MongoDB</h2>
<p><span style="font-size: 14pt">1. mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可,如下所示:</span></p>
<p><span style="font-size: 14pt">./mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427213355506-683931454.png"></span></p>
<p><span style="font-size: 14pt">启动成功后,访问http://npfdev1:27017/ , 可以看到:</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427213447006-163786569.png"></p>
<p><span style="font-size: 14pt">2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)</span></p>
<p><span style="font-size: 14pt">利用mongo命令连接mongoDB服务器端:</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427214410522-78868136.png"></span></p>
<p><span style="font-size: 14pt">&gt; use admin<br><span style="font-size: 14pt">switched to db admin<br><span style="font-size: 14pt">&gt; db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});</span></span></span></p>
<p><span style="font-size: 14pt">成功后,你将会看到:</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170507180442148-299759750.png"></p>
<p><span style="font-size: 14pt">注:添加完用户后可以使用show users或db.system.users.find()查看已有用户.</span></p>
<p><span style="font-size: 14pt">3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.</span></p>
<p><span style="font-size: 14pt">4、使用权限方式启动MongoDB</span></p>
<p><span style="font-size: 14pt">在配置文件中添加:auth=true , 然后启动:</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201704/1119433-20170427215146615-276991171.png"></span></p>
<div><span style="font-size: 14pt">5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。&nbsp;</span></div>
<div><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170507180549507-1781757279.png"></div>
<div><span style="font-size: 14pt">&gt; use admin</span></div>
<div><span style="font-size: 14pt">&gt; db.auth("pfnieadmin","123456") &nbsp; #认证,返回1表示成功</span></div>
<h2>六、将mongod路径添加到系统路径中,方便随处执行mongod命令</h2>
<p><span style="font-size: 14pt">1. 在/etc/profile文件中,添加&nbsp;export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170504211503226-993997839.png"></p>
<p><span style="font-size: 14pt">2. 执行source /etc/profile,使系统环境变量立即生效</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170504211914757-119873179.png"></p>
<h2>七、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令</h2>
<p><span style="font-size: 14pt">1. 执行命令: ln -s&nbsp;/usr/local/mongoDB/mongodbserver/bin/mongo &nbsp;/usr/bin/mongo</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170504212307507-1404959127.png"></span></p>
<h2>八、测试是否方便随处执行mongo命令</h2>
<p><span style="font-size: 14pt">1. 回到任意路径下,执行mongo命令,连接mongod服务</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170504212619523-362012020.png"></p>
<p><span style="font-size: 14pt">2. 关闭mongod服务,执行db.shutdownServer()</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170507180638586-1984680641.png"></p>
<p><span style="font-size: 14pt">2017-04-20T18:32:26.865+0800 E QUERY Error: shutdownServer failed: {<br><span style="font-size: 14pt">        "ok" : 0,<br><span style="font-size: 14pt">        "errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }",<br><span style="font-size: 14pt">        "code" : 13<br><span style="font-size: 14pt">} :<br><span style="font-size: 14pt">_getErrorWithCode@src/mongo/shell/utils.js:25:13<br><span style="font-size: 14pt">DB.prototype.shutdownServer@src/mongo/shell/db.js:302:1<br><span style="font-size: 14pt">@(shell):1:1</span></span></span></span></span></span></span></span></p>
<p><span style="font-size: 14pt">解决办法,执行下面的语句,添加权限:</span></p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
<pre><span style="color: rgba(0, 0, 0, 1)">db.updateUser(
"pfnieadmin",
      {
         roles : [
                     {"role" : "userAdminAnyDatabase","db" : "admin"},
                     {"role" : "dbOwner","db" : "admin"},<br>                     {"role"&nbsp;:&nbsp;"clusterAdmin",&nbsp;"db":&nbsp;"admin"}
                   ]
      }
)</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
</div>
<p><span style="font-size: 14pt">然后在执行db.shutdownServer().</span></p>
<p><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170507180733195-669494826.png"></p>
<p><span style="font-size: 14pt">或者执行下面的命令关闭:</span></p>
<p><span style="font-size: 14pt">killall mongod</span></p>
<p><span style="font-size: 14pt">3. 启动mongod服务</span></p>
<p><span style="font-size: 14pt">mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf</span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170504214827148-118313394.png">&nbsp;</span></p>
<h2>九、MongoDB设置为系统服务并且设置开机启动</h2>
<p><span style="font-size: 14pt">1.通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。<br><span style="font-size: 14pt">2.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod<br><span style="font-size: 14pt">3.打开编辑器后,我们将下面的配置粘贴进去,然后保存</span></span></span></p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
<pre><span style="color: rgba(0, 0, 0, 1)">start() {
/usr/local/mongoDB/mongodbserver/bin/mongod--config /usr/local/mongoDB/mongodbserver/etc/<span style="color: rgba(0, 0, 0, 1)">mongodb.conf
}

stop() {
/usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --<span style="color: rgba(0, 0, 0, 1)">shutdown
}
<span style="color: rgba(0, 0, 255, 1)">case <span style="color: rgba(128, 0, 0, 1)">"<span style="color: rgba(128, 0, 0, 1)">$1<span style="color: rgba(128, 0, 0, 1)">" <span style="color: rgba(0, 0, 255, 1)">in<span style="color: rgba(0, 0, 0, 1)">
start)
start
;;

stop)
stop
;;

restart)
stop
start
;;
*<span style="color: rgba(0, 0, 0, 1)">)
echo
$<span style="color: rgba(128, 0, 0, 1)">"<span style="color: rgba(128, 0, 0, 1)">Usage: $0 {start|stop|restart}<span style="color: rgba(128, 0, 0, 1)">"<span style="color: rgba(0, 0, 0, 1)">
exit <span style="color: rgba(128, 0, 128, 1)">1<span style="color: rgba(0, 0, 0, 1)">
esac </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="https://common.cnblogs.com/images/copycode.gif"></span></div>
</div>
<p><span style="font-size: 14pt">4.保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod <br><span style="font-size: 14pt">5.启动MongoDB,service mongod start&nbsp;如下图所示,则说明启动成功:</span></span></p>
<p><span style="font-size: 14pt"><img src="https://images2015.cnblogs.com/blog/1119433/201705/1119433-20170507154716914-744849120.png"></span></p>
<p><span style="font-size: 14pt">6.可以使用命令service mongod stop关闭MongoDB服务。<br><span style="font-size: 14pt">7. 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。</span></span></p><br><br>
来源:https://www.cnblogs.com/memoryXudy/p/10830639.html
頁: [1]
查看完整版本: Linux下MongoDB安装和配置详解