MongoDB服务搭建

介绍:介于关系数据库和非关系数据库之间的产品,基于分布式文件存储的数据库,将数据存储位一个文档,数据结构由键值对组成(key–value);支持丰富的查询表达式,可以设置任何属性的索引,支持副本集,分片。

  • 搭建MDB服务器

1、装包

]# tar -xzf  /mongodb-linux-x86_64-rhel70-3.6.3.tgz
]# cp -r  mongodb-linux-x86_64-rhel70-3.6.3/bin/   /usr/local/mongodb/
]# cd /usr/local/mongodb/
]# mkdir -p etc  log  data/db          ##必须要手动创建的目录
]# ls
bin  data  etc  log

2、创建配置文件

]# vim /usr/local/mongodb/etc/mongodb.conf
logpath=/usr/local/mongodb/log/mongodb.log        ##日志路径
logappend=true                                    ##采用追加写入的方式
dbpath=/usr/local/mongodb/data/db                 ##数据库目录
fork=true                                         ##守护进程方式运行
bind_ip=ip地址                                    ##指定服务使用的ip,默认为127.0.0.1,仅限本机使用
port=端口号                                       ##指定服务使用的端口号

3、起服(起服有问题检查创建的目录是否正确)

]#/usr/local/mongodb/bin/mongod   -f  /usr/local/mongodb/etc/mongodb.conf
]# vim     /etc/bashrc                           ##可以使用别名设置
alias  mongodown='mongod --shutdown -f /usr/local/mongodb/etc/mongodb.conf'
alias  mongoup='mongod -f /usr/local/mongodb/etc/mongodb.conf'
]# mongodown                                     ##停止服务
]# mongod -h                                     ##查看选项帮助
4、连接服务(本地连接,默认没有密码)
]# ln -s /usr/local/mongodb/bin/mongo   /sbin/      
]# mongo  -host 192.168.4.51 
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
......
>show dbs                                        ##显示已有库
admin   0.000GB
config  0.000GB
local   0.000GB
>exit
Bye
  • MongoDB基本使用

1、数据库管理
命令格式:

show dbs                           ##查看已有的库
db                                  ##显示当前所在的库
use 库名                            ##库名 切换库,若库不存在延时创建库
db.dropDatabase()                  ##删当前所在的库

2、集合管理
命令格式:

show collections 或 show tables       ##查看库下已有集合
db.集合名.drop()                      ##删除集合
db.集合名.save({'',''})               ##创建集合,集合不存在时,创建并添加文档

3、文档管理
命令格式:

db.集合名.find()                      ##显示表中所有内容
db.集合名. count()                    ##统计集合中有几条记录
db.集合名.insert({name:”jim”,age:60}) ##插入记录 
db.集合名.find(条件)                  ##显示集合中满足条件的记录 
db.集合名.findOne()                   ##返回查询一条文档 
db.集合名.remove({})                  ##删除所有文档 
db.集合名.remove({条件})               ##删除与条件匹配的所有文档

4、基本数据类型

1)null:用于表示空值或者不存在的字段,{“x”:null} 2)布尔值:布尔类型有两个值true和false,{“x”:true}
3)数值:shell默认使用64为浮点型数值,既可以存整数也可以存小数,{“x”:3.14}或{“x”:3};对于整型值,可以使用NumberInt(4字节符号整数,存小数不报错但不存
小数位)或NumberLong(8字节符号整数,存小数会报错),
{“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}
4)字符串:UTF-8字符串都可以表示为字符串类型的数据,{name:“呵 呵”}
5)日期:日期被存储为自新纪元以来经过的毫秒数,不存储时区,{“x”:new Date()}
6)正则表达式:查询时,使用正则表达式作为限定条件,{“x”:/正则表达式/}
7)数组array:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]},一个字段有多个值
8)内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理,{“x”:{“y”:3 }}
9)对象id:对象id是一个12字节的字符串,是系统自动生成的文档的唯一标识,{“x”: ObjectId() }
10)二进制数据:二进制数据是一个任意字节的字符串。它不能直接在shell中使用。如果要将非utf-字符保存到数据库中,二进制数据是唯一的方式。
11)代码:查询和文档中可以包括任何JavaScript代码,{“x”:function(){//}}

三、数据导入导出
数据导出

语法一:/usr/local/mongodb/bin/mongoexport  --host 主机ip  --port 端口  -d 库名 -c 集合名 -f 字段名1,字段名2  --type=csv > 目录名/文件名.csv
语法二:/usr/local/mongodb/bin/mongoexport  --host 主机ip  --port 端口  -d 库名 -c 集合名 -q ‘{条件}’  -f 字段名1,字段名2  --type=csv > 目录名/文件名.csv
注意:导出为csv格式必须使用-f指定字段名列表
语法三:/usr/local/mongodb/bin/mongoexport  --host 主机ip  --port 端口-d 库名 -c 集合名 [-q ‘{条件}’  -f 字段名]  --type=json > 目录名/文件名.json

注意:导出为json格式字段名可以省略

数据导入

语法一:mongoimport  -host ip地址 --port 端口 -d 库名 -c 集合名  --type=json 目录名/文件名.json
语法二:mongoimport  -host ip地址 --port 端口 -d 库名 -c 集合名  --type=csv [--headerline]  [--drop]  目录名/文件名.csv(不指定字段名则需要加--headerline)

注意:导入数据时,若库和集合不存在,则先创建库和集合后再导入数据;
--------若库和集合已存在,则以追加的方式导入数据到集合里;
--------默认追加导入,若使用–drop选项可以删除原数据后导入新数据,–headerline 忽略标题

四、数据备份恢复
数据备份

mongodump [–host ip --port 端口] #备份数据所有库到当前目录下的dump目录下

]#mongodump  --host 192.168.4.51  --port 27017

mongodump [–host ip --port 端口] -d 数据库名 -c 集合名 -o 目录 #指定库和目录

]#mongodump  --host 192.168.4.51  --port 27017  -d  st  -c  pa  -o  /bak

bsondump 文件名 ##查看备份文件内容

]#bsondump  /bak/st/pa.bson

数据恢复

mongorestore --host ip地址 --port 端口 -d 数据库名 [-c 集合名] 备份目录名

]#mongorestore  --host 192.168.4.51  --port 27017 -d st  -c  pa
/bak/st/pa.bson
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值