当前位置: 首页 > news >正文

系统学习Linux-MongoDB

概述

mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON

相关概念实例:系统上运行的mongodb的进程,类似于mysql实例;
库:每个数据库都是独立的,有自己的用户,权限,独立存储集合,类似于mysql的库;
 集合:由一组文档构成,类似于mysql的表;
 文档:mongodb数据库的最小数据集,是由多个键值对有序组合的数据单元,类似于mysql的数据记录;
主键:唯一标识一行数据
特性1、面向集合文档存储,适合存储json形式的数据;
2、格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行;
3、面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句;
4、有索引的支持,查询效率更快;
5、支持复制和自动故障转移;
6、可以使用分片集群提升查询性能

应用场景

游戏\物流\社交\物联网\视频直播\大数据


安装Mongodb

rpm安装

移动到yum.repos.d目录下创建mongodb的yum文件

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim mongo.repo 
写入以下内容
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc安装
[root@localhost yum.repos.d]# yum install -y mongodb-org..
..正在安装    : 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  完毕!

启动数据库并查看端口号

注:启动数据库服务特殊db没有b

systemctl start mongod.service 

[root@localhost ~]# systemctl start mongod.service 
[root@localhost ~]# netstat -antpu | grep mongod
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      74651/mongod   

目录结构

rpm -ql mongodb-org-server/etc/mongod.confport: 27017监听端口号
bindIp: 127.0.0.1监听地址
/run/mongodbPID文件
/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数据库在内部使用,用于保存分片的相关信息。

数据库操作

库操作命令整理

查看数据库show databases
show dbs
显示当前所在数据库db
切换数据库use  dbName
数据库创建隐式创建不用主动创建,使用use newDB,会自动创建不存在的数据库
只有在库中创建集合后才会保存,并使用show dbs查看到
删除数据库use dbName
db.dropdatabase()

 输入mongo就会进入数据库模式

[root@localhost ~]# mongo
MongoDB shell version v4.2.24
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("593314ff-d1da-4a78-b01b-128e04aa71d8") }
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:50:28.519+0800 I  CONTROL  [initandlisten] 
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] 
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] 
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] **        We suggest setting it to 'never'
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] 
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] **        We suggest setting it to 'never'
2023-08-14T18:50:28.519+0800 I  CONTROL  [initandlisten] 
---
Enable MongoDB's 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()
---> 

与mysql不同的查看命令dbs

> show databases
admin   0.000GB
config  0.000GB
local   0.000GB
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 两个命令都可以查看数据库

切换数据库

> use local
switched to db local   一切换到当前数据库> db
local  所在库

创建数据库

> use liweijia
switched to db liweijia

删除数据库

use dbName

db.dropdatabase()


文档操作

mongodb存储数字时默认是float,若要以整型形式存储numberInt()

文档操作命令整理

