欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MongoDB服务搭建

程序员文章站 2022-04-30 23:35:44
...

介绍:介于关系数据库和非关系数据库之间的产品,基于分布式文件存储的数据库,将数据存储位一个文档,数据结构由键值对组成(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
相关标签: MongoDB