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

【数据库】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 路径中:

mv  mongodb-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

如果看到这句话则运行成功:[thread1] 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进行远程连接

 

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