mongodb的安装配置与简单使用过程

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 MongoDB,通用型 2核4GB
简介:

   MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB是NoSQL中的一种,随着越来越多公司产品使用,已经开始逐步取代一些高性能查询的地位了。


它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:

面向集合存储,易存储对象类型的数据。

模式自由。

支持动态查询。

支持完全索引,包含内部对象。

支持查询。

支持复制和故障恢复。

使用高效的二进制数据存储,包括大型对象(如视频等)。

自动处理碎片,以支持云计算层次的扩展性

支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。

文件存储格式为BSON(一种JSON的扩展)

可通过网络访问

#########  安装过程  ##########

1、去mongodb的官网直接下载,这里我们下载了3.0.3的版本的。

1
2
3
4
5
6
7
8
9
10
11
12
[root@master yunwei] # tar zxf mongodb-linux-x86_64-3.0.3.gz -C /usr/local/
[root@master yunwei] # cd /usr/local
[root@master  local ] # ln -s mongodb-linux-x86_64-3.0.3 mongodb
[root@master  local ] # ll
lrwxrwxrwx   1 root root   26 Jun 15 10:26 mongodb -> mongodb-linux-x86_64-3.0.3
[root@master  local ] # cd mongodb
[root@master mongodb] # ll
total 68
drwxr-xr-x 2 root root  4096 Jun 15 10:26 bin
-rw-r--r-- 1 1046 1046 34520 May 12 05:35 GNU-AGPL-3.0
-rw-r--r-- 1 1046 1046  1359 May 12 05:35 README
-rw-r--r-- 1 1046 1046 22660 May 12 05:35 THIRD-PARTY-NOTICES

bin下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。

2、 启动MongoDB、要先建立好MongoDB 存放数据文件和日志文件的目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@master mongodb] # pwd
/mysqldata/mongodb
[root@master mongodb] # ll
total 8
drwxr-xr-x 2 root root 4096 Jun 15 14:27 db      # 存放db数据的文件
drwxr-xr-x 2 root root 4096 Jun 15 14:28 log     # 存放mongodb的日志文件
[root@master mongodb] # cd log
[root@master log] # pwd
/mysqldata/mongodb/log
[root@master log] # ll
total 4
-rw-r--r-- 1 root root 2440 Jun 15 15:06 mongodb.log
-rw-r--r-- 1 root root    0 Jun 15 15:05 mongodb.log.2015-06-15T07-06-06

3、在MongoDB安装目录下的bin下使用mongod启动MongoDB;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@master mongodb] # cd bin/
[root@master bin] # ll
total 116340
-rwxr-xr-x 1 1046 1046  4305912 May 12 05:35 bsondump
-rwxr-xr-x 1 1046 1046 11694552 May 12 05:43 mongo
-rwxr-xr-x 1 1046 1046 22349960 May 12 05:43 mongod
-rwxr-xr-x 1 1046 1046  6199144 May 12 05:35 mongodump
-rwxr-xr-x 1 1046 1046  6001840 May 12 05:35 mongoexport
-rwxr-xr-x 1 1046 1046  5956232 May 12 05:35 mongofiles
-rwxr-xr-x 1 1046 1046  6211952 May 12 05:35 mongoimport
-rwxr-xr-x 1 1046 1046  5686856 May 12 05:35 mongooplog
-rwxr-xr-x 1 1046 1046 22129448 May 12 05:43 mongoperf
-rwxr-xr-x 1 1046 1046  6332464 May 12 05:35 mongorestore
-rwxr-xr-x 1 1046 1046 10552760 May 12 05:43 mongos
-rwxr-xr-x 1 1046 1046  5909928 May 12 05:35 mongostat
-rwxr-xr-x 1 1046 1046  5769944 May 12 05:35 mongotop
[root@master bin] # ./mongod --help       # 可以使用--help查看mongodb的帮助文档
[root@master bin] # ./mongod --dbpath=/mysqldata/mongodb/db/ --logpath=/mysqldata/mongodb/log/mongodb.log &
[root@master log] # netstat -lanp | grep 27017
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      2661/. /mongod       
unix  2      [ ACC ]     STREAM     LISTENING     2420077 2661/. /mongod        /tmp/mongodb-27017 .sock