查看集合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及对应value,key: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)}})
创建集合
> db.createCollection('shiyan')
{ "ok" : 1 }查看集合
> show tables
shiyan删除集合
> db.shiyan.drop()
true
> show tables
>插入数据单行
创建数据库
> use lwj
switched to db lwj
> db.createCollection("test")
{ "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
lwj     0.000GB
test    0.000GB
> db.lwj.insert({'id':'1','name':'lwj1'})
WriteResult({ "nInserted" : 1 })插入数据多行
> db.lwj.insertMany([{'id':'2','name':'lwj2'},{'id':'3','name':'lwj3'},{'id':'4','name':'lwj4'}])
{"acknowledged" : true,"insertedIds" : [ObjectId("64dae9e52e7071ebd2631dcd"),ObjectId("64dae9e52e7071ebd2631dce"),ObjectId("64dae9e52e7071ebd2631dcf")]
}
> 全集合查询
> db.lwj.find()
{ "_id" : ObjectId("64dae4232e7071ebd2631dcc"), "id" : "1", "name" : "lwj1" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dcd"), "id" : "2", "name" : "lwj2" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dce"), "id" : "3", "name" : "lwj3" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dcf"), "id" : "4", "name" : "lwj4" }条件查询
检索id等于3的数据
> db.lwj.find({'id':'3'})
{ "_id" : ObjectId("64dae9e52e7071ebd2631dce"), "id" : "3", "name" : "lwj3" }
> 
条件查询其中{'name':'0'}则是除了name都显示,{'name':'1'}指的是只显示name
> db.lwj.find({'id':'3'},{name:0})
{ "_id" : ObjectId("64dae9e52e7071ebd2631dce"), "id" : "3" }
> db.lwj.find({'id':'3'},{name:1})
{ "_id" : ObjectId("64dae9e52e7071ebd2631dce"), "name" : "lwj3" }数据更新(匹配1,未完成0,已完成1)
> db.lwj.update({'name':'lwj1'},{$set:{'id':'1024'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
查看
> db.lwj.find({'name':'lwj1'})
{ "_id" : ObjectId("64dae4232e7071ebd2631dcc"), "id" : "1024", "name" : "lwj1" }

Mongodb数据库备份

备份命令:mongodump

选项-hhostname:port
-u<username>
-p<password>
--authenticationDatabase<dbname>
-d<database>
-o<path>
语法

mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory

-d 指定要备份的数据库名称 -h 指定主机名端口号如:localhost:27017 -u -p 用户密码

-o 指定备份文件输出的目录,备份文件以该目录为基准创建

备份命令:mongoexport

选项-hhostname:port
-u<username>
-p<password>
--authenticationDatabase<dbname>
-d<database>
-o<path>
语法

mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json

mongodump备份 首先要exit退出数据库模式
> exit
bye
[root@localhost ~]#  mongodump -d lwj -o /opt/lwj-back.json
2023-08-15T13:47:40.395+0800    writing lwj.lwj to /opt/lwj-back.json/lwj/lwj.bson
2023-08-15T13:47:40.396+0800    writing lwj.test to /opt/lwj-back.json/lwj/test.bson
2023-08-15T13:47:40.396+0800    done dumping lwj.lwj (4 documents)
2023-08-15T13:47:40.397+0800    done dumping lwj.test (0 documents)
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
lwj-back.json  rhmongoexport备份test合集 首先要exit退出数据库模式
> exit
bye
[root@localhost opt]# mongoexport -d lwj -c test -o /opt/test-bakc.json
2023-08-15T13:55:58.611+0800    connected to: mongodb://localhost/
2023-08-15T13:55:58.614+0800    exported 0 records
[root@localhost opt]# ls
lwj-back.json  rh  test-bakc.json
[root@localhost opt]# 

恢复命令:mongorestore

选项-hhostname:port
-u<username>
-p<password>
--authenticationDatabase<dbname>
-d<database>
--drop当目标数据库中存在同名集合则删除在恢复
语法mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile

恢复命令:mongoimport

选项-hhostname:port
-u<username>
-p<password>
--authenticationDatabase<dbname>
-d<database>
--drop当目标数据库中存在同名集合则删除在恢复
语法mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password  backupDirectory/jsonFile.json
先删除lwj数据库
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
lwj     0.000GB
test    0.000GB
> show tables
lwj
shiyan
> use lwj
switched to db lwj
> db.dropDatabase()
{ "dropped" : "lwj", "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
> 恢复数据库
[root@localhost ~]# ls /opt/lwj-back.json/*
lwj.bson  lwj.metadata.json  test.bson  test.metadata.json
[root@localhost ~]# mongorestore -d lwj -c lwj /opt/lwj-back.json/lwj/lwj.bson 
2023-08-15T14:22:08.515+0800    checking for collection data in /opt/lwj-back.json/lwj/lwj.bson
2023-08-15T14:22:08.516+0800    reading metadata for lwj.lwj from /opt/lwj-back.json/lwj/lwj.metadata.json
2023-08-15T14:22:08.520+0800    restoring lwj.lwj from /opt/lwj-back.json/lwj/lwj.bson
2023-08-15T14:22:08.581+0800    no indexes to restore
2023-08-15T14:22:08.581+0800    finished restoring lwj.lwj (4 documents, 0 failures)
2023-08-15T14:22:08.581+0800    4 document(s) restored successfully. 0 document(s) failed to restore.登陆mongo进行验证
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
lwj     0.000GB
test    0.000GB
> use lwj
switched to db lwj
> show tables
lwj
> db.lwj.find()
{ "_id" : ObjectId("64dae9e52e7071ebd2631dcd"), "id" : "2", "name" : "lwj2" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dce"), "id" : "3", "name" : "lwj3" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dcf"), "id" : "4", "name" : "lwj4" }
{ "_id" : ObjectId("64dae4232e7071ebd2631dcc"), "id" : "1024", "name" : "lwj1" }
> 
删除集合
> db.lwj.drop()
trup
> use lwj
switched to db hy
> show tables
> 
恢复lwj集合
[root@localhost hy]# mongoimport -d hy -c lwj /opt/lwj-back.json
2023-08-15T10:02:27.858+0800	connected to: mongodb://localhost/
2023-08-15T10:02:27.861+0800	6 document(s) imported successfully. 0 document(s) failed to import.
##查看
> show tables
lwj
> db.test.find()
{ "_id" : ObjectId("64dae9e52e7071ebd2631dcd"), "id" : "2", "name" : "lwj2" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dce"), "id" : "3", "name" : "lwj3" }
{ "_id" : ObjectId("64dae9e52e7071ebd2631dcf"), "id" : "4", "name" : "lwj4" }
{ "_id" : ObjectId("64dae4232e7071ebd2631dcc"), "id" : "1024", "name" : "lwj1" }
> 

除此之外表还可以导入到其它的库,创建一个新库yes,把集合test导入 

##创建库
> show dbs
admin   0.000GB
config  0.000GB
hy      0.000GB
local   0.000GB
> use yes
switched to db yes
> db.createCollection('hy')
{ "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
hy      0.000GB
local   0.000GB
yes     0.000GB
> show tables
hy
> 
##把集合test导入yes
[root@localhost hy]# mongoimport -d yes -c test /opt/test-back.json
2023-08-15T10:06:57.990+0800	connected to: mongodb://localhost/
2023-08-15T10:06:57.993+0800	6 document(s) imported successfully. 0 document(s) failed to import.
##验证
> show tables
hy
test
> db.test.find()
{ "_id" : ObjectId("64da3428cbf20d8dc76b3349"), "id" : "2", "name" : "hy2", "age" : "666" }
{ "_id" : ObjectId("64da3428cbf20d8dc76b334a"), "id" : "3", "name" : "hy3", "age" : "20" }
{ "_id" : ObjectId("64da3e5ccbf20d8dc76b334b"), "id" : "2", "name" : "hy4", "age" : "666" }
{ "_id" : ObjectId("64da3e5ccbf20d8dc76b334c"), "id" : "2", "name" : "hy5", "age" : "666" }
{ "_id" : ObjectId("64da414bcbf20d8dc76b334d"), "id" : "7", "name" : "hy7", "age" : 120 }
{ "_id" : ObjectId("64da337fcbf20d8dc76b3348"), "id" : "99", "name" : "hy1", "age" : "88" }

相关文章:

系统学习Linux-MongoDB

概述 mongodb是一个nosql数据库&#xff0c;它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富&#xff0c;最像关系数据库的。数据库格式为BSON 相关概念实例&#xff1a;系统上运行的mongodb的进程&#xff0c;类似于mysql实例&#xff1b;库&#xff1a;每个数…...

【带着学Pytorch】2、张量(Tensor)的介绍与创建

一、Tensor介绍 1.1、 张量是什么? 最开始在出现CPU和GPU, GPU出现主要解决的问题时并行计算,在此基础上的软件层面的工作基本上围绕着并行计算进行的,张量也不例外。 首先,我们先来聊聊 编程语言,python,java ,C,C++等,他们都有的共同特点是什么?在大学中计算机类…...

UniApp 制作高德地图插件

1、下载Uni插件项目 在Uni官网下载Uni插件项目&#xff0c;并参考官网插件项目创建插件项目. 开发者须知 | uni小程序SDK 如果下载下来项目运行不了可以参考下面链接进行处理 UniApp原生插件制作_wangdaoyin2010的博客-CSDN博客 2、引入高德SDK 2.1 在高德官网下载对应SD…...

C# 图像处理之灰色图转化为RGB图像

咨询通义千问的“C# 图像处理之灰色图转化为RGB图像”结果&#xff0c;看看如何&#xff1a; 在C#中&#xff0c;可以使用Image类来处理图像。要将灰色图像转换为RGB图像&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.创建一个灰色图像对象。 Image grayImage Imag…...

从零实战SLAM-第八课(非特征点的视觉里程计)

在七月算法报的班&#xff0c;老师讲的蛮好。好记性不如烂笔头&#xff0c;关键内容还是记录一下吧&#xff0c;课程入口&#xff0c;感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…...

Azure使用CLI创建VM

使用CLI创建VM之前&#xff0c;确保资源中的IP资源已经释放掉了&#xff0c;避免创建的过程中没有可以利用的公共IP地址打开 cloudshell ,并输入创建CLI的命令如下&#xff0c;-n指定名称&#xff0c;-g指定资源组&#xff0c;image指定镜像&#xff0c;admin-usernam指定用户名…...

Rust: 聊聊AtomicPtr<()>和 *const ()

在Bytes库在github源码&#xff08;https://docs.rs/bytes/1.1.0/src/bytes/bytes.rs.html#94-100&#xff09;有关Bytes的定义中&#xff0c; pub struct Bytes {ptr: *const u8,len: usize, // inlined "trait object"data: AtomicPtr<()>, vtable: &st…...

公网远程连接Redis数据库详解

文章目录 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 前言 洁洁的个人主页 我就问你有没有发挥&#xff0…...

天津报web前端培训班一定要选贵的吗?

根据这几年数据显示&#xff0c;IT行业飞速发展&#xff0c;岗位需求增多&#xff0c;Web前端是个很新的职业&#xff0c;在国内乃至国际上真正开始受到重视的时间不超过五年&#xff0c;Web前端开发是从网页制作演变而来&#xff0c;名称是有很明显的时代特性。 Web前端就业形…...

iptables学习笔记

iptables的结构&#xff1a; iptables由上而下&#xff0c;由Tables&#xff0c;Chains&#xff0c;Rules组成。 一、iptables的表tables与链chains iptables有Filter, NAT, Mangle, Raw四种内建表&#xff1a; 1. Filter表 Filter是iptables的默认表&#xff0c;它有以下…...

Express 实战(一):概览

在正式学习 Express 内容之前&#xff0c;我们有必要从大的方面了解一下 Node.js 。 在很长的一段时间里&#xff0c;JavaScript 一门编写浏览器中运行脚本的语言。不过近些年&#xff0c;随着互联网的发展以及技术进步&#xff0c;JavaScript 迎来了一个集中爆发的时代。一个…...

SpringBoot中的可扩展接口

目录 # 背景 # 可扩展的接口启动调用顺序图 # ApplicationContextInitializer # BeanDefinitionRegistryPostProcessor # BeanFactoryPostProcessor # InstantiationAwareBeanPostProcessor # SmartInstantiationAwareBeanPostProcessor # BeanFactoryAware # Applicati…...

中大型无人机远程VHF语音电台系统方案

方案背景 中大型无人机在执行飞行任务时&#xff0c;特别是在管制空域飞行时地面航管人员需要通过语音与无人机通信。按《无人驾驶航空器飞行管理暂行条例》规定&#xff0c;中大型无人机应当进行适航管理。物流无人机和载人eVTOL都将进行适航管理&#xff0c;所以无人机也要有…...

数字孪生和SCADA有哪些区别?

虽然SCADA和数字孪生用于工业领域&#xff0c;但它们有不同的用途。SCADA专注于工业过程的实时监测和控制&#xff0c;而数字孪生用于模拟和分析系统的性能。接下来&#xff0c;让我们详细讨论SCADA和数字孪生&#xff08;SCADA与数字孪生&#xff09;之间的区别。 SCADA与数字…...

[bug] 记录version `GLIBCXX_3.4.29‘ not found 解决方法

在使用mediapipe 这个库的时候&#xff0c;首次使用出现 GLIBCXX_3.4.29’ not found 错误&#xff0c; 看起来是安装mediapipe 的时候自动升级了 matplotlib 这个库&#xff0c;导致依赖的 libstd.so 版本不满足了&#xff0c;GLIBCXX_3.4.29 is an object from libstdc.so.…...

git 回滚相关问题

原本用as自带的git执行回滚任务&#xff0c; 但是提交之后发现并没有成功&#xff0c; 后面通过命令行的方式重新回滚并且提交上去&#xff0c;就可以了 说明as的git还是有点小瑕疵&#xff0c;还是命令行最稳妥 相关博文&#xff1a; git代码回滚操作_imkaifan的博客-CSDN博…...

SQL力扣练习(十一)

目录 1.树节点(608) 示例 1 解法一(case when) 解法二(not in) 2.判断三角形(610) 示例 1 解法一(case when) 解法二(if) 解法三(嵌套if) 3.只出现一次的最大数字(619) 示例 1 解法一(count limit) 解法二(max) 4.有趣的电影(620) 解法一 5.换座位(626) 示例 …...

如何将常用的jdbc方法封装起来???

你是否还在为每次新建项目连接数据库而烦恼&#xff1f;&#xff1f;&#xff1f;&#xff08;教你一次代码&#xff0c;简单完成每次连接&#xff09; 1.建立maven项目 还没下载安装或者不会建立maven项目的可以看这里哦&#xff1a;maven的下载安装与配置环境变量&#xff0…...

【1day】复现任我行协同CRM存在SQL注入漏洞

目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 任我行CRM是CRM(客户关系管理)、OA(自动化办公)、OM(目标管理)、KM(知识管理)、HR(人力资源)一体化的企业管理软件。通过建立组织运营管理铁三角(目标行动-企业文化-知识复制),一...

3D虚拟形象数字替身的制作及应用介绍

“虚拟数字人”这一词汇已经深入人心。从虚拟偶像、虚拟代言人到虚拟主播、虚拟员工各种类型虚拟数字形象不断进入公众视野&#xff0c;由于其与Z世代的独特亲和力以及与新媒体平台的高度适配性&#xff0c;虚拟数字人在各个领域都在呈崛起之势&#xff0c;并且有着深度的融合&…...

Spring中JavaBean的生命周期及模式

( 本篇文章大部分讲述了是底层知识&#xff0c;理念及原理 ) ( 如果只想了解&#xff0c;看我标记的重点即可&#xff0c;如果想明白其中原理&#xff0c;请耐心看完&#xff0c;对你大有受益 ) 目录 一、简介 ( 1 ) 是什么 ( 2 ) 背景概述 ( 3 ) 作用 二、生命周期 2.1 …...

Qt5开发环境-银河麒麟V10ARM平台

目录 前言1.源码下载2.编译安装2.1 安装依赖2.2 编译2.3 遇到的问题2.4 安装 3.编译qtwebengine3.1 安装依赖库3.2 编译3.3 遇到的问题3.4 安装 4.配置开发环境5.测试6.程序无法输入中文的问题总结 前言 近期因参与开发的某个软件需要适配银河麒麟v10arm 平台&#xff0c;于是…...

「Qt」文件读写操作

0、引言 我们知道 C 和 C 都提供了文件读写的类库&#xff0c;不过 Qt 也有一套自己的文件读写操作&#xff1b;本文主要介绍 Qt 中进行文件读写操作的类 —— QFile。 1、QFileDialog 文件对话框 一般的桌面应用程序&#xff0c;当我们想要打开一个文件时&#xff0c;通常会弹…...

0101前期准备-大数据学习

文章目录 1 前言2 配置VMware虚拟机2.1 设置主机名和固定IP2.2 本地系统与Linux系统配置主机名映射2.3 配置虚拟机之间用户的SSH免密互通2.4 安装JDK环境2.5 关闭防火墙和SELinux2.6 更新时区和同步时间2.7 保存虚拟机快照 结语 1 前言 我们从基础的hadoop开始学起&#xff0c;…...

TypeScript教程(四)基本运算符

一、运算符 TypeScript包含以下几种运算符&#xff1a; 1.算术运算符 2.逻辑运算符 3.关系运算符 4.按位运算符 5.赋值运算符 6.三元/条件运算符 7.字符串运算符 8.类型运算符 1.算术运算符 y5 运算符描述例子x 运算结果y 运算结果加法xy275-减法xy-235*乘法xy*2105…...

计算机网络的性能指标

计算机网络的性能指标 1. 速率 速率是指数据在网络中传送的速度&#xff0c;通常用比特率或数据率来表示&#xff0c;单位是b/s&#xff0c;或bit/s&#xff0c;即比特每秒&#xff0c;或者bps(bit per second)。 速率单位&#xff1a;1 Ybps 10^24 bps(尧), 1 Zbps 10^21…...

BBS项目day04 文章详情页、点赞点菜、评论功能

一、路由 from django.contrib import admin from django.urls import path, re_path from app01 import views from django.views.static import serve from django.conf import settingsurlpatterns [path(admin/, admin.site.urls),# 注册path(register/, views.register)…...

el-table分页后序号连续的两种方法

实现效果&#xff1a; 第一页排序到10&#xff0c;第二页的排序应从11开始 实现方法一&#xff1a; 在el-table的序号列中使用template定义 <el-table><el-table-columnmin-width"10%"label"序号"><template slot-scope"scope"…...

Nginx反向代理技巧

跨域 作为一个前端开发者来说不可避免的问题就是跨域&#xff0c;那什么是跨域呢&#xff1f; 跨域&#xff1a;指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的&#xff0c;是浏览器对javascript施加的安全限制。浏览器的同源策略是指协议&#xff0c;域名…...

kafka--kafka的基本概念-副本概念replica

三、kafka的基本概念-副本概念replica Broker 表示实际的物理机器节点 Broker1中的绿色P1表示主分片Broker2中的蓝色P1表示副本分片&#xff0c;其余类似&#xff0c;就是主从的概念&#xff0c;如果一个Broker挂掉了&#xff0c;还有其它的节点来保证数据的完整性 P可以看做分…...

css伪元素实现li列表圆点相连+锚点跳转悬浮窗实现

实现效果&#xff1a; html代码&#xff1a; <div class"sidenav"><ul class"nav-text progressbar"><!-- data-target的值对应要跳转的模块的id --><li data-target"module1"><div class"text">锚点…...

IronPDF for .NET Crack

IronPDF for .NET Crack ronPDF现在将等待HTML元素加载后再进行渲染。 IronPDF现在将等待字体加载后再进行渲染。 添加了在绘制文本时指定旋转的功能。 添加了在保存为PDFA时指定自定义颜色配置文件的功能。 IronPDF for.NET允许开发人员在C#、F#和VB.NET for.NET Core和.NET F…...

【C++进阶】继承、多态的详解(多态篇)

【C进阶】继承、多态的详解&#xff08;多态篇&#xff09; 目录 【C进阶】继承、多态的详解&#xff08;多态篇&#xff09;多态的概念多态的定义及实现多态的构成条件&#xff08;重点&#xff09;虚函数虚函数的重写&#xff08;覆盖、一种接口继承&#xff09;C11 override…...

excel快速选择数据、选择性粘贴、冻结单元格

一、如何快速选择数据 在excel中&#xff0c;希望选择全部数据&#xff0c;通常使用鼠标选择数据然后往下拉&#xff0c;当数据很多时&#xff0c;也可单击单元格使用ctrl A选中全部数据&#xff0c;此外&#xff0c;具体介绍另一种方法。 操作&#xff1a;ctrl shift 方向…...

【数仓建设系列之一】什么是数据仓库?

一、什么是数据仓库&#xff1f; 数据仓库(Data Warehouse&#xff0c;简称DW)简单来讲&#xff0c;它是一个存储和管理大量结构化和非结构化数据的存储集合&#xff0c;它以主题为向导&#xff0c;通过整合来自不同数据源下的数据(比如各业务数据&#xff0c;日志文件数据等)…...

Vue2-配置脚手架、分析脚手架、render函数、ref属性、props配置项、mixin配置项、scoped样式、插件

&#x1f954;:总有一段付出了没有回报的日子 是在扎根 更多Vue知识请点击——Vue.js VUE2-Day6 配置脚手架脚手架结构render函数vue.js与vue.runtime.xxx.js的区别引入render函数为什么要引入残缺的vue呢&#xff1f; 脚手架默认配置ref属性props配置项传递数据接收数据注意点…...

VS2015项目中,MFC内存中调用DLL函数(VC6生成的示例DLL)

本例主要讲一下&#xff0c;用VC6如何生成DLL&#xff0c;用工具WinHex取得DLL全部内容&#xff0c;VC2015项目加载内存中的DLL函数&#xff0c;并调用函数的示例。 本例中的示例代码下载&#xff0c;点击可以下载 一、VC6.0生成示例DLL项目 1.新建项目&#xff0c;…...

人流目标跟踪pyqt界面_v5_deepsort

直接上效果图 代码仓库和视频演示b站视频006期&#xff1a; 到此一游7758258的个人空间-到此一游7758258个人主页-哔哩哔哩视频 代码展示&#xff1a; YOLOv5 DeepSORT介绍 YOLOv5 DeepSORT是一个结合了YOLOv5和DeepSORT算法的目标检测与多目标跟踪系统。让我为您详细解释一…...

angular 子组件ngOnChanges监听@input传入的输入属性

在进入主题之前&#xff0c;先了解一下angular的生命周期。 生命周期 钩子分类 指令与组件共有的钩子 ngOnChangesngOnInitngDoCheckngOnDestroy 组件特有的钩子 ngAfterContentInitngAfterContentCheckedngAfterViewInitngAfterViewChecked 生命周期钩子的作用及调用顺序 …...

移植PeerTalk开源库IOS的USB通信监听服务到QT生成的FFmpeg工程

1.添加生成的PeerTalk库 下图选中部分为FFmpeg依赖库 将USB通信服务的m与h文件添加到工程 因为OC文件使用了弱指针,所以要启用弱指针支持 因为FFmpeg拉流动用到本地网络,所以要在plist文件中启动本地网络使用 设置PeerTalk为嵌入模式 设置Runpath Search Paths为@executable_p…...

PHREEQC模型化学热力学理论和数据库.dat、各种模拟反应平衡反应模拟、化学动力模拟、反应迁移模拟

PHREEQC是一个用于计算多种低温水文地球化学反应的计算机软件&#xff0c;以离子缔合水模型为基础的PHREEQC能够&#xff08;1&#xff09;计算物质形成种类与饱和指数&#xff1b;&#xff08;2&#xff09;模拟地球化学反演过程&#xff1b;&#xff08;3&#xff09;计算批反…...

centos下使用jemalloc解决Mysql内存泄漏问题

参考&#xff1a; MySQL bug&#xff1a;https://bugs.mysql.com/bug.php?id83047&tdsourcetags_pcqq_aiomsg https://github.com/jemalloc/jemalloc/blob/dev/INSTALL.md &#xff08;1&#xff09;ptmalloc 是glibc的内存分配管理 &#xff08;2&#xff09;tcmalloc…...

【100天精通python】Day41:python网络爬虫开发_爬虫基础入门

目录 专栏导读 1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略 1.4 爬虫的挑战 2 网络爬虫开发 2.1 通用的网络爬虫基本流程 2.2 网络爬虫的常用技术 2.3 网络爬虫常用的第三方库 3 简单爬虫示例 专栏导读 专栏订阅地址&#xff1a;https://blog.csdn.net/…...

开源和自研——机器人

双足机器人&#xff1a; MPC技术&#xff1a;封闭性非常高。没有开源方案可抄。 因为开源&#xff0c;不需要从0构建。 这也是前两年&#xff0c;国外一开源华为就遥遥领先。 射频芯片/射频天线&#xff1a;技术封闭。华为虽然做通信&#xff0c;但却没有攻破。 鸿蒙&#…...

【AIGC 讯飞星火 | 百度AI|ChatGPT| 】智能对比

AI智能对比 &#x1f378; 前言&#x1f37a; 概念类对比&#x1f375; 讯飞&#x1f375; 百度AI&#x1f375; chatGPT &#x1f379; 功能类对比☕ 讯飞☕ 百度AI☕ chatGPT &#x1f943; 可输入字数对比&#x1f964; 百度AI&#x1f964; 讯飞&#x1f964; chatGPT &…...

Wazuh安装及使用

环境配置 官方网址Quickstart Wazuh documentation 可以选择Elastic Stack安装&#xff0c;也可以选择下载虚拟机&#xff08;OVA&#xff09;安装 这里展示虚拟机安装 下载好文档中提供的文件 虚拟机配置要求 在VM左上角 文件->打开->刚刚下载的.ova文件&#xff0c…...

docker pull 设置代理 centos

On CentOS the configuration file for Docker is at: /etc/sysconfig/docker 用 root 权限打开 text editor sudo gedit 注意 加引号 Adding the below line helped me to get the Docker daemon working behind a proxy server: HTTP_PROXY“http://<proxy_host>:&…...

仪表板展示 | DataEase看中国:2023年中国电影市场分析

背景介绍 随着《消失的她》、《变形金刚&#xff1a;超能勇士崛起》、《蜘蛛侠&#xff1a;纵横宇宙》、《我爱你》等国内外影片的上映&#xff0c;2023年上半年的电影市场也接近尾声。据国家电影专资办初步统计&#xff0c;上半年全国城市院线票房达262亿元&#xff0c;已经超…...

在APP中如何嵌入小游戏?

APP内嵌游戏之所以能火爆&#xff0c;主要是因为互联网对流量的追求是无止境的&#xff0c;之前高速增长的红利期后&#xff0c;获取新的流量成为各大厂商的挑战&#xff0c;小游戏的引入&#xff0c;就是这个目的&#xff0c;为已有的产品赋能&#xff0c;抢占用户注意力和使用…...

神经网络基础-神经网络补充概念-02-逻辑回归

概念 逻辑回归是一种用于二分分类问题的统计学习方法&#xff0c;尽管名字中带有"回归"一词&#xff0c;但实际上它用于分类任务。逻辑回归的目标是根据输入特征来预测数据点属于某个类别的概率&#xff0c;然后将概率映射到一个离散的类别标签。 逻辑回归模型的核…...