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

Docker搭建MySQL

Docker搭建MySQL

准备工作

  1. 先准备配置目录和持久化目录,举个栗子:mkdir -p /opt/module/mysql/{conf,data,log}
  2. 准备配置文件*.cnf,放到/opt/module/mysql/conf目录下。
  3. 当然不准备也没事,容器中有个默认配置:/etc/mysql/conf.d/my.cnf

拉取官方MySQL镜像

# 拉取 mysql8.0.33
docker pull mysql:8.0.33
docker pull mysql:5.7 # 拉取最新版mysql镜像
docker pull mysql

运行镜像【安装MySQL8.0】

docker run -d -p 3306:3306 --name mysql \
-v /opt/module/mysql/conf:/etc/mysql/conf.d \
-v /opt/module/mysql/data:/var/lib/mysql \
-v /opt/module/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root mysql:8.0.33

-d 表示后台启动;
-p 3306:3306 表示端口映射,前面是主机端口,后面是代表容器端口;
--name mysql 表示容器名称;


-v /opt/module/mysql/conf:/etc/mysql/conf.d 挂载配置文件,前面是主机目录,后面是容器内目录。
特别说明:

  • MySQL默认配置文件为/etc/mysql/my.cnf,该文件里面最后有一行!includedir /etc/mysql/conf.d/,表示包含该文件夹下面的*.cnf配置,故自定义配置放到该目录下即可;
  • 比较常用的方式是-v /opt/module/mysql/conf/my.cnf:/etc/mysql/my.cnf,直接挂载/opt/module/mysql/conf/my.cnf替换掉/etc/mysql/my.cnf文件;
  • 两种方式都行,个人更喜欢前一种;

-v /opt/module/mysql/data:/var/lib/mysql 挂载数据文件,前面是主机目录,后面是容器内目录;

-v /opt/module/mysql/log:/var/log/mysql 挂载数据文件,前面是主机目录,后面是容器内目录;

-e MYSQL_ROOT_PASSWORD=root 表示增加环境变量,等号前面是变量名称,这里是设置密码为root;
mysql:8.0.31 表示镜像名称和tag;

设置mysql开机自启

#查看是否运行
docker ps -a
#设置mysql开机自启
sudo docker update mysql --restart=always

查看启动日志

#docker logs [服务id/服务名]
docker logs mysqldocker logs -f -t --tail 20 mysql

进入MySQL容器内部

docker ps -a     # 查看正在运行的容器,并得到 容器id# 进入mysql容器内部
docker exec -it [容器id] /bin/bash  # 中间那个是容器id 就是 CONTAINER_ID
#  -it 表示进入
docker exec -it mysql bash
docker exec -it mysql /bin/bash
# 使用 命令别名 开启 ll命令
cat <<EOF >> /etc/profile
alias ll='ls -l --color=tty'
alias grep='grep --color=auto'
EOF

检查

# 执行如下命令可以登录MySQL
docker exec -it mysql mysql -uroot -p  #回车后输入密码进入MySQL
# 执行相关MySQL语句查询
show databases; #回车

配置my.cnf

cat <<EOF >> /opt/module/mysql/conf/my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
EOF

查看docker下的ip地址

docker inspect [container_id 容器id]docker inspect [container_id 容器id] | grep ip addressdocker inspect --format='{{.NetworkSettings.IPAddress}}' [container_id 容器id]

查看防火墙【开放端口】

# 查询端口是否开放
firewall-cmd --query-port=3306/tcp# 开放3306端口
firewall-cmd --permanent --add-port=3306/tcp# 移除端口
firewall-cmd --permanent --remove-port=3306/tcp# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload# 查看已经开发那些端口
firewall-cmd --list-ports
firewall-cmd --zone=public --list-ports

卸载

#停止mysql服务(也可以停止其他)
#docker stop [容器id/容器名]
docker stop mysql#删除mysql服务(也可以删除其他)
#docker rm [服务id/服务名]
docker rm mysql#删除mysql镜像
#docker rmi [镜像id/镜像名]
docker rmi mysql

常见错误

