1.MongoDB简单说明
a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案。
b MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂的数据类型。
c MongoDB最大的特点就是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系型数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
回到顶部
2.准备工作
a 通过上面简单的介绍之后我们已经了解了MongoDB的基本信息,那么接下来我们首先需要在Linux下搭建它并且来使用它。
b MongoDB包下载地址:http://www.mongodb.org/downloads
c 操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp, MongoDB包。3.MongoDB安装
a 通过上面简单的准备工作之后,我们已经拥有了可以安装的包和发布的环境,如果上面没有准备充分,请自行准备,下面我们开始进行搭建环境
b 使用XShell连接Centos,连接成功后使用命令跳转到local下面创建自己的文件夹kencery,在此文件夹下面创建mongoDB文件夹,命令如下:
[root@localhostTEST ~]# cd /usr/local
[root@localhostTEST local]# mkdir kencery
[root@localhostTEST local]# cd kencery/
[root@localhostTEST kencery]# mkdir mongoDB
[root@localhostTEST kencery]# cd mongoDB/
c 然后使用Xftp将在上面下载的mongoDB包(mongodb-linux-x86_64-3.2.8.tgz)复制到mongoDB文件夹里面,并且将包解压,解压之后命名为mongoDB,如图所示:
[root@localhostTEST mongoDB]# tar -zxvf mongodb-linux-x86_64-rhel70-3.2.22.tgz
[root@localhostTEST mongoDB]# mv mongodb-linux-x86_64-rhel70-3.2.22 mongodb
d 跳转到mongodb下进行操作(cd mongodb/),
e自己创建两个文件夹:一个是db,一个是logs,db文件夹的作用是存放数据库目录,logs文件夹的作用是存放mongoDB的操作日志信息。
[root@localhostTEST mongoDB]# cd mongodb
[root@localhostTEST mongodb]# mkdir db
[root@localhostTEST mongodb]# mkdir logs
f 添加完成之后,启动mongoDB,验证是否安装成功,这里指定的数据库目录选项为mongodb下创建的db,命令如下,如图所示,则提示启动成功。
./bin/mongod --dbpath /usr/local/kencery/mongoDB/mongodb/db
g 重新打开一个连接页面,验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。不要把启动页面关闭。
4.MongoDB配置
a 通过上面的MongoDB安装,我们已经将其安装成功并且启动,但是发现启动太过于麻烦,所以需要我们自己给MongoDB配置配置文件,因MongoDB开发者没有配置样例,所以需要我们自己去创建并且写入内容。
b 首先我们在mongoDB解压之后的包里面进行操作,执行以下命令,打开编辑器。
[root@localhostTEST bin]# cd /usr/local/kencery/mongoDB/mongodb
[root@localhostTEST bin]# vim bin/mongodb.conf
c 打开编辑器之后将如下图所示的内容写入到编辑器中,保证是正确的,如果你的安装地址和我的不一致,则需要自己修改路径,编辑完成之后保存。
#数据文件存放目录
dbpath =/usr/local/kencery/mongoDB/mongodb/db
#日志文件存放目录
logpath =/usr/local/kencery/mongoDB/mongodb/logs/mongodb.log
#端口
port = 27017
#以守护程序的方式启动,即在后台运行
fork = true
#日志输出方式,使用追加的方式写日志
logappend=true
#PID File 的完整路径,如果没有设置,则没有PID文件
pidfilepath=/usr/local/kencery/mongoDB/mongodb/mongo.pid
#关闭http接口,默认关闭27018端口访问
#nohttpinterface = true
#声明这是一个集群的分片,默认端口27018
shardsvr=true
#设置每个数据库将被保存在一个单独的目录
#directoryperdb=true
#开启认证
#auth=true
#设开启简单的rest API,置后打开28017网页端口
rest = true
d MongDB请命令参数说明:
http://blog.csdn.net/fdipzone/article/details/7442162
e 返回至 mongodb目录,使用如下命令重新启动mongoDB,看是否配置文件起作用,命令如下
./bin/mongod --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf
启动失败了,MongoDB已经处于启动状态,没有关闭成功,需要处理一下。
查杀mongodb进程:
[root@localhostTEST mongodb]# ps -ef | grep mongo
Kill -2 PID,不要用 kill -9 PID,只需要查杀配置文件的启动进程
[root@localhostTEST mongodb]# kill -2 9026
重新启动 MongoDB:
./bin/mongod --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf
f 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。
5.MongoDB设置为系统服务并且设置开机启动
a 通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。
b.首先添加MongoDB系统服务,命令如下:
[root@localhostTEST mongodb]# vim /etc/rc.d/init.d/mongod
c 打开编辑器后,我们将下面的配置粘贴进去,然后保存
ulimit -SHn 655350
#!/bin/sh
# chkconfig: - 64 36
# description:mongod
case $1 in
start)
/usr/local/kencery/mongoDB/mongodb/bin/mongod --maxConns 20000 --config /usr/local/kencery/mongoDB/mongodb/bin/mongodb.conf
;;
stop)
/usr/local/kencery/mongoDB/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
;;
status)
/usr/local/kencery/mongoDB/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
;;
esac
d 保存完成之后,添加脚本执行权限,命令如下:
[root@localhostTEST mongodb]# chmod +x /etc/rc.d/init.d/mongod
e 启动MongoDB,如下图所示,则说明启动成功
[root@localhostTEST mongodb]# service mongod start
但是直接启动发现失败了,需要先停止已经启动的mongodb进程,kill -2 pid ,后期可以用f 的命令停止服务,再启动即可。
f 可以使用命令service mongod stop关闭MongoDB服务。
[root@localhostTEST mongodb]# service mongod stop
[root@localhostTEST mongodb]# service mongod start
g 将此服务设置为开机启动,命令如下:chkconfig mongod on,然后重新启动机器进行测试,发现开机服务应启动并且端口也在使用中。
[root@localhostTEST mongodb]# chkconfig mongod on
h 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。
6.MongoDB 后台管理 Shell
如果你需要进入 mongodb 后台管理,你需要先打开 mongodb 装目录的下的 bin 目录,然后执行 mongo 命令文件。
MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。
当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库):
[root@localhostTEST bin]# ./mongo
MongoDB shell version: 3.2.22
connecting to: test
6.MongoDB 后台管理 Shell
如果你需要进入 mongodb 后台管理,你需要先打开 mongodb 装目录的下的 bin 目录,然后执行 mongo 命令文件。
MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。
当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库):
[root@localhostTEST bin]# ./mongo
MongoDB shell version: 3.2.22
connecting to: test
由于它是一个JavaScript shell,您可以运行一些简单的算术运算,退出使用exit.
2+2
4
exit
bye
再次登录mongodb后台,插入一些简单的数据,并对插入的数据进行检索
[root@localhostTEST bin]# ./mongo
插入数据,检索数据(第一个命令将数字 10 插入到 runoob 集合的 x 字段中。)
db.runoob.insert({x:10})
WriteResult({ “nInserted” : 1 })
db.runoob.find()
{ “_id” : ObjectId(“6038a3ac15fbb0c58c47bf69”), “x” : 10 }
Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,
它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL,mongodb,让管理不同类型的资料库更加的方便。
(仅限学习使用-不可商业用途)工具下载地址:
链接:https://share.weiyun.com/5o4VSqU
密码:7qey2z
德实赋值