怎样做门户网站,win10 电脑做网站服务器吗,做微博推广的网站,深圳市九号公告提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 相关概念 1.2 特性 二、应用场景 三、安装 四、目录结构 五、默认数据库 六、 数据库操作 6.1 库操作 6.2 文档操作 七、MongoDB数据库备份 7.1 备… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 相关概念 1.2 特性 二、应用场景 三、安装 四、目录结构 五、默认数据库 六、 数据库操作 6.1 库操作 6.2 文档操作 七、MongoDB数据库备份 7.1 备份命令 7.2 恢复命令 总结 前言 MongoDB是一种面向文档的NoSQL数据库管理系统它采用了分布式文件存储结构可用于存储和处理大量结构灵活的文档数据。MongoDB以JSON样式的BSONBinary JSON格式存储数据支持复杂的查询和索引功能。它具有高可扩展性、高性能和高可用性并且适用于各种应用场景如Web应用、移动应用、物联网等。MongoDB被广泛应用于大数据、云计算和实时分析等领域。 提示以下是本篇文章正文内容下面案例可供参考
一、概述
mongodb是一个nosql数据库它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富最像关系数据库的。数据库格式为BSON。
1.1 相关概念 实例系统上运行的mongodb的进程类似于mysql实例 库每个数据库都是独立的有自己的用户权限独立存储集合类似于mysql的库 集合由一组文档构成类似于mysql的表 文档mongodb数据库的最小数据集是由多个键值对有序组合的数据单元类似于mysql的数据记录 主键 唯一标识一行数据
1.2 特性 1、面向集合文档存储适合存储json形式的数据 2、格式自由数据格式不固定数据结构发生变更的同时不会影响程序运行 3、面向对象的sql查询语句基本涵盖关系型数据库的所有查询语句 4、有索引的支持查询效率更快 5、支持复制和自动故障转移 6、可以使用分片集群提升查询性能
二、应用场景 游戏 物流 社交 物联网 视频直播 大数据
三、安装 编译安装 RPM安装 [mongodb-org-4.2] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp/server-4.2.asc yum install -y mongodb-org
[rootlocalhost yum.repos.d]# yum install -y mongodb-org
已加载插件fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.huaweicloud.com* updates: mirrors.huaweicloud.com
file:///mnt/repodata/repomd.xml: [Errno 14] curl#37 - Couldnt open file /mnt/repodata/repomd.xml
正在尝试其它镜像。
mongodb-org-4.2 | 1.3 kB 00:00
mongodb-org-4.2/7/primary | 25 kB 00:01
mongodb-org-4.2 210/210
正在解决依赖关系
-- 正在检查事务
--- 软件包 mongodb-org.x86_64.0.4.2.24-1.el7 将被 安装
-- 正在处理依赖关系 mongodb-org-tools 4.2.24它被软件包 mongodb-org-4.2.24-1.el7.x86_64 需要
-- 正在处理依赖关系 mongodb-org-mongos 4.2.24它被软件包 mongodb-org-4.2.24-1.el7.x86_64 需要
-- 正在处理依赖关系 mongodb-org-shell 4.2.24它被软件包 mongodb-org-4.2.24-1.el7.x86_64 需要
-- 正在处理依赖关系 mongodb-org-server 4.2.24它被软件包 mongodb-org-4.2.24-1.el7.x86_64 需要
-- 正在检查事务
--- 软件包 mongodb-org-mongos.x86_64.0.4.2.24-1.el7 将被 安装
--- 软件包 mongodb-org-server.x86_64.0.4.2.24-1.el7 将被 安装
--- 软件包 mongodb-org-shell.x86_64.0.4.2.24-1.el7 将被 安装
--- 软件包 mongodb-org-tools.x86_64.0.4.2.24-1.el7 将被 安装
-- 解决依赖关系完成依赖关系解决Package 架构 版本 源 大小正在安装:mongodb-org x86_64 4.2.24-1.el7 mongodb-org-4.2 6.2 k
为依赖而安装:mongodb-org-mongos x86_64 4.2.24-1.el7 mongodb-org-4.2 11 Mmongodb-org-server x86_64 4.2.24-1.el7 mongodb-org-4.2 20 Mmongodb-org-shell x86_64 4.2.24-1.el7 mongodb-org-4.2 13 Mmongodb-org-tools x86_64 4.2.24-1.el7 mongodb-org-4.2 26 M事务概要安装 1 软件包 (4 依赖软件包)总下载量70 M
安装大小253 M
Downloading packages:
警告/var/cache/yum/x86_64/7/mongodb-org-4.2/packages/mongodb-org-4.2.24-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 058f8b6b: NOKEY
mongodb-org-4.2.24-1.el7.x86_64.rpm 的公钥尚未安装
(1/5): mongodb-org-4.2.24-1.el7.x86_64.rpm | 6.2 kB 00:00:06
(2/5): mongodb-org-mongos-4.2.24-1.el7.x86_64.rpm | 11 MB 00:00:15
(3/5): mongodb-org-shell-4.2.24-1.el7.x86_64.rpm | 13 MB 00:00:06
(4/5): mongodb-org-server-4.2.24-1.el7.x86_64.rpm | 20 MB 00:00:17
(5/5): mongodb-org-tools-4.2.24-1.el7.x86_64.rpm | 26 MB 00:00:12
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 2.0 MB/s | 70 MB 00:00:34
从 https://www.mongodb.org/static/pgp/server-4.2.asc 检索密钥
导入 GPG key 0x058F8B6B:用户ID : MongoDB 4.2 Release Signing Key packagingmongodb.com指纹 : e162 f504 a20c df15 827f 718d 4b7c 549a 058f 8b6b来自 : https://www.mongodb.org/static/pgp/server-4.2.asc
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : mongodb-org-tools-4.2.24-1.el7.x86_64 1/5 正在安装 : mongodb-org-mongos-4.2.24-1.el7.x86_64 2/5 正在安装 : mongodb-org-shell-4.2.24-1.el7.x86_64 3/5 正在安装 : mongodb-org-server-4.2.24-1.el7.x86_64 4/5
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.正在安装 : mongodb-org-4.2.24-1.el7.x86_64 5/5 验证中 : mongodb-org-server-4.2.24-1.el7.x86_64 1/5 验证中 : mongodb-org-4.2.24-1.el7.x86_64 2/5 验证中 : mongodb-org-shell-4.2.24-1.el7.x86_64 3/5 验证中 : mongodb-org-mongos-4.2.24-1.el7.x86_64 4/5 验证中 : mongodb-org-tools-4.2.24-1.el7.x86_64 5/5 已安装:mongodb-org.x86_64 0:4.2.24-1.el7 作为依赖被安装:mongodb-org-mongos.x86_64 0:4.2.24-1.el7 mongodb-org-server.x86_64 0:4.2.24-1.el7 mongodb-org-shell.x86_64 0:4.2.24-1.el7 mongodb-org-tools.x86_64 0:4.2.24-1.el7 完毕启动数据库 systemctl start mongod.service 四、目录结构
rpm -ql mongodb-org-server /etc/mongod.conf 主配置文件 port: 27017 监听端口号 bindIp: 127.0.0.1 监听地址 /run/mongodb PID文件 /usr/bin/mongod 启动命令 /var/lib/mongo 存储数据文件 /var/log/mongodb 日志 rpm -ql mongodb-org-shell /usr/bin/mongo 客户端命令 rpm -ql mongodb-org-tools /usr/bin/mongodump 备份数据库 /usr/bin/mongoexport 备份文档 /usr/bin/mongoimport 恢复文档 /usr/bin/mongorestore 恢复数据库
五、默认数据库 admin 从权限的角度来看这是root数据库。要是将一个用户添加到这个数据库这个用户自动继承所有数据库的权限。 一些特定的服务器端命令也只能从这个数据库运行比如列出所有的数据库或者关闭服务器。 local: 这个数据库永远不会被复制可以用来存储限于本地单台服务器的任意集合。 config: 当Mongo用于分片设置时config数据库在内部使用用于保存分片的相关信息。
六、 数据库操作 6.1 库操作
登录数据库
mongo
[rootlocalhost ~]# mongo
MongoDB shell version v4.2.24
connecting to: mongodb://127.0.0.1:27017/?compressorsdisabledgssapiServiceNamemongodb
Implicit session: session { id : UUID(bb8264f9-b2bf-4492-b6b1-78f88888cf4f) }
MongoDB server version: 4.2.24
Welcome to the MongoDB shell.
For interactive help, type help.
For more comprehensive documentation, seehttps://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forumshttps://community.mongodb.com
Server has startup warnings:
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is always.
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** We suggest setting it to never
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is always.
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** We suggest setting it to never
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten]
---
Enable MongoDBs free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
查看数据库 show databases show dbs 显示当前所在数据库 db 切换数据库 use dbName 数据库创建 隐式创建 不用主动创建使用use newDB会自动创建不存在的数据库 只有在库中创建集合后才会保存并使用show dbs查看到 删除数据库 use dbName db.dropdatabase() 6.2 文档操作 查看集合 show tables 创建集合 db.createCollection(test) 删除集合 db.需要删除的集合名称.drop() 插入数据文档 db.集合名称.insert({key:value}) 单行 db.集合名称.insertmany([{key:value}{key:value}{key:value}]) 多行 mongodb默认数字的数据类型float浮点型若要改变为整型NumberInt(数字) 查询数据 全集合查询 db.集合名称.find({}) db.集合名称.find() 条件查询 db.info.find({查询条件1key:value,查询条件2,...},{key1:1|0,key2:1|0,...}) key:1 显示key:0 不显示 当显示的key只有一个时key:1 只显示该key及对应valuekey:0 显示除了该key之外其他所有keyvalue 查询集合中有多少文档 db.集合名称.count() 删除数据 全文删除 db.集合名称.remove({}) 条件删除 db.集合名称.remove({key:value}) 更新数据 db.info.update({_id:3}, {$set:{nickname:jack}}) 所有满足条件的文档都进行更新 db.info.update({userid:1003},{$set:{nickname:tom}},{multi:true}) 更新文档进行数值递增 db.info.update({userid:1003},{$inc:{likenum:NumberInt(1000)}})
七、MongoDB数据库备份
7.1 备份命令
mongodump 选项 -hhostname:port -uusername -ppassword --authenticationDatabasedbname -ddatabase -opath 语法 mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory mongoexport 选项 -hhostname:port -uusername -ppassword --authenticationDatabasedbname -ddatabase -opath 语法 mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json 7.2 恢复命令 mongorestore 选项 -hhostname:port -uusername -ppassword --authenticationDatabasedbname -ddatabase --drop 当目标数据库中存在同名集合则删除再恢复 语法 mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile 查看 [rootlocalhost ~]# mongo
MongoDB shell version v4.2.24
connecting to: mongodb://127.0.0.1:27017/?compressorsdisabledgssapiServiceNamemongodb
Implicit session: session { id : UUID(94fdfff5-03ac-4d95-a96b-f632b47a3f8b) }
MongoDB server version: 4.2.24
Server has startup warnings:
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2023-08-14T18:44:55.1420800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is always.
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** We suggest setting it to never
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten]
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is always.
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten] ** We suggest setting it to never
2023-08-14T18:44:55.1430800 I CONTROL [initandlisten]
---
Enable MongoDBs free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
--- show dbs
admin 0.000GB
config 0.000GB
jx 0.000GB
local 0.000GBuse jx
switched to db jxshow tables
info1mongoimport 选项 -hhostname:port -uusername -ppassword --authenticationDatabasedbname -ddatabase --drop 当目标数据库中存在同名集合则删除再恢复 语法 mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password backupDirectory/jsonFile.json 总结 mongodb是一个nosql数据库它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富最像关系数据库的。所以一起好好学吧