mysql Tablespace exists解决
1813 - Tablespace ‘xx.xx`’ exists.

执行如下命令:

mysql> show global variables like "%datadir%";
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.03 sec)
去这个目录(/var/lib/mysql/ )下面找 表名.idb 文件,
删除该.ibd文件文件后,再重新创建表就没有问题了

补充MySQL权限操作

MySQL中:

  1. 创建hadoop用户,密码为:root
  2. 给hadoop用户,分配可以操作AAA、BBB数据库权限
  3. 开启hadoop用户的远程访问权限

在MySQL中,你可以通过以下步骤来完成上述任务:

  1. 创建用户并设置密码
CREATE USER 'hadoop'@'localhost' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;

这将在本地创建一个名为’hadoop’的用户,并设置密码为’root’。如果要允许从任何主机远程访问,可以使用以下命令:

CREATE USER 'hadoop'@'%' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;
  1. 给用户分配数据库权限【指定数据库】
GRANT ALL PRIVILEGES ON AAA.* TO 'hadoop'@'localhost';
GRANT ALL PRIVILEGES ON BBB.* TO 'hadoop'@'localhost';
FLUSH PRIVILEGES;

这将授予用户’hadoop’在本地对数据库’AAA’和’BBB’的全部权限。如果要允许从任何主机远程访问,可以使用以下命令:

GRANT ALL PRIVILEGES ON AAA.* TO 'hadoop'@'%';
GRANT ALL PRIVILEGES ON BBB.* TO 'hadoop'@'%';
FLUSH PRIVILEGES;
  1. 给用户分配数据库权限【全部数据库】

    如果你想给hadoop用户分配可以操作所有数据库的权限,你可以使用通配符*。以下是在MySQL中授予用户对所有数据库的全部权限的方法:

    -- 在localhost上授予权限
    GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'localhost' WITH GRANT OPTION;-- 允许远程访问时,使用以下语句
    GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' WITH GRANT OPTION;
    

    上述语句中,*.*表示所有数据库的所有表。WITH GRANT OPTION表示hadoop用户将拥有授予权限给其他用户的权限。

    请注意,给予用户对所有数据库的全部权限可能存在安全风险,因此在生产环境中应该仔细考虑授权策略,只授予用户实际需要的最小权限。

  2. 开启远程访问权限

默认情况下,MySQL用户只能从本地连接。为了允许远程连接,你需要修改MySQL配置文件,并重新启动MySQL服务。

打开MySQL配置文件,一般在/etc/mysql/my.cnf/etc/my.cnf。找到并注释掉或修改如下行:

#bind-address = 127.0.0.1

将上述行注释掉或者将127.0.0.1改成服务器的IP地址。然后保存文件。

重启MySQL服务:

sudo service mysql restart

请注意,为了安全考虑,最好只允许特定IP地址范围访问MySQL。如果是在生产环境中使用,还应该考虑使用SSH隧道或SSL来加密连接。

补充内容Docker安装MySQL5.7

准备工作
  1. 先准备配置目录和持久化目录,举个栗子:mkdir -p /opt/module/mysql/{conf,data,log}
  2. 准备配置文件*.cnf,放到/opt/module/mysql/conf目录下。
  3. 当然不准备也没事,容器中有个默认配置:/etc/mysql/conf.d/my.cnf
精简版

安装MySQL 5.7 可以通过 Docker 进行,以下是通过 Docker 安装 MySQL 5.7 的基本步骤:

  1. 安装 Docker:
    如果你还没有安装 Docker,请先安装 Docker。你可以在 Docker 官网 上找到适合你操作系统的安装说明。

  2. 拉取 MySQL 5.7 镜像:
    打开终端(命令行界面)并运行以下命令拉取 MySQL 5.7 镜像:

    docker pull mysql:5.7
    
  3. 运行 MySQL 容器:
    运行以下命令创建并启动一个 MySQL 容器:

    docker run -d --name=mysql-5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=your_password mysql:5.7
    

    这里,将 your_password 替换为你想要设置的 MySQL root 用户的密码。

    • -d 表示在后台运行容器。
    • --name=mysql-5.7 给容器起一个名字,这里是 mysql-5.7,你可以根据需要更改。
    • -p 3306:3306 将容器的 MySQL 服务端口映射到主机的 3306 端口。
    • -e MYSQL_ROOT_PASSWORD=your_password 设置 MySQL root 用户的密码。
  4. 进入 MySQL 容器:
    如果你想在容器内执行一些 MySQL 命令,可以使用以下命令进入容器:

    docker exec -it mysql-5.7 mysql -uroot -p
    

    输入你在第 3 步中设置的密码,然后你就可以在容器内使用 MySQL 了。

现在,你已经成功在 Docker 中安装并运行了 MySQL 5.7。请注意,这是一个简单的配置,生产环境中可能需要更多的配置选项,如数据卷、持久化存储等。

🍀进阶版
docker run -d -p 3306:3306 --name mysql-5.7 \
-v /opt/module/mysql/conf:/etc/mysql/conf.d \
-v /opt/module/mysql/data:/var/lib/mysql \
-v /opt/module/mysql/log:/var/log/mysql \
--restart=always --privileged=true \
-e MYSQL_ROOT_PASSWORD=root mysql:5.7
  • -d: 表示以后台模式运行容器。
  • -p 3306:3306: 将主机的 3306 端口映射到容器的 3306 端口。
  • --name mysql-5.7: 为容器指定一个名字(mysql-5.7)。
  • -v /opt/module/mysql/conf:/etc/mysql/conf.d:将主机上的 MySQL 配置文件目录 /opt/module/mysql/conf 映射到容器内的 /etc/mysql/conf.d 目录,以便你可以自定义 MySQL 的配置。【容器中MySQL配置文件:/etc/mysql/conf.d/my.cnf
  • -v /opt/module/mysql/data:/var/lib/mysql: 将主机上的 MySQL 数据目录映射到容器内的相应位置。
  • -v /opt/module/mysql/log:/var/log/mysql: 将主机上的 MySQL 日志目录映射到容器内的相应位置。
  • --restart=always: 表示容器在退出时总是重新启动。
  • --privileged=true: 这个选项赋予容器所有的 Linux 的 capabilities,并打开所有的 Linux Security Modules。在一般情况下,最好仅提供容器所需的最小权限。如果没有特殊需求,建议不使用这个选项。

相关文章:

Docker搭建MySQL

Docker搭建MySQL 准备工作 先准备配置目录和持久化目录&#xff0c;举个栗子&#xff1a;mkdir -p /opt/module/mysql/{conf,data,log}准备配置文件*.cnf,放到/opt/module/mysql/conf目录下。当然不准备也没事&#xff0c;容器中有个默认配置&#xff1a;/etc/mysql/conf.d/m…...

亚马逊国际站商品爬虫:Python实战指南

在数字化时代&#xff0c;数据的价值不言而喻。对于电商领域而言&#xff0c;获取竞争对手的商品信息、价格、评价等数据&#xff0c;对于市场分析和策略制定至关重要。本文将带你了解如何使用Python编写爬虫&#xff0c;以亚马逊国际站为例&#xff0c;按照关键字搜索并获取商…...

pwntools用法

pwntools 是一个Python库&#xff0c; 用于编写二进制漏洞利用&#xff08;exploitation&#xff09;脚本 功能&#xff1a; 远程连接和本地连接&#xff1a; 支持通过TCP/UDP连接远程服务或与本地进程进行交互。Shellcode和ROP链构造&#xff1a; 提供了便捷的工具来生成和利…...

企业云盘怎么选?2024年免费版9款整理

文章介绍了以下9大企业云盘&#xff1a;1.亿方云&#xff1b;2.Worktile&#xff1b;3.百度网盘&#xff1b;4.腾讯云盘&#xff1b;5.阿里云盘&#xff1b;6.金山云盘&#xff1b;7.Dropbox&#xff1b;8.Box。 在企业日常管理中&#xff0c;文件存储和共享一直是个不小的难题…...

Linux之ARM(MX6U)裸机篇----5.仿stm32的LED驱动实验

一&#xff0c;启动文件 .global _start .global _bss_start /* 类似宏定义把__bss_start定义为_bss_start */ _bss_start:.word __bss_start.global _bss_end _bss_end:.word __bss_end_start:#设置处理器进入SVC模式mrs r0, cpsr /* 读取cpsr到r0 */bic r0, r0, …...

Qt从入门到入土(七)-实现炫酷的登录注册界面(下)

前言 Qt从入门到入土&#xff08;六&#xff09;-实现炫酷的登录注册界面&#xff08;上&#xff09;主要讲了如何使用QSS样式表进行登录注册的界面设计&#xff0c;本篇文章将介绍如何对登录注册界面进行整体控件的布局&#xff0c;界面的切换以及实现登录、记住密码等功能。…...

如何进行年度工作回顾?

发生了什么事&#xff1f; 什么事情进展顺利 &#xff1f; 什么事情进展不顺利&#xff1f; 如何适应未来&#xff1f; 年度回顾的定义&#xff1a;这是一种战略工具&#xff0c;能帮助人们清晰看到过去一年对业务、职业或个人生活的影响&#xff0c;可用于明确关键事件、找出问…...

spring默认线程池SimpleAsyncTaskExecutor特点为什么要尽量避免使用

在 Spring Boot 中&#xff0c;默认的线程池配置由 TaskExecutionAutoConfiguration 类提供&#xff0c;使用的是 SimpleAsyncTaskExecutor。 SimpleAsyncTaskExecutor特点 每次调用创建新线程&#xff1a; SimpleAsyncTaskExecutor 每次执行任务时都会创建一个新线程&#xf…...

每天40分玩转Django:Django表单集

Django表单集 一、知识要点概览表 类别知识点掌握程度要求基础概念FormSet、ModelFormSet深入理解内联表单集InlineFormSet、BaseInlineFormSet熟练应用表单集验证clean方法、验证规则熟练应用自定义配置extra、max_num、can_delete理解应用动态管理JavaScript动态添加/删除表…...

构建混合技术栈的统一监控与日志平台

文章目录 摘要引言构建统一监控与日志平台的核心思路痛点分析解决方案 平台架构设计架构概览 环境准备Java 服务的 Prometheus 指标导出Prometheus 指标采集模块Node.js 日志收集模块3. Logstash 配置4. Grafana 与 Kibana 配置 QA 环节总结未来展望参考资料 摘要 在多技术栈开…...

KOI技术-事件驱动编程(Sping后端)

1 “你日渐平庸&#xff0c;甘于平庸&#xff0c;将继续平庸。”——《以自己喜欢的方式过一生》 2. “总是有人要赢的&#xff0c;那为什么不能是我呢?”——科比布莱恩特 3. “你那么憎恨那些人&#xff0c;和他们斗了那么久&#xff0c;最终却要变得和他们一样&#xff0c;…...

ubuntu 20.04 国内源安装docker

先更新软件包&#xff0c;安装备要apt软件 # 更新软件包索引 sudo apt-get update# 安装需要的软件包以使apt能够通过HTTPS使用仓库 sudo apt-get install ca-certificates curl gnupg lsb-release使用阿里云源 # 添加阿里云官方GPG密钥 curl -fsSL http://mirrors.aliyun.co…...

微信小程序 app.json 配置文件解析与应用

目录 一、什么是 app.json&#xff1f; 二、app.json 文件的基本结构 三、详细解析 app.json 配置项 1. pages&#xff1a;小程序页面路径配置 2. window&#xff1a;窗口样式配置 3. tabBar&#xff1a;底部标签栏配置 4. networkTimeout&#xff1a;网络请求超时配置 …...

C高级:思维导图Day2

目录 总览1 总览2 总览1 压缩与解压缩 打包与解包 软连接与硬链接 ubuntu下关机与重启指令 总览2 结束...

蓝桥杯(Java)(ing)

Java前置知识 输入流&#xff1a; &#xff08;在Java面向对象编程-CSDN博客里面有提过相关知识------IO流&#xff09; // 快读快写 static BufferedReader in new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter out new BufferedWriter(new…...

[Pro Git#2] 分支管理 | branch fix_bug , feature | 处理合并冲突

目录 一、Issue模板文件 二、Pull Requests模板文件 分支管理 1. 理解分支 2. 创建与管理分支 1. 切换分支与提交历史 2. 合并分支 3. 删除分支 4. 解决合并冲突 6. 查看分支合并情况 快速创建并切换分支 分支管理策略 分支合并模式 分支管理原则 日常开发环境 …...

Java——集合框架

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1 集合框架概述1.1 内存层面需要针对多个数据进行存储。此时&#xff0c;可以考虑的容器有&#xff1a;1.2 数组存储多个数据方面的特点和弊端1.3 Java集合框架体系…...

Mac 环境 VVenC 编译与编码命令行工具使用教程

VVenC VVenC 是一个开源的高效视频编码器&#xff0c;专门用于支持 H.266/VVC (Versatile Video Coding) 标准的编码。H.266/VVC 是继 HEVC (H.265) 之后的新一代视频编码标准&#xff0c;主要目的是提供比 HEVC 更高的压缩效率&#xff0c;同时保持或提高视频质量。H.266/VVC…...

WebRTC:实现浏览器与移动应用的实时通信

1.技术简介 &#xff08;Web Real-Time&#xff09;是一种开放式实时通信技术&#xff0c;旨在使浏览器和移动应用程序通过简单的API即可实现实时音频、视频和数据传输&#xff0c;而无需安装插件或额外软件。它支持网络应用中的点对点通信&#xff0c;例如视频聊天、语音通话…...

curl+openssl 踩坑笔记

curl编译&#xff1a;点击跳转 踩坑一 * SSL certificate problem: unable to get local issuer certificate * closing connection #0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html …...

【NebulaGraph】变化的多跳查询

【NebulaGraph】变化的多跳查询 1. 需求2. 解决方案2.1 确定查询结构2.2 构建查询语句 3. 追加需求&#xff1a;如果增加每一跳都要指定查询某SPACE下的Tag&#xff0c;或者不查询某个Tag怎么办 1. 需求 存在多跳请求&#xff0c;其中每一跳是从上一跳查询结果为基础的。但是 …...

【C++】九九乘法表编程题详解与多角度对比分析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目概述题目描述 &#x1f4af;老师的实现方法代码解析优点不足 &#x1f4af;我的实现方法代码解析优点不足 &#x1f4af;实现方法对比&#x1f4af;优化与扩展代码优化…...

node.js卸载并重新安装(超详细图文步骤)

卸载node.js 重新安装nodejs 一、卸载 1、首先进入控制面板卸载程序 2、卸载后 到文件夹中进行进一步的删除 删除上述的几个文件夹 每个人可能不一样&#xff0c;总之是找到自己的nodejs安装路径&#xff0c;下面是我的 ①删除C:UsersAdminAppDataRoaming路径下的npm相关文件…...

redis的集群模式与ELK基础

一、redis的集群模式 1.主从复制 &#xff08;1&#xff09;概述 主从模式&#xff1a;这是redis高可用的基础&#xff0c;哨兵和集群都是建立在此基础之上。 主从模式和数据库的主从模式是一样的&#xff0c;主负责写入&#xff0c;然后把写入的数据同步到从服务器&#xff…...

一份关于 Ubuntu 系统下代理配置的故障排查笔记

Ubuntu 网络代理配置与故障排查指南 在使用 Ubuntu 系统时&#xff0c;配置网络代理可以帮助提升网络访问速度或突破网络限制。然而&#xff0c;代理配置过程中可能会遇到各种问题。本文将详细介绍如何在 Ubuntu 下配置网络代理&#xff0c;并提供故障排查的步骤和解决方案。 …...

如何用jmeter工具进行性能测试

前言 今天我们来说说jmeter如何进行性能测试&#xff0c;我们都知道jmeter工具除了可以进行接口功能测试外&#xff0c;还可以进行性能测试。当项目趋于稳定&#xff0c;根据性能需求就可以着手准备性能测试了&#xff0c;今天就说一说jmeter如何进行性能测试&#xff0c;jmet…...

五、Vue 循环语句

文章目录 简介一、基础数组迭代二、对象属性迭代三、整数循环 简介 在 Vue.js 的世界里&#xff0c;当我们需要处理重复性的结构并依据数据动态渲染时&#xff0c;v-for 指令就成了不可或缺的工具&#xff0c;它赋予开发者简洁且强大的能力&#xff0c;轻松应对各种列表渲染场景…...

HMSC联合物种分布模型

联合物种分布模型&#xff08;Joint Species Distribution Modelling&#xff0c;JSDM&#xff09;在生态学领域&#xff0c;特别是群落生态学中发展最为迅速&#xff0c;Hmsc是物种群落分层模型的缩写(Hierarchical Modelling of Species Communities)&#xff0c;它是一种基于…...

【CPU】risc-v指令集和其他指令集的差别(个人草稿)

第三&#xff0c;在 RISC-V 中对于所有指令&#xff0c;要读写的寄存器的标识符总是在同一位置&#xff0c;意味着在解码指令之前&#xff0c;就可以先开始访问寄存器。在许多其他的 ISA 中&#xff0c;某些指令字段在部分指令中被重用作为源目的地&#xff0c;在其他指令中又被…...

处理元素卡在视野边界,滚动到视野内

效果图如下&#xff1a; 本示例处理场景&#xff1a;点击底部的折叠面板&#xff0c;展开后移动端滚动条位置不变&#xff0c;导致展开内容在视图外。造成面板展开无内容的错觉。 处理核心API: IntersectionObserver 此API可绑定元素并监听元素是否在视野内。若在视野外​​​…...

环,域,体,整区,理想,极大理想,

环&#xff1a; 定义&#xff1a; 加法交换群 乘法半群 分配律 域的定义&#xff1a; 加法交换群 乘法群&#xff08;去掉0元是交换群&#xff09; 分配律 Eg:比如整数集合不是域&#xff0c;因为对于乘法来说&#xff0c;去掉0后没有单位元了&#xff0c;但是是环 Eg…...

音视频入门基础:MPEG2-TS专题(22)——FFmpeg源码中,获取TS流的音频信息的实现

音视频入门基础&#xff1a;MPEG2-TS专题系列文章&#xff1a; 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;1&#xff09;——MPEG2-TS官方文档下载 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;2&#xff09;——使用FFmpeg命令生成ts文件 音视频入门基础…...

大模型—Ollama 结构化输出

Ollama 结构化输出 Ollama现在支持结构化输出,使得可以按照由JSON模式定义的特定格式来约束模型的输出。Ollama的Python和JavaScript库已经更新,以支持结构化输出。 结构化输出的用例包括: 从文档中解析数据从图像中提取数据结构化所有语言模型响应比JSON模式更可靠和一致开…...

基于Pytorch和yolov8n手搓安全帽目标检测的全过程

一.背景 还是之前的主题&#xff0c;使用开源软件为公司搭建安全管理平台&#xff0c;从视觉模型识别安全帽开始。主要参考学习了开源项目 https://github.com/jomarkow/Safety-Helmet-Detection&#xff0c;我是从运行、训练、标注倒过来学习的。由于工作原因&#xff0c;抽空…...

数据结构与算法基础(C语言版)

参考资料&#xff1a;https://www.bilibili.com/video/BV1GW421A7qY/ 所有代码均已在Ubuntu 20.04.6 LTS中测试通过 逻辑结构与存储结构 逻辑结构 逻辑结构指的是数据对象中数据元素间的相互关系&#xff0c;分为以下四种&#xff1a; 集合结构 集合结构中的数据元素除了同属于…...

Qt监控系统放大招/历经十几年迭代完善/多屏幕辅屏预览/多层级设备树/网络登录和回放

一、前言说明 近期对视频监控系统做了比较大的更新升级&#xff0c;主要就是三点&#xff0c;第一点就是增加了辅屏预览&#xff0c;这个也是好多个客户需要的功能&#xff0c;海康的iVMS-4200客户端就有这个功能&#xff0c;方便在多个屏幕打开不同的视频进行查看&#xff0c…...

使用Locust对MySQL进行负载测试

1.安装环境 pip install locust mysql-connector-python 2.设置测试环境 打开MySQL服务 打开Navicat新建查询&#xff0c;输入SQL语句 3.编写locust脚本 load_mysql.py # codingutf-8 from locust import User, TaskSet, task, between import mysql.connector import ran…...

layui多图上传,tp8后端接收处理

环境&#xff1a;layui2.9.21\thinkphp8.1 前端代码&#xff1a; layui.use([upload, layer], function() {const upload layui.upload;const layer layui.layer;const $ layui.$;// 上传图片const uploadInstImage upload.render({elem: #uploadImage,url: /admin/demo/…...

【Rust自学】8.3. String类型 Pt.1:字符串的创建、更新与拼接

8.3.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构&#xff0c;这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的&#xff0c;这也意味着这些集合的数据大小无需在编…...

Linux(Ubuntu)下ESP-IDF下载与安装完整流程(1)

本文主要看参考官网说明,如下: 快速入门 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 Linux 和 macOS 平台工具链的标准设置 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 一、安装准备 为了在ESP32-S3中使用ESP-IDF,需要根据操作系统安装一些软件包。可以参考以下安…...

Android性能优化—— 内存优化

Android 系统中&#xff0c;垃圾回收是自动的&#xff0c;比较隐蔽&#xff0c;这就导致一些内存问题表现的并不明显&#xff0c;出现问题后难以定位。常见的内存问题有内存泄漏、内存溢出&#xff08;Out of Memory&#xff09;、内存抖动等。 我们做内存优化的主要原因有以下…...

【MATLAB第111期】基于MATLAB的sobol全局敏感性分析方法二阶指数计算

【MATLAB第111期】基于MATLAB的sobol全局敏感性分析方法二阶指数计算 一、简介 在MATLAB中计算Sobol二阶效应指数通常涉及到全局敏感性分析&#xff08;Global Sensitivity Analysis, GSA&#xff09;&#xff0c;其中Sobol方法是一种流行的技术&#xff0c;用于评估模型输入…...

【Scala】图书项目系统代码演练3.1/BookService

package org.app package serviceimport models.{BookModel, BorrowRecordModel}import org.app.dao.{BookDAO, BorrowRecordDAO}import java.time.LocalDateTime import scala.collection.mutable.ListBuffer// 图书业务逻辑层 class BookService {private val bookDAO new B…...

Gateway

目录 使用 工作机制 Predicate断言 Filter过滤器&#xff08;鉴权&#xff09; GatewayFilter GlobalFilter 使用 Gateway底层是使用Ribbon来实现负载均衡的 新建模块&#xff0c;端口5001 1、引入依赖 spring-boot-starter-web里存在tomcat&#xff0c;spring-cloud-st…...

SpringSecurity中的过滤器链与自定义过滤器

关于 Spring Security 框架中的过滤器的使用方法,系列文章: 《SpringSecurity中的过滤器链与自定义过滤器》 《SpringSecurity使用过滤器实现图形验证码》 1、Spring Security 中的过滤器链 Spring Security 中的过滤器链(Filter Chain)是一个核心的概念,它定义了一系列过…...

【OTA】论文学习笔记--《基于RTOS的车载ECU双分区OTA升级技术分析报告》

引言 研究背景 - 汽车智能化、网联化发展趋势下,OTA升级已成为智能网联汽车的必备功能 - 传统RTOS控制器在OTA升级失败后无法进行软件回滚,导致控制器功能失效 - 现有技术主要针对Linux、QNX等智能操作系统,缺乏针对RTOS的解决方案 研究目的 提出一种适用于RTOS控制器的双分…...

MLA:多头潜在注意力

MLA:多头潜在注意力 多头潜在注意力(MLA)机制是一种在深度学习模型中用于处理序列数据的注意力机制的改进形式,以下是对其原理和示例的详细介绍: 原理 低秩键值联合压缩:MLA机制利用低秩键值联合压缩来消除注意力模块中的某些计算,从而提高模型的运行速度和性能。在传…...

【python】matplotlib(moon cake)

文章目录 1、Style12、Style23、Style34、Style45、Style56、Style67、Style78、参考的库函数matplotlib.patches.Arcmatplotlib.patches.Wedge 9、参考 1、Style1 """ author: tyran """from numpy import sin, cos, pi import matplotlib.pyp…...

C++ hashtable

文章目录 1. 基本概念2. 哈希函数3. 哈希冲突及解决方法开放定址法链地址法再哈希法建立公共溢出区4. 哈希表的操作实现5. 内存管理及优化 时间复杂度理想情况&#xff08;无哈希冲突或冲突极少&#xff09;一般情况&#xff08;考虑哈希冲突及解决方法&#xff09;综合来看 以…...

ip怎么查域名?IP和域名分别是什么?

为什么我们可以通过简单的域名访问网站&#xff0c;而不是记住一串复杂的数字&#xff1f;IP地址和域名之间到底是什么关系&#xff1f;在互联网的世界里&#xff0c;IP地址和域名是两种重要的概念&#xff0c;它们共同构成了我们日常上网的基础。 IP地址是互联网协议地址的缩…...