MongoDB-------安装+操作命令+备份的恢复、管理、监控
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,文章目录一、MongoDB :二、Linux 系统安装MongoDB :第一步:配置 YUM 源仓库第二步:安装 MongoDB三、MongoDB 基础操作1、基本命令:2、备份、恢复:3、安全管理:
千家信息网最后更新 2024年11月22日MongoDB-------安装+操作命令+备份的恢复、管理、监控
文章目录
一、MongoDB :
二、Linux 系统安装MongoDB :
- 第一步:配置 YUM 源仓库
- 第二步:安装 MongoDB
三、MongoDB 基础操作
- 1、基本命令:
- 2、备份、恢复:
- 3、安全管理:
- 4、进程管理:
- 5、MongoDB 监控:
一、MongoDB :
(1)MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
(2)MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
(3)特点:
- 面向集合存储,易存储对象类型的数据;
- 模式自由、支持查询、支持动态查询;
- 支持完全索引,包含内部对象;
- 支持复制和故障恢复;
- 使用高效的二进制数据存储,包括大型对象(如视频等);
- 自动处理碎片,以支持云计算层次的扩展性;
- 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言;
- 文件存储格式为BSON(一种JSON的扩展);
- 可通过网络访问。
二、Linux 系统安装MongoDB :
1、配置 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.asc
2、安装 MongoDB
yum install mongodb-org -y
修改配置文件:
vim /etc/mongod.confbindIp: 0.0.0.0 //监听地址port: 27017 //监听端口
开启服务:
systemctl start mongod.service#查看服务启动情况netstat -natp | grep 27017
启动MongoDB 多实例:
cp -p /etc/mongod.conf /etc/mongod2.confvim /etc/mongod2.conf //修改以下代码: path: /data/mongodb/mongod2.log //日志文件目录 dbPath: /data/mongodb/mongo //数据存储目录 port: 27018 //服务器端口
创建实例的目录和日志文件:
mkdir -p /data/mongodb/cd /data/mongodb/mkdir mongo#创建日志文件touch mongod2.log#给于权限chmod 777 mongod2.log
启动实例:
mongod -f /etc/mongod2.conf mongo --port 27018 //指定实例的端口netstat -ntap
三、MongoDB 基础操作
1、基本命令:
(1)文档 : 相当于关系数据库的 行 (多个文档组成集合)
(2)集合 : 相当于关系数据库的 表 (多个集合组成数据库)
(3)数据库名特殊作用:
- admin: 将用户添加到这个库,这个用户继承数据库所有权限;
- local : 这个库永远不被复制,可以存储限于本地单台服务器的任意集合;
- config : 当Mongo用于分片设置时,这个库在内部使用,保存分片的相关信息。
mongo //进入数据库> db.version() //查看版本> show dbs; // 查看数据库> db.getMongo() //查看当前数据库机器的连接地址> db.集合名.help //显示集合操作命令> show users //显示用户
(4)具体操作:
> use school; //打开school数据库, 不存在会创建,不建立集合又会删除> db.createCollection('info') //创建集合> db.info.insert({"id":1,"name":"zhangsan","hobby":["game","talk"]}) //添加数据> db.info.find() //查看info集合中所有文档> show collections //查看数据库中所有集合> db.info.update({"id":10},{$set:{"name":"tom"}}) //更改数据> db.info.remove({"id":2}) //移除info集合中的id2的数据> db.info.drop() //删除info集合> db.dropDatabase() //删除数据库 先use到要删的数据库里在删> db.info.count() //统计有多少条数据
(5)MongoDB 数据类型:
- String: 字符串,最常用,必须是utf-8
- Boolean:布尔值,true 或者false
- Integer:整数
- Double:浮点数
- Arrays:数组或者列表,多个值存储到一个键
- Object:用于嵌入文档,即一个值为一个文档
- Null:存储null值
- Binary Data : 二进制数据,用于存储二进制数据
- Date:存储当前日期或时间unix时间格式
(6)查看数据类型:
> a=db.info.findOne({"id":1}) //查找指定记录并赋予别名a> typeof(a.id) //查看属性类型
2、备份、恢复:
(1)导入导出:
- 导出:mongoexport
- 导入:mongoimport
- 常见选项:
-d 数据库
-c 集合
-o 目录文件.json结尾
-q 导出数据过滤条件
-f 导出哪些列
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i}) //循环写入100条数据mongoexport -d school -c info -o /opt/info.json //导出mongoimport -d school -c info1 --file /opt/info.json //导入到info1集合mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json //条件导出指定第10行
(2)备份与恢复:
- 备份:mongodump
- 恢复:mongorestore
- 选项:
-h 指定Mongodb所在服务器的地址也可以指定端口(例:-h 127.0.0.1:27017)
-d :需要备份的数据库;
-o :备份数据存放的目录 该目录需提前创建
mkdir /backup //创建存放目录mongodump -d school -o /backup/ //备份school数据库mongorestore -d school1 --dir=/backup/school //恢复到school1数据库
④ 复制数据库:
db.copyDatabase("school","school2") //复制数据库school 到school2中
⑤ 克隆数据库:
把数据库school的info集合 克隆到实例2先进入实例2的MongoDBmongo --port 27018db.runCommand({"cloneCollection":"school.info","from":"192.168.126.130:27017"})
3、安全管理:
- 创建管理用户;
- 启动是必须指定 auth=true;
- 可以将用户分配角色;
- 内置数据库用户角色: read 、 readWrite;
- 数据库管理员角色: dbAmin 、 dbOwner 、 userAdmin;
- 超级用户角色 :root
vim /etc/mongod.conf
auth=true //添加mongo> use admin> db.createUser({"zkc":"root","pwd":"123","roles":["root"]})//创建用户zkc 密码123 分配到root角色> db.auth("root","123") //验证用户
4、进程管理:
- 终止正在运行的进程: db.killOp(opid值)、
- 查看当前正在运行的进程: db.currentOp()
> db.currentOp() //查看> db.killOp(4872) //终止4872进程
5、MongoDB 监控:
- MongoDB提供一些内置工具可以监测数据库的状态信息
- 查看数据库实例的状态信息: db.serverStatus()
- 查看数据库的统计信息: db.stats()
- 此外也可以通过web界面查看系统监控信息需要在配置文件中加入
vim /etc/mongod.confhttpinterface=true
数据
数据库
存储
用户
支持
文件
目录
备份
实例
管理
信息
文档
类型
角色
进程
服务
查询
对象
端口
语言
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何在某个数据库下创造表
托卡世界如何转换服务器
ITPT软件开发资格证
杭州web前端软件开发怎么样
服务器杀毒安全软件
工业网络技术专科就业前景
华为服务器开启管理口
怎么搜索国企软件开发呢
有没有开源的云服务器
阿里公司软件开发的待遇
奉贤区技术软件开发销售价格
张家港恒创软件开发公司
杨浦区数据软件开发价格表格
数据库后台计算
我的世界服务器服主管理指令
旧服务器改办公电脑
博兴工厂库存软件开发公司
战地5自己开的服务器没人玩
南阳网络技术有限公司怎么样
慧中it软件开发
做手机软件开发有前途
湖南做服务器的公司云空间
网络安全宣传周活动的主题
分布式网络安全概念龙头股
逻辑问卷调查数据库设计
python做企业软件开发
网络安全大赛贝
数据库的封装
数据库显示列中文名
南阳网络技术有限公司怎么样