Yum安装MongoDB及数据库管理
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MongoDB简介MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为WEB应用提供可扩展的高性能
千家信息网最后更新 2026年11月01日Yum安装MongoDB及数据库管理
MongoDB简介
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。
MongoDB主要特点
- MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易
- 在MongoDB记录中设置任何属性的索引来实现更快的排序
- 通过本地或者网络创建数据镜像,使得MongoDB有更强的扩展性
- 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片
- Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组
- MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段
- Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作
- Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理
- Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作
- GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件
- MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可
- MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言
- MongoDB安装简单
MongoDB的安装
配置YUM源仓库
cd /etc/yum.repos.d/vim mongodb-org.repo//创建yum仓库,写入如下内容[mongodb-org]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.ascyum安装
yum install -y mongodb-org配置文件修改
配置文件的修改包括path、dbpath、port和bindIp,如果只在本机使用,完全可以不做更改直接使用,也可简单修改其监听地址(bindIp),为其他地址使用提供方便。
关闭防火墙及selinux
systemctl disable firewalld.servicesystemctl stop firewalld.servicesetenforce 0开启数据库
systemctl start mongod.servicenetstat -anpt | grep mongod
进入数据库
mongo //进入数据库db.version() //查看数据库版本show dbs //查看所有库db.getMongo() //查看当前数据库机器的连接地址开启多实例
创建path,dbpath目录
mkdir -p /data/mongodb/ //*保留原文件属性进行复制mkdir /data/mongodb/mongotouch /data/mongodb/mongod2.logchmod 777 /data/mongodb/mongod2.log复制并修改配置文件配置文件
path: /data/mongodb/mongod.logdbPath: /data/mongodb/mongoport: 27018bindIp: 0.0.0.0启动新实例
mongod -f /etc/mongod2.conf进入新实例数据库
mongo --port 27018netstat -anpt | grep mongod数据库管理
数据库基本操作
mongodb中创建库是和表紧密联系在一起的,要创建库,只需要use使用即可,当你没有在库中创建集合(表),则该库便不会存在,当你创建了集合之后,库也相应的同时存在。
> use python //若不存在则会自动创建python库,若是不创建集合,又会自行删除> db.createCollection('a') //创建名称为a的集合> db.a.insert({"name":"zhangsan","score":90,"hobby":["game","talk","sport"]})//集合中插入数据;字符串使用双引号;数值不加双引号;字符串数组使用[]括起来> db.users.update() //更改数据> show collections //查看集合> db.a.drop() //删除集合> db.dropDatabase() //删除数据库实例演示
> use stady //使用库switched to db stady> db.createCollection('school') //创建school集合{ "ok" : 1 }> db.school.insert({"id":1,"name":"lisi","score":90}) //向集合中插入数据WriteResult({ "nInserted" : 1 })> db.school.find() //查看集合中数据{ "_id" : ObjectId("5b4843900edf47ef3aa006f3"), "id" : 1, "name" : "lisi", "score" : 90 }> for(var i=2;i<=5;i++)db.school.insert({"id":i,"name":"tom"+i})//向集合中插入多条数据WriteResult({ "nInserted" : 1 })> db.school.find() //查看集合数据{ "_id" : ObjectId("5b4843900edf47ef3aa006f3"), "id" : 1, "name" : "lisi", "score" : 90 }{ "_id" : ObjectId("5b4844e70edf47ef3aa006f4"), "id" : 2, "name" : "tom2" }{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "tom3" }{ "_id" : ObjectId("5b4844e70edf47ef3aa006f6"), "id" : 4, "name" : "tom4" }{ "_id" : ObjectId("5b4844e70edf47ef3aa006f7"), "id" : 5, "name" : "tom5" }> db.school.findOne({"id":3}) //查看集合中第三条数据{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "tom3" }> a=db.school.findOne({"id":3}) //查看第三条记录,并将其赋予别名a{ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "tom3" }> typeof(a.id) //查看属性类型number //属性为数字> typeof(a.name) //查看属性类型string //属性为字符串> db.school.update({"id":3},{$set:{"name":"jack"}}) //修改数据WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })> db.school.findOne({"id":3}){ "_id" : ObjectId("5b4844e70edf47ef3aa006f5"), "id" : 3, "name" : "jack" }> db.school.count() //统计集合中有多少条记录5> db.createCollection('tea') //创建新集合{ "ok" : 1 }> show tables //查看库中集合schooltea> db.tea.drop() //删除集合true> show tables school //集合已删除> show dbs //查看库admin 0.000GBconfig 0.000GBlocal 0.000GBpython 0.000GBstady 0.000GB> use pythonswitched to db python> db.dropDatabase() //删除python数据库,首先必须先进数据库,在选择删除{ "dropped" : "python", "ok" : 1 }> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GBstady 0.000GB> 数据的导入导出
导出库中数据
[root@Nginx mongodb]#mongoexport -d stady -c school -o /opt/school.json //导出stady库中的school集合到/opt下,命名为school.json 注意:文件名一定是.json结尾,要在linux模式操作导入数据到库中
[root@Nginx mongodb]#mongoimport -d stady -c school2 --file /opt/school.json条件筛选导出
[root@Nginx mongodb]# mongoexport -d stady -c school -q '{"id":{"$eq":3}}' -o /opt/top3.json备份数据库
mkdir /backup //创建备份文件夹mongodump -d stady -o /backup/恢复数据库
mongorestore -d chen --dir=/backup/stady复制数据库
db.copyDatabase() //复制数据库####实例演示
db.copyDatabase("stady","stady2") //将stady库复制一个副本stady2show dbs //查看所有库show tables //查看库中所有集合复制集合到新实例
实例演示
mongo -port 27018 //进入新实例db.runCommand({"cloneCollection":"stady.school","from":"172.16.10.27:27017"})进程管理
实例演示
db.currentOp()db.killOp(1689)当你觉得某个进程占用资源量特别大时,可以将其结束,当你结束其之后,它又会重新加载,相当于进程初始化
数据
数据库
实例
文件
文档
函数
属性
存储
配置
数组
服务
演示
地址
字符
字符串
语言
进程
处理
查询
管理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
互联网高科技
喔噻互联网科技有限公司
广东万易互联网科技有限公司惠州分公司
江苏根荣互联网科技
科技与互联网
互联网科技垄断
互联网与未来科技
友谊互联网络科技
互联网科技博客
深圳国际航运科技和互联网
随着互联网科技发展
互联网科技项目计划书材料类
互联网公司黑科技创始人
互联网在线教育科技创业
皮皮虾互联网科技有限公司
中天科技中国工业互联网
上海互联网科技公司ppt
35岁以上互联网科技行业
绵阳真晨互联网科技有限公司
互联网科技资迅
互联网科技革命
苏州互联网科技贷款公司
卫星互联网科技股票
工业互联网山东科技大学
互联网企业科技类企业如何做账
上海创道互联网络科技有限公司
云鲸互联网络科技有限公司
盐城市攀科互联网科技有限公司
每日互联网科技新闻