MongoDB在线yum源安装及基本命令详解

MongoDB简介

1)Mongodb属于非关系性数据库 ,数据记录以文档形式(键值对)进行存储,即bson格式

2)不再有“行”(row)的概念,其运行方式主要基于两个概念:集合(collection)与文档(document)

3)支持各种编程语言:Ruby,Python,Java,C++,PHP,C#等多种语言

逻辑结构对比

关系型:数据库------》表------------》记录,字段

非关系型:数据库-----------》集合----------》键值对

何为键值对

书写格式:{键值:值}  

键值对:如{“name”:”zhangsan”}   键值必须双引号,值如果是数值(int)可以不用双引号引起来,如果是字符串(string)必须用双引号引起来。

本次实验在CentOS7系统上进行实施,首先配置网络YUM源,baseurl(下载路径)指定为mongodb官网提供的yum仓库

vim /etc/yum.repos.d/mongodb.repo

成都网站建设哪家好,找创新互联!专注于网页设计、网站建设公司、微信开发、微信小程序开发、集团成都企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:格栅板等众多领域,积累了大量丰富的经验,同时也获得了客户的一致好评!

[mongodb-org]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/             #指定获得下载的路径

gpgcheck=1                     #表示对从这个源下载的rpm包进行校验

enabled=1                   #表示启用这个源。

gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

重新加载yum源,并使用yum命令下载安装mongodb

yum list

yum -y install mongodb-org

等待下载好之后,修改配置文件,指定监听IP,端口默认为27017

vim /etc/mongod.conf

..........

bindIp:0.0.0.0      #监听任意地址
port:27017         #默认监听端口

启动mongodb服务,并进入mongodb。

mongodb服务的启动,关闭有两种方式

(1)systemctl start mongod.service     #启动

        systemctl stop mongod.service      #关闭

(2)   mongod -f /etc/mongod.conf      #启动 

         mongod -f /etc/mongod.conf --shutdown    #关闭

开启服务后,查看mongodb进程

netstat -antp | grep mongod

tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      16540/mongod

下面主要讲解Mongodb的基本操作及语句应用,mongodb十分人性化自带Tab键补全功能

不需要使用密码直接使用mongo命令进入服务

MongoDB在线yum源安装及基本命令详解

查看版本信息

> db.version()
3.6.7

查看数据库

> show dbs
admin     0.000GB
config    0.000GB
local     0.000GB
myschool  0.000GB
school    0.000GB

进入数据库(如果创建集合则自动创建数据库,如果没有创建集合则数据库没有被创建),

> use yun
switched to db yun

创建集合;插入数据信息,并同时创建集合info

> db.createCollection("abc")
{ "ok" : 1 }
> db.info.insert({"id":1,"name":"jack1"})
WriteResult({ "nInserted" : 1 })

查看集合


> show tables
info
> show collections
info

使用循环批量添加用户

> for (var i=2;i<=100;i++)db.abc.insert({"id":i,"name":"jack"+i});
WriteResult({ "nInserted" : 1 })

查看集合中的所有数据

> db.abc.find()

查看单条数据

db.abc.findOne({"id":10})

{

"_id" : ObjectId("5b972d38fb89e57a63998a84"),

"id" : 10,

"name" : "jack10"

> a=db.abc.findOne({"id":10})            #把这条记录定义别名为a
{
    "_id" : ObjectId("5b9a6f39e80a2611eecb6f7b"),
    "id" : 10,
    "name" : "jack10"

查看类型

> typeof(a.id)

number

> typeof(a.name)

String

修改数据:

db.info.update({"id":10},{$set:{"name":"tom10"}})   格式:条件在前,修改在后

db.info.findOne({"id":10})

{

"_id" : ObjectId("5b972d38fb89e57a63998a84"),

"id" : 10,

"name" : "tom10"

聚合函数统计记录

db.info.count()    

100

删除集合,数据

db.info.remove({"id":12})    //删除数据

Db.info.drop()        //删除集合

先进入该数据库,再用下面的命令删除数据库

Use  school

db.dropDatebase()      //删除数据库

数据跨实例克隆集合:

db.runCommand({"clonecollection":"school.info","from":"192.168.195.137:27017"})

数据的备份与恢复,导入与导出,是在linux的shell环境进行操作

数据导出

mongoexport -d school -c info -o /opt/school.jason

条件导出 -q  '{"id":{"$eq":10}}'

mongoexport -d school -c info -q '{"id":{"$eq":10}}' -o /opt/school10.jason

数据导入

mongoimport -d school -c infos --file /opt/school.jason

数据库备份与恢复,都不需要额外创建数据库和目录

数据库备份

mongodump -d yunwei(库名) -o /opt(路径)

数据库恢复

mongorestore -d yunjisuan2 --dir=/opt/yunjisuan

授权启动

在mongodb中进行授权

> use admin
switched to db admin
> db.createUser({"user":"root","pwd":"abc123","roles":["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }

退出mongodb,修改配置文件 指定auth=true,否则授权不起作用

vim /etc/mongod.conf

auth=true

重启服务,再进入mongodb,只有通过授权验证才可以查看数据信息

vim mongodb.conf

> use admin
switched to db admin
> db.auth("root","abc123")
1
> show dbs
admin  0.078GB
local  0.078GB


文章标题:MongoDB在线yum源安装及基本命令详解
地址分享:http://azwzsj.com/article/pdssge.html