mac系统下安装、启动、停止mongodb
<div id="cnblogs_post_body" class="blogpost-body"><p><span style="font-size: 14pt"><strong><strong><strong>mongodb是非关系型数据库,mysquel是关系型数据库,前者没有数据表这个说法,后者有</strong></strong></strong></span></p>
<p> </p>
<p><span style="font-size: 14pt"><strong>一.nosqlbooster下载地址:</strong></span></p>
<p><span style="font-size: 14pt">https://nosqlbooster.com/downloads</span></p>
<p> </p>
<p><strong style="font-size: 14pt"><strong>二. 本文主要讲解,安装包方式安装 mongodb,至于其他方式不做介绍。</strong></strong></p>
<h6><span style="font-size: 16px">下载Mongodb后,将Mongodb-3.2.5.tar.gz 复制到 /leleda002 路径下解压得到mongodb这个文件夹,(下图中的是我自己改了名字删掉了版本号)</span></h6>
<p><img src="https://images2017.cnblogs.com/blog/1086124/201801/1086124-20180106122149674-83721915.png" alt="" width="436" height="245"></p>
<p>刚下载打开的文件是没有 data、etc、以及log文件夹的。只有一个bin 文件夹。</p>
<p><span style="font-size: 14pt"><strong>三、文件建立。</strong></span></p>
<p>然后在根目录下新建 data 文件夹,里面再建一个db文件夹,就是上图中那个 usr文件夹上面的 那个data文件夹 ,里面是用来存放数据库的。</p>
<p>新建一个etc文件夹,用来放文件配置。</p>
<p><span style="color: rgba(255, 0, 0, 1); font-size: 18px"><strong>data/db——和于存放数据文件,etc——用于存放mongod.conf,log——用于存放mongod.logs 错误日志。</strong></span></p>
<p>mongod.conf 内容如下</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></span></div>
<pre><span style="color: rgba(0, 0, 0, 1)">#mongodb config file
dbpath</span>=/Users/wangxi/Documents/mongodb/data/db/<span style="color: rgba(0, 0, 0, 1)">
logpath</span>=/Users/wangxi/Documents/mongodb/<span style="color: rgba(0, 0, 0, 1)">mongod.log
logappend </span>= <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
port </span>= <span style="color: rgba(128, 0, 128, 1)">27017</span><span style="color: rgba(0, 0, 0, 1)">
fork </span>= <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">
auth </span>= <span style="color: rgba(0, 0, 255, 1)">true</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></span></div>
</div>
<p>这个主要是用来配置数据库位置,和错误输出的文件位置。</p>
<p><span style="font-size: 14pt"><strong>四、修改系统环境变量PATH</strong></span></p>
<p>把 /Users/wangxi/Documents/develop/mongodb/bin 目录加到PATH中。</p>
<p>(其实就是把mongodb/bin这个地址加一个快捷启动目录,找到当目录的方法,在控制台进入到该目录下,执行 pwd 便可以得到该目录)</p>
<p>修改环境变量的方法比较多,这里采用如下方式:</p>
<p>首先添加PATH:</p>
<div class="cnblogs_code">
<pre>echo <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">export PATH=/Users/wangxi/Documents/develop/mongodb/bin:$PATH</span><span style="color: rgba(128, 0, 0, 1)">'</span>>>~/.bash_profile </pre>
</div>
<p>如下</p>
<p><img src="https://images2017.cnblogs.com/blog/1086124/201801/1086124-20180106124437503-998942444.png" alt=""></p>
<p>添加完成后为使环境变量生效,可重启shell终端</p>
<p>或输入命令 source .bash_profile。</p>
<p>查看环境变量是否添加成功:</p>
<div class="cnblogs_code">
<pre>echo $PATH</pre>
</div>
<p>如下:</p>
<p><img src="https://images2017.cnblogs.com/blog/1086124/201801/1086124-20180106124545784-1072828146.png" alt=""></p>
<p>环境变量添加成功。</p>
<p>4.5、为数据库日志文件添加操作权限。</p>
<p> 新建立的data/db 通过查看是否与读写权限,如果没有的话需要添加读写权限</p>
<div class="cnblogs_code">
<pre>sudo chown -R用户名 /data/db</pre>
</div>
<p><img src="https://images2017.cnblogs.com/blog/1086124/201801/1086124-20180106131924409-2045152874.png" alt=""></p>
<p><span style="font-size: 14pt"><strong> 如何检测安装成功了呢:在控制台输入</strong></span></p>
<p> </p>
<div class="cnblogs_code">
<pre>which mongod</pre>
</div>
<p> </p>
<p>会出现一个路径就代表安装成功了</p>
<p> </p>
<p> </p>
<p><span style="font-size: 14pt"><strong>五、启动mongodb</strong></span></p>
<p>cmd+T 新建命令窗口,进入mongodb 的 "bin"目录,使用命令“./mongod” 或 ‘‘mongod’’ 启动mongoDB server,启动成功后最后一行应该是端口号,如下:</p>
<p>这一步是连接Mongodb的服务的</p>
<p><img src="https://images2017.cnblogs.com/blog/1086124/201801/1086124-20180106124739424-739095418.png" alt=""></p>
<h6>打开浏览器,输入localhost:27017,会出现“</h6>
<p>It looks like you are trying to access MongoDB over HTTP on the native driver port.<br>” 这样一行文字,然后可以重新打开一个终端 同样是。</p>
<p>5.5、新建窗口,输入 ./mongo 或 mongo , 尝试操作数据库:这个步骤是操作数据库了。不需要重新进入bin目录,新建窗口直接执行命令便可以</p>
<p><img src="https://images2017.cnblogs.com/blog/1086124/201801/1086124-20180106124817737-1252581456.png" alt=""></p>
<p> 出现上图的提示就代表连接成功了 ,终端上会一直显示一个 ‘>’ 符号,此时就可以输入mongodb的sql命令 了</p>
<h6><span style="font-size: 14pt"><strong>六.要停止mongodb一定要正确的退出,不然下次再次连接数据库会出现问题.</strong></span></h6>
<p> 在操作数据库的那个命令窗口中执行</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">use admin;
<span style="color: rgba(153, 51, 0, 1)">db.shutdownServer();</span></span></pre>
</div>
<p> <span style="color: rgba(255, 0, 0, 1); font-size: 14pt"><strong>备注:如果安装成功后,以后只需要启动MongoDB服务,然后金操作数据库就行了。就相当于只需要执行上边的 5 和 6 步骤就可以了。</strong></span></p>
<p> </p>
<p> </p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 14pt"><strong> 以上前4步骤是安装,56是连接服务器,启动数据库。</strong></span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 18px">在连接服务执行 “./mongod” 或 ‘‘mongod’’ 经常会出现一些问题,接下来将本人遇到的问题在下边做一整理。</span></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 16px">一、启动Mac下安装mongoldb 报错 shutting down with code:100。</span></p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></span></div>
<pre><span style="color: rgba(0, 0, 0, 1)">具体错误栈:
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.140</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span> I CONTROL MongoDB starting : pid=<span style="color: rgba(128, 0, 128, 1)">2382</span> port=<span style="color: rgba(128, 0, 128, 1)">27017</span> dbpath=/data/db <span style="color: rgba(128, 0, 128, 1)">64</span>-bit host=songyuxiangdeMacBook-<span style="color: rgba(0, 0, 0, 1)">Pro.local
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span> I CONTROL db version v3.<span style="color: rgba(128, 0, 128, 1)">4.9</span>
<span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL git version: 876ebee8c7dd0e2d992f36a848ff4dc50ee6603e
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span> I CONTROL OpenSSL version: OpenSSL <span style="color: rgba(128, 0, 128, 1)">0.9</span>.8zh <span style="color: rgba(128, 0, 128, 1)">14</span> Jan <span style="color: rgba(128, 0, 128, 1)">2016</span>
<span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL allocator: system
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL modules: none
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL build environment:
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL distarch: x86_64
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL target_arch: x86_64
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL options: {}
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span> I STORAGE exception <span style="color: rgba(0, 0, 255, 1)">in</span> initAndListen: <span style="color: rgba(128, 0, 128, 1)">29</span> Data directory /data/<span style="color: rgba(0, 0, 0, 1)">db not found., terminating
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I NETWORK shutdown: going to close listening sockets...
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I NETWORK shutdown: going to flush diaglog...
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span><span style="color: rgba(0, 0, 0, 1)"> I CONTROL now exiting
</span><span style="color: rgba(128, 0, 128, 1)">2017</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-11T09:<span style="color: rgba(128, 0, 128, 1)">31</span>:<span style="color: rgba(128, 0, 128, 1)">12.141</span>+<span style="color: rgba(128, 0, 128, 1)">0800</span> I CONTROL shutting down with code:<span style="color: rgba(128, 0, 128, 1)">100</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></span></div>
</div>
<p>这个是目录指定的问题。</p>
<p>参考我的启动命令。 </p>
<div class="cnblogs_code">
<pre>./mongod --dbpath ../data/db/<span style="color: rgba(0, 0, 0, 1)">
启动mongodb的shell客户端(command + T)<br><br><span style="color: rgba(153, 51, 0, 1)">/bin/mongod --dbpath /data/mongodb --logpath /data/mongodb/log/test.log --fork --port 27017
</span>
.</span>/mongo</pre>
</div>
<p>有的时候按照上边的步骤执行还是报错 100,这个时候看看data/db下边是不是有一个 mongod.lock 文件,这个代表上次退出不是正常退出导致文件被锁住了,所以不能正常启动。</p>
<p> </p>
<p>二、上边步骤4 环境变量配置步骤。</p>
<p>如果环境变量的配置出现错误,也可以理解为 路径的指定有误了,这个时候想要修改或者删除</p>
<p>环境变量的配置可以理解为他是将变量写在了一个文件里面</p>
<div class="cnblogs_code">
<pre> vi ~/<em id="__mceDel">.bash_profile<br><br></em></pre>
</div>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></span></div>
<pre>~/<span style="color: rgba(0, 0, 0, 1)">.bash_profile
这个就是环境变量的文件地址(可以这样理解)
vi </span>~/<span style="color: rgba(0, 0, 0, 1)">.bash_profile
利用 vi 查看这个文件,也就是在终端查看这个文件
如果找不到没有权限
sudo vi </span>~/<span style="color: rgba(0, 0, 0, 1)">.bash_profile
就可以看到相应的配置
修改:
vi </span>~/<span style="color: rgba(0, 0, 0, 1)">.bash_profile
dd要删除的代码,将光标放到要删除的那行双击dd
:wq保存文件并推出
source </span>~/.bash_profile或者关闭重启shell</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></span></div>
</div>
<p>改完之后输出一下,便可以看到是否更改了。</p>
<p> </p>
<h2><span style="color: rgba(128, 0, 0, 1)">※注意:</span></h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(153, 51, 0, 1)">mac 新系统以后基本都开启了安全模式 不能在 /data/db 下直接创建目录,
那么在安装好mongodb后 可以切换到安装目录下,例如“/usr/local/mongodb” 创建相对应的 ./data/db 目录,以及./log 目录
创建过相应的目录后就可以在这个目录下用下面的命令启动:
mongod --dbpath data --logpath log/mongod.log --logappend --port=27017 --fork
如果需要子啊前面加上 sudo
sudo mongod --dbpath data --logpath log/mongod.log --logappend --port=27017 --fork</span></pre>
</div>
<p> </p>
</div><br><br>
来源:https://www.cnblogs.com/presleyren/p/10870191.html
頁:
[1]