darkpoon 发表于 2017-12-16 16:43:52

【数据库】Mean web开发 04-MongoDB在Linux上的安装及遇到的问题

  简介
  Mean是JavaScript的全栈开发框架。更多介绍
  用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分。
  MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它的特点是高性能、易部署、易使用,存储数据非常方便。
  MongoDB的学习资料可参考:
  MongoDB中文社区
  上一节介绍了NoSQL Manager for MongoDB客户端管理工具连接本地数据库及使用方法,这一节介绍MongoDB在Linux上的安装及连接。

Linux下安装MongoDB
  因为本地环境问题,我开发的时候一般喜欢直接连接到远程的私人服务器中,接下来让我们来尝试一下MongoDB在Linux上的安装、配置及连接。
  OS:Centos 7.2
  安装包下载地址:点击这里查看
  1.下载并解压:
  

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgz  

tar -zxvf mongodb-linux-x86_64-rhel70-3.4.4.tgz  

  2.将解压包移动到指定目录并添加路径:
  (/usr通常只包含系统发行时自带的程序,而/usr/local则是本地系统管理员用来自由添加程序的目录)
  MongoDB 的可执行文件位于 bin 目录下,所以将其添加到 PATH 路径中:
  

mvmongodb-linux-x86_64-rhel70-3.4.4/ /usr/local/mongodb  

export PATH=/usr/local/mongodb/bin:$PATH  

  3.MongoDB中的数据库目录必须要手动创建,一般是在MongoDB目录下创建data/db文件夹和logs文件:
  

cd /usr/local/mongodb  
mkdir -p data/db
  
touch logs
  


启动MongoDB及问题
  1.安装及配置完之后,在bin目录下运行:
  

cd bin  ./mongod --dbpath ../data/db
  

  如果看到这句话则运行成功: waiting for connections on port 27017

  2.在bin下面输入以下命令即可对MongoDB进行后台管理
  

./mongo  

  比如插入:
  

> db.runoob.insert({x:10})  
WriteResult({
"nInserted" : 1 })  

> db.runoob.find()  
{
"_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }  

>  

  

  

  注意的问题:
  1.如果在启动的时候遇到:
  

exception in initAndListen: 29 Data directory /data/db not found., terminating  

  说明指定的数据库路径不对,
  出现上面这个错误是因为 /data/db 目录不存在,若启动时,不指定任何参数, MongoDB 会默认使用 /data/db 目录存储数据,我们可以使用 --dbpath 来指定其它的路径,比如:
  

mongod --dbpath /Users/pantao/Workspace/MongoDB/db  

  2.之前CentOS版本是6.6.所以会遇到如下问题
  发现错误:./mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mongod)

  那是因为glibc版本太低(glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc)
  查看glibc版本,发现是2.12版本:

  或者执行:
  

strings /lib64/libc.so.6 |grep GLIBC_  

  所以建议用CentOS7.2版本,libc的版本是2.17不会出现这种问题。
  下一篇:用NoSQL Manager for MongoDB进行远程连接
页: [1]
查看完整版本: 【数据库】Mean web开发 04-MongoDB在Linux上的安装及遇到的问题