MongoDB-------安装+操作命令+备份的恢复、管理、监控
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,文章目录一、MongoDB :二、Linux 系统安装MongoDB :第一步:配置 YUM 源仓库第二步:安装 MongoDB三、MongoDB 基础操作1、基本命令:2、备份、恢复:3、安全管理:
千家信息网最后更新 2025年02月05日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安全错误
数据库的锁怎样保障安全
mysql如何运行数据库
计算机专业软件开发
代理服务器开启有什么好处
X79服务器主板
服务器安全维护要多久
手机软件开发公司上市企业
晋江网站建设软件开发
ssh 数据库
政府对于网络安全有哪些政策
网络技术人员流失
鑫诚软件开发有限公司
招行信用卡软件开发
深圳pc软件开发报价
搭建教育平台数据库的技术
网络技术术语与协议层
服务器设置远程访问
租用境外服务器
软件开发项目计划模版
id 链接删除数据库
成都西电网络安全研究员崔艳鹏
怎么查看大数据库密码是什么
区块链需要网络安全
上海采购管理软件开发公司
密码是保障网络安全及安全等
东北大学网络技术部
泰拉瑞亚服务器地图上传
爱蜜网络技术有限公司
软件开发生命周期缩写
新浪云 数据库
拨号提示服务器无响应