Ubuntu 安装 MongoDb

MongoDB简介

MongoDB是一种强大,灵活,可扩展的数据存储方式。它扩展了关系型数据库的众多有用功能,如辅助索引,范围查询和排序。MongoDB的功能非常丰富,比如内置的对MapReduce式聚合的支持,以及对地理空间索引的支持。还有很多很多的特点。

对于入门级别的人来说,上面说的这些都是浮云,我现在体会不到它的容量,也体会不到它的横向扩展,更体会不到它的速率,这些都是当我们玩到一定的境界才会关心的问题。我单纯觉得它的好处就是非常容易上手,提供了一系列的API,不用写SQL语句。至于它和关系型数据库有什么区别,有哪些优点或者哪些缺点需要怎样改进都是以后的事了。

MongoDB的安装

我是在Ubuntu上安装的,所以第一种方式是最简单的方式,使用apt-get 方式安装,第二种方式使用手工下载下来的tar.gz包进行手工安装。

第一种方式:

先更新一下资源库

sudo apt-get update

sudo apt-get install mongodb
或者

sudo apt-get install mongodb=x.x.x
来指定版本号,但是这种方式有局限性,并不一定能保证每个版本都可以找到,这时可以参考官方的安装方式:

https://docs.mongodb.org/manual/tutorial/install-mongodb-enterprise-on-ubuntu/

使用第一种方式安装完成后基本不需要修改配置文件,配置文件在/etc/mongodb.conf,如果想要修改可自行修改。

注:如果想远程登录mongodb数据库,需要修改/etc/mongodb.conf中的一句话:

bind_ip = 0.0.0.0
#bind_ip = 127.0.0.1
把第二行注释掉,添加第一行即可。

启动:

sudo service mongodb start

停止:

sudo service mongodb stop

重启:

sudo service mongodb restart

启动成功后就可以使用mongo命令登陆数据库进行操作。


第二种方式:

打开官网,找到你想要安装的版本进行下载:https://www.mongodb.org/downloads#production

然后解压你下载的tar.gz 压缩包,拷贝bin目录到你想要安装的目录,比如我在我的home目录创建了mongodb目录,我的bin目录拷贝到了这里。

然后创建存放data和log的目录:

mkdir -p data
mkdir -p log
此时我的目录结构是:

mongodb

--bin

--data

--log

在bin目录下,有一些mongodb的命令,使用如下命令可以启动MongoDb

启动:

bin/mongod --dbpath data --logpath log

就可以启动了,然后使用如下命令登陆数据库:

bin/mongo

注:要在另外一个终端窗口中执行这个命令,因为此时的启动方式为前端启动,不能做其他操作,此时可以使用control + z 停止服务。


通过执行mongod来启动MongoDB服务器,mongod有很多的配置启动选项的,可以通过mongod --help来查看,其中有一些主要的选项:

--dbpath:指定数据目录,默认是/data/db/。每个mongod进程都需要独立的目录,启动mongod时就会在数据目录中创建mongod.lock文件,防止其他mongod进程使用该数据目录。

--port:指定服务器监听的端口,默认是27017。

--fork:以守护进程的方式运行MongoDB。

--logpath:指定日志输出路径,如果不指定则会在终端输出。每次启动都会覆盖原来的日志,如果不想覆盖就要用--logappend选项。

--config:指定配置文件,加载命令行未指定的各种选项。我们可以讲我们需要用到的选项写在某个文件中,然后通过该选项来指定这个文件就不必每次启动mongod时都要写。

比如我的配置文件mongodb.conf有如下配置, 我的mongodb.conf在mongodb目录下:

#port = 27017
fork = true
logpath = log
dbpath = data

就可以使用如下命令启动:

bin/mongod --config mongodb.conf


也可以使用如下命令启动:

bin/mongod --fork --dbpath data --logpath log --logappend

以守护进程的方式启动

启动MongoDB服务器成功,监听端口27017,等待客户端来连接。如果指定日志文件,这些日志就会被输出到指定的日志文件。如果设置为守护进程,就会创建一个子进程,当MongoDB服务器启动完成后父进程就会退出。

让MongoDB稳妥的停下来很重要,因为可能有的数据还在缓存没写入磁盘,稳妥停止是先让数据写进磁盘然后再结束MongoDB进程。


如果不能停止服务,请使用如下方式:

ps -ef | grep mongo

kill -9 [PID]




你可能感兴趣的:(数据库,Linux)