4、可以看到,已启动成功,现在使用mongo客户端访问一下该数据库,看到下面的就说明启动成功了(如果出现在些警告也没关系的)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@master bin] # ./mongo
MongoDB shell version: 3.0.3
connecting to:  test
Welcome to the MongoDB shell.
For interactive help,  type  "help" .
For  more  comprehensive documentation, see
     http: //docs .mongodb.org/
Questions? Try the support group
     http: //groups .google.com /group/mongodb-user
> show dbs;
local   0.078GB
> use  local ;
switched to db  local
> show tables;
startup_log
system.indexes
select  * from system.indexes;
2015-06-15T15:23:16.469+0800 E QUERY    SyntaxError: Unexpected identifier
>

############  MongoDB一些命令的使用  #############

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@master bin] # ./mongo
MongoDB shell version: 3.0.3
connecting to:  test
Welcome to the MongoDB shell.
> db     #查看所有数据库 
local
> show collections
startup_log
system.indexes
> use mydb  #直接use mydb 就可以创建mydb这个数据库
switched to db mydb
> db
mydb
> db.user.save({name: 'Rod' ,age:30})     #新增数据
for (var i=1;i<=10;i++) db.user.save({x:8,y:i})   #遍历插入10条数据
> db.user. find ()
"_id"  : ObjectId( "557e8101e23d20a4115e493d" ),  "x"  : 8,  "y"  : 1 }
"_id"  : ObjectId( "557e8101e23d20a4115e493e" ),  "x"  : 8,  "y"  : 2 }
"_id"  : ObjectId( "557e8101e23d20a4115e493f" ),  "x"  : 8,  "y"  : 3 }
"_id"  : ObjectId( "557e8101e23d20a4115e4940" ),  "x"  : 8,  "y"  : 4 }
"_id"  : ObjectId( "557e8101e23d20a4115e4941" ),  "x"  : 8,  "y"  : 5 }
"_id"  : ObjectId( "557e8101e23d20a4115e4942" ),  "x"  : 8,  "y"  : 6 }
"_id"  : ObjectId( "557e8101e23d20a4115e4943" ),  "x"  : 8,  "y"  : 7 }
"_id"  : ObjectId( "557e8101e23d20a4115e4944" ),  "x"  : 8,  "y"  : 8 }
"_id"  : ObjectId( "557e8101e23d20a4115e4945" ),  "x"  : 8,  "y"  : 9 }
"_id"  : ObjectId( "557e8101e23d20a4115e4946" ),  "x"  : 8,  "y"  : 10 }
> db.user. find ({y:{$lt:5}})     #查询y小于5的数据
"_id"  : ObjectId( "557e8101e23d20a4115e493d" ),  "x"  : 8,  "y"  : 1 }
"_id"  : ObjectId( "557e8101e23d20a4115e493e" ),  "x"  : 8,  "y"  : 2 }
"_id"  : ObjectId( "557e8101e23d20a4115e493f" ),  "x"  : 8,  "y"  : 3 }
"_id"  : ObjectId( "557e8101e23d20a4115e4940" ),  "x"  : 8,  "y"  : 4 }
> db.user.findOne()     #只查询第一条数据
"_id"  : ObjectId( "557e8101e23d20a4115e493d" ),  "x"  : 8,  "y"  : 1 }

mongodb的各种命令的使用我们可以在网上查一查,都有大量的资料,而且写得很详细。










本文转自 wei0164 51CTO博客,原文链接:http://blog.51cto.com/tanxw/1662068,如需转载请自行联系原作者
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
NoSQL MongoDB vr&ar
|
NoSQL Linux 索引
【译】使用MongoDB时,如何停止失控的索引创建过程?
【原文】https://scalegrid.io/blog/how-to-stop-a-runaway-index-build-in-mongodb/ 【译文】 在MongoDB上建索引可能会对MongoDB集群对可用性产生负面影响。
1613 0
|
消息中间件 NoSQL 应用服务中间件
|
存储 NoSQL
MongoDB的选举过程
MongoDB的复制集具有自动容忍部分节点宕机的功能,在复制集出现问题时时,会触发选举相关的过程,完成主从节点自动切换.
832 0
|
2天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。