Ubuntu下mongodb的安装与配置

来源:互联网 发布:美萍培训班软件 编辑:程序博客网 时间:2024/06/05 15:25

 MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便。这里介绍在Ubuntu下mongodb的安装与配置。

1、下载

mongodb可以在官网上下载,地址,选择Ubuntu版本的下载即可。

2、安装

下载后解压缩到待安装目录,我这里下载在了Downloads目录下:

sudo tar -zxvf mongodb-linux-x86_64-ubuntu1404-3.2.4.tgz -C /usr/local
修改文件夹名:

sudo mv mongodb-linux-x86_64-ubuntu1404-3.2.4 mongodb
修改用户名和用户组:

sudo chown -R liu:liu mongodb
liu是我的用户名。这样mongodb就安装好了。

3、启动

在mongodb中的bin目录下有这样的两个文件:mongod和mongo,mongod是服务器端,mongo是客户端。要启动mongodb服务,需要先开启mongod。需要注意的是,mongodb默认存储数据库文件的目录是/data/db,如果没有这个目录的话会启动失败。不过可以使用--dbpath指定这个目录。

可以在mongodb目录下创建一个data/db,用作mongodb存储数据的目录:

sudo mkdir -p data/db
这样,就可以使用下面的命令启动mongodb了:

mongod --dbpath=data/db
然后就可以使用mongo连接数据库:

liu@Binja:~$ mongoMongoDB shell version: 3.2.4connecting to: testServer has startup warnings: 2016-03-28T20:21:02.766+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.2016-03-28T20:21:02.766+0800 I CONTROL  [initandlisten] 2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] 2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] 2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'2016-03-28T20:21:02.772+0800 I CONTROL  [initandlisten] > 
出现一个箭头表明连接成功。

不过,每次这样先启动在连接有点麻烦,可以将mongodb设置为开机自启动。首先把mongodb添加到环境变量中,使用vim打开~/.barsh,添加如下内容:

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

注意要使用mongodb的安装路径。

使用vim编辑器打开/ect/rc.local文件,在里面添加如下内容:

/usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/log/work.log --logappend --auth
这样,每次开机mongodb服务就启动了,直接使用mongo连接就好。

4、mongodb的简单使用

由于mongodb使用的javascript脚本,也可以进行简单的计算:

> 2*36> 
可以使用show dbs命令查看当前有哪些数据库:

> show dbslocal  0.000GBtest   0.000GB> 
这里列出了所有数据库的名字和大小。使用use dbname来切换当前的数据库:

> use testswitched to db test> 
这样,就切换到test数据库了,如果没有那个数据库,mongodb就会自动创建。使用db可以查看当前使用的数据库:

> dbtest> 
在mongodb中,db相当于关系型数据库比如MySQL中的database,mongodb中没有表的概念,不过和表相似的是集合,即collection,由于mongodb不是关系型数据库,集合中的数据也不像MySQL中那么整齐,集合中存储的内容是文档,mongodb的文档就像json文件一样。使用show collections可以查看当前数据库有哪些集合:

> show collectionspersontext> 
使用insert可以添加文档:

> db.text.insert({"x":1})WriteResult({ "nInserted" : 1 })> 
这样就插入了一个文档。使用find可以进行查询操作:

> db.text.insert({"x":2})WriteResult({ "nInserted" : 1 })> db.text.find(){ "_id" : ObjectId("56f92ab8f3637b774bfd01a4"), "x" : 1 }{ "_id" : ObjectId("56f92b08f3637b774bfd01a5"), "x" : 2 }> 
没有指定查询条件时返回所有的文档(如果文档数量过多只返回部分文档)。还可以在find中指定查询条件:
> db.text.find({"x":2}){ "_id" : ObjectId("56f92b08f3637b774bfd01a5"), "x" : 2 }> 
使用remove可以删除文档,不过要指定条件:

> db.text.remove({"x":1})WriteResult({ "nRemoved" : 1 })> db.text.find(){ "_id" : ObjectId("56f92b08f3637b774bfd01a5"), "x" : 2 }> 
以上就是mongodb的一些基础操作了,mongodb还有更多的操作更丰富的功能,这里就不介绍了。

1 0
原创粉丝点击