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

麒麟v10 ARM64架构系统升级mysql数据库从mysql-5.7.27到mysql-8.4.4图文教程

1、背景与问题说明

        因mysql-5.2.27版本存在安全漏洞问题,为保障系统安全,需将处于生产环境的麒麟v10 ARM64架构系统服务器上当前部署的mysql-5.7.27版本升级到mysql-8.4.4,以规避潜在风险,提升系统整体的安全性和稳定性。

1.1  本地麒麟虚拟环境搭建的容易遇到的问题

        在Windows 11上部署基于麒麟ARM64架构系统的虚拟环境面临多重挑战与易发问题。首要难点在于硬件兼容性与虚拟化技术的适配。Windows 11原生支持Intel和AMD的x64架构,而麒麟操作系统基于ARM64架构,这要求虚拟化软件必须具备出色的跨架构模拟能力。

        实际操作中,用户可能会遇到虚拟化软件不支持或不完全支持ARM64指令集的情况,导致系统无法启动或运行缓慢。此外,驱动兼容性问题也不容忽视,部分麒麟系统特有的硬件驱动在Windows 11的虚拟化环境中可能无法正常工作,影响系统性能与功能。

        同时,由于两种系统架构的本质差异,文件共享、网络配置等也可能成为部署过程中的棘手问题,需要用户具备较高的技术水平和耐心进行调试与优化。

1.2 虚拟机选择

        在Win11上部署麒麟ARM64架构系统的虚拟环境时,应选择能够支持ARM架构模拟的虚拟机工具。推荐使用QEMU虚拟机工具,理由如下:

  1. 跨架构模拟能力强:QEMU是一款开源的虚拟机模拟器,能够模拟多种硬件平台,包括ARM架构,因此可以满足在Win11上部署麒麟ARM64系统的需求。
  2. 功能全面:QEMU提供了丰富的配置选项和工具,如qemu-img用于处理磁盘映像文件,方便用户根据需求进行自定义设置和优化。
  3. 社区支持广泛:QEMU拥有庞大的用户社区和丰富的文档资源,用户在遇到问题时可以更容易地寻求帮助和解决方案。

2、工具准备

2.1、开源模拟处理器-QEMU

        QEMU 是一套由 Fabrice Bellard 所编写的模拟处理器的自由软件。它与 Bochs,PearPC 近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由 kqemu 这个开源的加速器,QEMU 能模拟至接近真实电脑的速度。QEMU 有两种主要运作模倾:

  • User mode 模拟模式,亦即是使用者模式。QEMU 能启动那些为不同中央处理器编译的 Linux 程序。而 Wine 及 Dosemu 是其主要目标。
  • System mode 模拟模式,亦即是系统模式。QEMU 能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为系统源代码进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。

        QEMU 的主体部份是在 LGPL 下发布的,而其系统模式模拟与 kqemu 加速器则是在 GPL 下发布。使用 kqemu 可使 QEMU 能模拟至接近实机速度,但其在虚拟的操作系统是 Microsoft Windows 98 或以下的情况下是无用的。

优点:

  • 可以模拟 IA-32 (x86) 个人电脑,AMD64 个人电脑, MIPS R4000, 升阳的 SPARC sun3 与 PowerPC (PReP 及 Power Macintosh) 架构
  • 支持其他架构,不论在主机或虚拟系统上 (请参看 QEMU 主页以获取完整的清单)
  • 增加了模拟速度,某些程式甚至可以实时运行
  • 可以在其他平台上运行 Linux 的程式
  • 可以储存及还原运行状态 (如运行中的程式)
  • 可以虚拟网络卡
  • 可模拟多 CPU

  QEMU官网:QEMU

2.2 windows11安装QEMU

2.2.1 下载QEMU

下载地址:QEMU for Windows – Installers (64 bit)

2.2.2 安装QEMU

 1 找到下载的QEMU软件,双击开始安装

  2  安装简单、语言选择English,一路next

3  配置系统环境变量

4 查看QEMU软件版本

qemu-img --version
qemu-system-x86_64 --version

至此QEMU安装完成。

2.3 麒麟v10 ARM64架构系统

2.3.1 为什么选择银河麒麟高级服务器操作系统

2.3.2  麒麟v10 ARM64系统下载

 版本1   Kylin-Server-V10-SP3-2403-Release-20240426-arm64 

https://iso.kylinos.cn/web_pungi/download/cdn/ni3tIfZoEKLDglszRXvh9WymuwOT5r6M/Kylin-Server-V10-SP3-2403-Release-20240426-arm64.iso

版本2   Kylin-Server-10-SP2-aarch64-Release-Build09-20210524

https://pan.baidu.com/s/1p8HviWKcVZSOhNaCQ1XYtg?pwd=g3u2

2.3.3 安装前准备

1 需要一个EFI工具

EFI(Extensible Firmware Interface) 是一种用于计算机的固件接口,旨在替代传统的 BIOS(基本输入/输出系统)。

EFI文件下载:

https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/

2、把下载的文件copy至规划安装的文件夹中,如下图:

2.3.4 安装

1 规划安装的文件夹的地址栏中输入cmd,如下图:

点击回车键,弹出如下图:

2.3.4.1   创建虚拟磁盘 

在cmd命令窗口输入创建虚拟磁盘的命令:

##相对路径
qemu-img create -f qcow2   kylin_arm64.img 60g
或
qemu-img create -f qcow2   kylin_arm64.qcow2 60g##绝对路径
qemu-img create -f qcow2   E:\QemuVM\kylin10-arm64\kylin_arm64.img 60g
或
qemu-img create -f qcow2   E:\QemuVM\kylin10-arm64\kylin_arm64.qcow2 60g

然后会在E:\QemuVM\kylin10-arm64文件夹中生成一个文件:kylin_arm64.img

kylin_arm64.img作为一个虚拟磁盘介质,磁盘容量最大为60G。

文件目录结构,如下图:

qcow2 镜像格式是 QEMU 模拟器支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。与普通的 raw 格式的镜像相比,有以下特性:

  • 更小的空间占用,即使文件系统不支持空洞(holes);
  • 支持写时拷贝(COW, copy-on-write),镜像文件只反映底层磁盘的变化;
  • 支持快照(snapshot),镜像文件能够包含多个快照的历史;
  • 可选择基于 zlib 的压缩方式
  • 可以选择 AES 加密
2.3.4.2  安装操作系统

在cmd命令窗口输入安装操作系统的命令:

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios E:\QemuVM\kylin10-arm64\QEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=E:\QemuVM\kylin10-arm64\Kylin-Server-V10-SP3-2403-Release-20240426-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=E:\QemuVM\kylin10-arm64\kylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0

参数解释

  • qemu-system-aarch64.exe:指定要使用的 QEMU 模拟器,针对 ARM64 架构。
  • m 8192:分配给虚拟机的内存大小,这里为 8192 MB(即 8 GB)。
  • cpu cortex-a72:指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。
  • smp 8,cores=4,threads=1,sockets=2:配置虚拟机的对称多处理(SMP)设置:
    • 8 表示总共有 8 个 CPU。
    • cores=4 表示每个 CPU 只有 4 个核心。
    • threads=1 表示每个核心只有 1 个线程。
    • sockets=2 表示只有 2 个 CPU 插槽。
  • M virt:指定虚拟机的机器类型,这里使用的是通用的 Virt 虚拟机类型。
  • bios E:\QemuVM\kylin10-arm64\QEMU_EFI.fd:指定要使用的 BIOS 固件文件,这里使用的是 UEFI 固件,文件路径为 E:\QemuVM\kylin10-arm64\QEMU_EFI.fd。
  • net nic:创建一个网络接口卡(NIC)。
  • net tap,ifname=tap0:配置网络以使用 TAP 设备 tap0,允许虚拟机通过此设备连接到主机的网络。
  • device nec-usb-xhci:添加 NEC USB 3.0 控制器设备。
  • device usb-kbd:添加 USB 键盘设备。
  • device usb-mouse:添加 USB 鼠标设备。
  • device VGA:添加 VGA 图形适配器设备,用于显示输出。
  • drive if=none,file=E:\QemuVM\kylin10-arm64\Kylin-Server-V10-SP3-2403-Release-20240426-arm64.iso,id=cdrom,media=cdrom:指定一个光盘驱动器,使用 ISO 文件作为介质。
    • if=none 表示没有指定接口类型。
    • file=E:\QemuVM\kylin10-arm64\Kylin-Server-V10-SP3-2403-Release-20240426-arm64.iso 指定 ISO 文件的路径。
    • id=cdrom 为该设备指定一个 ID。
    • media=cdrom 指定该驱动器为 CD-ROM 类型。
  • device virtio-scsi-device:添加 VirtIO SCSI 控制器设备,用于管理存储设备。
  • device scsi-cd,drive=cdrom:将前面定义的 CD-ROM 设备连接到 SCSI 控制器。
  • drive if=none,file=E:\QemuVM\kylin10-arm64\kylin_arm64.img,id=hd0:指定一个硬盘驱动器,使用镜像文件作为存储设备。
    • file=E:\QemuVM\kylin10-arm64\kylin_arm64.img 指定镜像文件的路径。
    • id=hd0 为该驱动器指定一个 ID。
  • device virtio-blk-device,drive=hd0:将前面定义的硬盘驱动器连接到 VirtIO 块设备控制器。
  • netdev user,id=net0: 创建一个用户模式网络设备,
    • ID 为 net0。这使得虚拟机可以访问主机网络。
  • device virtio-net-pci,netdev=net0: 将一个 Virtio 网络设备添加到虚拟机,使用之前定义的 net0 网络设备。
  • id=hd0: 给此硬盘驱动器一个 ID。
  • device virtio-blk-device,drive=hd0: 将之前添加的硬盘驱动器作为 Virtio 块设备。

输入命令,回车后会弹出QEMU安装kylin的窗口,如下图:

选择操作系统

会有一段时间黑屏,黑屏时间不定,应该和宿主机的配置有关系,黑屏过去后,显示如下图;

选择语言,如下图:

安装配置,红框标出必须配置,如下图:

其他配置略,网络配置,如下图:

点击开始安装,如下图:

安装完成后,点击重启系统,如下图:

等待一会,会有黑屏,耐心等待,黑屏过去后如下图:

点击进入许可证,勾选同意,点击完成,如下图:

返回初始设置页面,点击结束配置,如下图:

然后会进入登录界面,如下图

输入账号和密码,进入桌面,如下图:

此处的网络是依赖宿主机的网络,如下图:

2.3.4.3 QEMU使用小技巧

        一个小技巧,快捷键: ctrl+alt+f ,实现qemu的全屏和非全屏切换,很方便,使用QEMU时鼠标太飘,实在不太方便。

3、数据备份

3.1 使用逻辑备份备份整个数据库

## 备份整个数据库 
mysqldump -u username -p database_name > backup.sql
## 举例
mysqldump -u root -p ods > /databack /odsbackup.sql;
输入root密码,备份开始

## 压缩备份语法
mysqldump -u username -p database_name | gzip > backup.sql.gz## 举例
mysqldump -u root -p ods |gzip> /databack /odsbackup.sql.gz;
输入root密码,备份开始

3.2 备份配置文件

cp /etc/my.cnf   /databack/

4  卸载MySQL5.7

4.1 停止服务

systemctl stop mysqld
sudo systemctl disable mysqld
#查看状态
systemctl status mysqld

4.2  卸载

4.2.1 查看MySQL安装文件

## 查询mysql安装文件
rpm -qa | grep mysql
## 卸载
yum -y remove  上面出现的列表名
##或者
rpm -e --nodeps 上面出现的列表名

如上述查询无果后,则使用 rm -rf  删除mysql相关的目录

## 查询mysql目录find / -name mysql
## 删除mysql相关的目录
rm -rf /var/lib/mysql/
rm -rf /usr/lib64/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /etc/selinux/targeted/tmp/modules/100/mysql

删除my.cnf文件,先备份

cp /usr/local/mysql/my.cnf /databack/

rm -rf /etc/my.cnf #确认此文件是否是软连接,不是则备份后,删除

注(重新安装的mysql不会替换这个配置文件,导致你新数据库用的老的配置文件,可能密码一直输入不对,建议删除)

5 安装

5.1  下载安装文件

https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.4-linux-glibc2.28-aarch64.tar.xz

5.2 解压安装包提取文件内容到/usr/local目录

tar -xvf mysql-8.4.4-linux-glibc2.28-aarch64.tar.xz -C  /usr/local/
cd   /usr/local/
mv mysql-8.4.4-linux-glibc2.28-aarch64/ mysql/

5.3  添加用户组和用户

先检查 mysql 用户和用户组有没有被使用

cat /etc/group | grep mysqlcat /etc/passwd | grep mysql
## 添加 mysql 用户组 
groupadd mysql## 添加 mysql 用户并加入用户组 
useradd -g mysql mysql

5.4  创建数据目录

# 创建数据目录
mkdir /usr/local/mysqldata /usr/local/mysqllogs /usr/local/mysql tmp # 创建错误日志文件
echo “” > /usr/local/mysql/logs/mysql-error.log

5.5 给目录授权

# 给目录授权
chgrp -R mysql /usr/local/mysql
chown -R mysql:mysql  /usr/local/mysql /usr/local/mysql/data /usr/local/mysql/tmp /usr/local/mysql/logs
chmod -R 755 /usr/local/mysql

5.6  配置文件

vim /etc/my.cnf
[client]
# 客户端连接 MySQL 服务器的端口号,通常是 3306。
port = 3306
# MySQL 服务器的套接字文件路径,用于本地连接。
socket = /tmp/mysql.sock
[mysqld]
# MySQL 服务器监听的端口号,通常也是 3306。
port = 3306
# MySQL 服务器的套接字文件路径,用于本地连接。
socket = /tmp/mysql.sock
# MySQL 的根目录路径,通常用于安装 MySQL 的根目录。
basedir = /data/mysql
# 存放数据库文件的目录路径。
datadir = /data/mysql_data
# 启用binglog日志文件,可以指定目录,如果不指定则放在数据目录下面
log_bin = mysql-bin
#存放 MySQL 进程 ID 的文件路径。
pid-file = /data/mysql_data/mysql.pid
#错误日志路径
log_error = /data/mysql_logs/mysql-error.log
# 表名大小写不敏感 (1 表示启用:不区分大小写)
lower_case_table_names = 1

5.7 设置开机自动启动

# 设置系统引导时自动启动 MySQL 服务。
cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqld# 设置开机启动
systemctl enable mysqld

5.8 添加环境变量

vim /etc/profile

# 在尾部添加
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
#刷新环境变量
source /etc/profile

5.9 初始化启动MySQL

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

5.10 启动mysql

systemctl start mysqld
#查看状态
systemctl status mysqld

5.11 修改MySQL密码,并允许远程连接

#先免密登录
mysql -u root
#使用mysql库
use mysql;
#更新root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
#赋予所有IP都可以使用root用户远程连接的权限
update user set host = '%' where user = 'root';
#创建新用户并授权(推荐)
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;
#刷新权限配置
flush privileges;
#退出mysql
exit

6、导入备份数据

        导入备份数据略

相关文章:

麒麟v10 ARM64架构系统升级mysql数据库从mysql-5.7.27到mysql-8.4.4图文教程

1、背景与问题说明 因mysql-5.2.27版本存在安全漏洞问题,为保障系统安全,需将处于生产环境的麒麟v10 ARM64架构系统服务器上当前部署的mysql-5.7.27版本升级到mysql-8.4.4,以规避潜在风险,提升系统整体的安全性和稳定性。 1.1 本…...

图论·拓扑排序

拓扑排序 有向无环图的遍历 检查有向图是否连通/有环 核心操作 统计度数,对于度为0的点作为起始点,添加度为0的点作为遍历 如何验证有环?注意不建议直接模拟,如果出现环这起始点的度一定不为0,肯定会少遍历一些点&…...

Uniapp组件 Textarea 字数统计和限制

Uniapp Textarea 字数统计和限制 在 Uniapp 中,可以通过监听 textarea 的 input 事件来实现字数统计功能。以下是一个简单的示例,展示如何在 textarea 的右下角显示输入的字符数。 示例代码 首先,在模板中定义一个 textarea 元素&#xff…...

一文了解JVM的垃圾回收

Java堆内存结构 java堆内存是垃圾回收器管理的主要区域,也被称为GC堆。 为了方便垃圾回收,堆内存被分为新生代、老年代和永久代。 新创建的对象的内存会在新生代中分配,达到一定存活时长后会移入老年代,而永久代存储的是类的元数…...

Vector底层结构和源码分析(JDK1.8)

参考视频:韩顺平Java集合 Vector 类的定义说明: Vector 的底层也是一个对象数组,protected Object[] elementData;Vector 是线程同步的,即线程安全,Vectoe 类的操作方法带有 synchronized 关键字:public sy…...

uni-app+vue3学习随笔

目录相关 static文件 编译器会把static目录中的内容整体复制到最终编译包内, 非 static 目录下的文件(vue组件、js、css 等)只有被引用时,才会被打包编译。 css、less/scss 等资源不要放在 static 目录下,建议这些…...

JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3+ 2025 版免费体验方案

JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3 2025 版免费体验方案 前言 JetBrains IDE 是许多开发者的主力工具,但从 2024.02 版本起,JetBrains 调整了试用政策,新用户不再享有默认的 30 天免费试用…...

移远通信联合德壹发布全球首款搭载端侧大模型的AI具身理疗机器人

在汹涌澎湃的人工智能浪潮中,具身智能正从实验室构想迈向现实应用。移远通信凭借突破性的端侧AI整体解决方案,为AI机器人强势赋能,助力其实现跨行业拓展,从工业制造到服务接待,再到医疗康养,不断改写各行业…...

嵌入式硬件篇---手柄控制控制麦克纳姆轮子

文章目录 前言1. 变量定义2. 摇杆死区设置3. 模式检查4. 摇杆数据处理4.1 右摇杆垂直值(psx_buf[7])4.2 右摇杆水平值(psx_buf[8])4.3 左摇杆水平值(psx_buf[5])4.4 左摇杆垂直值(psx_buf[6]&am…...

XML Schema 实例

XML Schema 实例 引言 XML(可扩展标记语言)是一种用于标记电子文件使其具有结构性的标记语言。XML Schema 是一种用于定义 XML 文档结构的机制,它定义了 XML 文档中允许的数据类型、元素和属性。本文将详细探讨 XML Schema 实例,包括其基本概念、结构、用途以及实例分析。…...

Datax-web部署文档(超详细)

Datax-web部署文档(超详细) Datax部署 # 参考官方文档 https://github.com/alibaba/DataX/blob/master/userGuid.md# 下载datax已经封装好的文件,不推荐源码自己编译 https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.…...

基于javaweb的SSM敬老院养老院管理系统(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

专题地图的立体表达-基于QGIS和PPT的“千层饼”视图制作实践

目录 前言 一、QGIS准备基础数据 1、QGIS 相关插件 2、图层标绘操作 二、PPT中制作 1、调整图片的规格 2、设置旋转 3、添加文字 三、总结 前言 在信息爆炸的时代,数据的可视化呈现变得愈发关键,而专题地图作为传递地理空间信息的有力工具&#…...

DeepSeek-R1 论文阅读总结

1. QA问答(我的笔记) Q1: DeepSeek如何处理可读性问题? 通过构建冷启动数据(数千条长CoT数据)微调基础模型,结合多阶段训练流程(RL训练、拒绝采样生成SFT数据),并优化输…...

如何选择适合您智能家居解决方案的通信协议?

如何选择适合您智能家居解决方案的通信协议? 在开发智能家居产品时,选择合适的通信协议对于设备的高效运行及其在智能家居系统中的互操作性至关重要。市面上协议众多,了解它们的特性并在做决定前考虑各种因素是非常必要的。以下是一些帮助您…...

蓝桥杯备考:set容器用法(lower_bound)---营业额统计

如图所示,这道题的暴力解法就是枚举每天的营业额,让该营业额和前面的天的营业额依次相减取最小值这样的话我们的时间复杂度就是N平方,我们是很有可能超时的 所以我们选择用set容器的二分查找功能 我们每次遍历到一个数的时候,前…...

vue3 动态添加路由并生成左侧菜单栏

先说下思路,登录后跳转到基础页面, 每访问一个页面时,会进到路由守卫的方法 守卫进行身份验证,登录成功后才能跳转到静态路由外的页面,否则就重定向回login页面 登录后跳转到基础页面(因为基础页面包含了左…...

上下文微调(Contextual Fine-Tuning, CFT)提高大型语言模型(LLMs)在特定领域的学习和推理能力

大型语言模型(LLMs)在开放领域任务中表现出色,但在快速演变的专业领域(如医学、金融)中面临挑战: 知识更新难题:传统指令微调(Instruction Fine-Tuning, IFT)依赖显式指令,难以适应动态知识。灾难性遗忘:持续预训练(Continued Pretraining, CPT)可能导致模型遗忘已…...

L2-4 吉利矩阵

输入样例: 7 3输出样例: 666 这道题是暴力纯搜,但是很难想,我这个是看的别人的代码 #include "bits/stdc.h" using namespace std; int x[20][20]; int l, n; int cnt 0; int sumx[5], sumy[5]; void dfs(int x, in…...

⭐算法OJ⭐汉明距离【位操作】(C++ 实现)Hamming Distance

Hamming Distance(汉明距离)是用于衡量两个等长字符串在相同位置上不同字符的个数的度量。它通常用于比较两个二进制字符串或编码序列的差异。 定义 给定两个长度相同的字符串 A A A 和 B B B,它们的汉明距离 D ( A , B ) D(A,B) D(A,B)…...

数据可信、隐私可控:CESS 如何打造波卡生态数据新基建?

原文:https://messari.io/report/cess-network-a-deep-dive-into-programmable-data-value-infrastructure作者:Messari编译:OneBlock波卡生态一直以来以其跨链互操作性和灵活性吸引了众多创新项目,尤其是在 DePIN(去中…...

HCIA-11.以太网链路聚合与交换机堆叠、集群

链路聚合背景 拓扑组网时为了高可用,需要网络的冗余备份。但增加冗余容易后会出现环路,所以我们部署了STP协议来破除环路。 但是,根据实际业务的需要,为网络不停的增加冗余是现实需要的一部分。 那么,为了让网络冗余…...

网络安全之数据加密(DES、AES、RSA、MD5)

刚到公司时,我的工作就是为app端提供相应的接口。之前app使用的是PHP接口,对数据加密方面做得比较少。到使用java接口时,老大开始让我们使用DES加密,进行数据传输,但是后来觉得DES是对称加密,密钥存在客户端…...

Vim忍者速成秘卷:让你的键盘冒出残影の奥义

🎯 核心原理 通过 超低延迟配置 + 肌肉记忆优化 + 视觉欺骗技术,达成行云流水的操作体验。就像《火影忍者》结印般流畅! ⚡ 残影生成术(基础篇) " 🛩️ 贴地飞行模式(.vimrc 极速配置) set timeoutlen=300 " 快捷键响应时间压缩至300ms(武士刀级响应)…...

致远互联FE协作办公平台 存在SQL注入漏洞(DVB-2025-8942)

免责声明 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x01…...

通俗易懂动态表单自定义字段解决方案

动态表单自定义字段解决方案 1. 背景: 有些项目可能会有要求,客户可以自定义设计字段,并且字段还需要在后台设置可展示、可搜索。 2. 场景: 比如说报名场景,我们并不知道客户想让用户填哪些东西。下面我就举个例子&…...

CentOS7离线部署安装Dify

离线部署安装Dify 在安装 Dify 之前,请确保您的机器满足以下最低系统要求: CPU > 2 核 内存 > 4 GiB 1.安装docker和docker compose 启动 Dify 服务器最简单的方式是通过docker compose。因此现在服务器上安装好docker和docker compose&#xf…...

Dify后端结构与二次开发指南(一)

Dify 的后端基于 Python 编写,使用 Flask 作为 Web 框架,SQLAlchemy 作为 ORM(对象关系映射),Celery 作为任务队列,Flask-Login 处理用户认证和授权。以下是对 Dify 后端结构的详细介绍,以及如何…...

vscode arm拓展 keil acm5 到acm6迁移

目录 1. Arm Keil Studio Visual Studio 代码扩展用户指南(only support acm6 project)(能不迁移还是别迁移了,工程量太大啦,会出很多问题的) 1. Arm Keil Studio Visual Studio 代码扩展用户指南&#xff…...

软件工程概述、软件过程模型、逆向工程(高软45)

系列文章目录 软件工程概述、软件过程模型、逆向工程。 文章目录 系列文章目录前言一、软件工程概述二、能力成熟度模型1.能力成熟度模型CMM2.能力成熟度模型集成CMMI 三、软件过程模型1.瀑布模型SDLC2.原型化模型3.螺旋模型4.增量模型5.喷泉模型6.敏捷模型7.统一过程模型RUP 四…...

医药制造行业现状 医药制造行业内检实验室LIMS

在医药制造行业中,质量控制是确保产品安全性和有效性的关键环节。随着科技的进步和监管要求的日益严格,传统的实验室信息管理系统(LIMS)已经难以满足现代医药制造企业对高效、精准管理的需求。面对这一挑战,白码内检实…...

FX-std::list

std::list 是 C 标准库中的一个双向链表容器&#xff0c;定义在 <list> 头文件中。它支持在任意位置高效地插入和删除元素&#xff0c;但不支持随机访问。以下是 std::list 的基本用法和一些常见操作&#xff1a; 1. 包含头文件 #include <list> 2. 定义和初始化…...

配置安全网站

配置网站 确定是Debian系统 更新索引&#xff1a;apt update 安装包&#xff1a;apt upgrade -y 查看nginx状态&#xff1a;systemctl status nginx 安装&#xff1a;nginx&#xff1a;apt install nginx 启动&#xff1a;systemctl start nginx 在/var/www/里面创建一个…...

C/C++中对字符处理的常用函数

C语言中的 ctype.h 头文件提供了一系列字符分类和转换函数&#xff0c;用于高效处理字符相关操作。这些函数通过接受 int 类型参数&#xff08;需为 unsigned char 或 EOF &#xff08;-1&#xff09;值&#xff09;&#xff0c;返回非零值表示条件正确&#xff0c;返回0表示错…...

深度学习分词器char-level实战详解

一、三种分词器基本介绍 word-level&#xff1a;将文本按照空格或者标点分割成单词&#xff0c;但是词典大小太大 subword-level&#xff1a;词根分词&#xff08;主流&#xff09; char-level&#xff1a;将文本按照字母级别分割成token 二、charlevel代码 导包&#xff1…...

根据开始和结束日期,获取每一天和每个月的开始和结束日期的list

获取开始日期与结束日期之间每天的list /*** 根据传入的开始时间和结束时间,筛选出所有的天的list;** param startTime* param endTime*/public Map<String, List<String>> fetchDayListBetweenStartAndEnd(String startTime, String endTime) {// 创建mapMap<…...

实时采集到的语音进行语音识别

要在.NET Framework 4.8中使用C#实现离线实时语音识别&#xff0c;可以使用开源库Vosk&#xff08;支持离线ASR&#xff09;配合音频处理库NAudio。 步骤 1&#xff1a;安装依赖库 1.1. 安装NuGet包&#xff1a; - Install-Package NAudio&#xff08;处理音频输入&#xff09…...

《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功&#xff1a; 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具&#xff1a;Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...

【从零开始学习计算机科学】数据库系统(十一)云数据库、NoSQL 与 NewSQL

【从零开始学习计算机科学】数据库系统(十一)云数据库、NoSQL 与 NewSQL 云数据库云服务器的服务云数据库和传统的分布式数据库的异同NoSQLNoSQL数据库的特点CAP定理NoSQL的特性NoSQL数据库的分类NoSQL的适用场景Nosql数据库实例-RedisRedis的优势MongoDBMongoDB的特点NewSQL…...

Linux入门 全面整理终端 Bash、Vim 基础命令速记

Linux入门 2025 超详细全面整理 Bash、Vim 基础命令速记 刚面对高级感满满的 终端窗口是不是有点懵&#xff1f;于是乎&#xff0c;这份手册就是为你准备的高效学习指南&#xff01;我把那些让人头大的系统设置、记不住的命令都整理成了对你更友好的格式&#xff0c;让你快速学…...

LInux基础--apache部署网站

httpd的安装 yum -y install httpdhttpd的使用 启动httpd systemctl enable --now httpd使用enable --now 进行系统设置时&#xff0c;会将该服务设置为开机自启并且同时开启服务 访问httpd 创建虚拟主机 基于域名 在一台主机上配置两个服务server1和server2&#xff0c;其…...

重生之我在学Vue--第12天 Vue 3 性能优化实战指南

重生之我在学Vue–第12天 Vue 3 TypeScript 类型系统深度整合 文章目录 重生之我在学Vue--第12天 Vue 3 TypeScript 类型系统深度整合前言一、TypeScript与Vue3的集成1.1 项目初始化配置1.2 类型配置文件解析 二、类型声明实战2.1 Props类型约束2.2 Emit事件类型2.3 组合式AP…...

Go 语言封装 HTTP 请求的 Curl 工具包

文章目录 Go 语言封装 HTTP 请求的 Curl 工具包&#x1f3d7;️ 工具包结构简介核心结构体定义初始化函数 &#x1f31f; 功能实现1. 设置请求头2. 构建请求3. 发送请求4. 发送 GET 请求5. 发送 POST 请求6. 发送 PUT 请求7. 发送 DELETE 请求8. 读取响应体 &#x1f4a1; 实现…...

【Go】Go MongoDB 快速入门

1. MongoDB 简介 1.1 MongoDB 介绍 由于我们时常需要存储一些大文本数据&#xff08;比如文章内容&#xff09;&#xff0c;存储到一些关系型数据库可能不是最好的选择&#xff0c;这个时候就需要引入一些 NoSQL&#xff08;Not Only SQL&#xff09;&#xff0c;比如 MongoD…...

Java --- 根据身份证号计算年龄

介绍 根据身份证号计算年龄 Java代码 /*** 根据身份证号计算年龄* param birthDateStr* return*/public static int calculateAge(String birthDateStr) {try {birthDateStrbirthDateStr.substring(6,68);// 定义日期格式SimpleDateFormat sdf new SimpleDateFormat("…...

[LeetCode热门100题]|137,260,268,面试17.19

1、137 只出现一次数字|| 1、题目描述 137 只出现一次数字||https://leetcode.cn/problems/single-number-ii/description/ 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你…...

WPF未来展望:紧跟技术发展趋势,探索新的可能性

WPF未来展望&#xff1a;紧跟技术发展趋势&#xff0c;探索新的可能性 一、前言二、WPF 与.NET 技术的融合发展2.1 拥抱.NET Core2.2 利用.NET 5 及后续版本的新特性 三、WPF 在新兴技术领域的应用拓展3.1 与云计算的结合3.2 融入物联网生态 四、WPF 在用户体验和设计方面的创新…...

maxwell

一、maxwell简介 它是一款轻量级工具&#xff0c;主要用于实现 MySQL 到 Kafka 的数据实时同步&#xff0c;尤其适合对实时性要求较高的场景。 1.核心功能 借助解析 MySQL 的 Binlog&#xff0c;能够实时捕获数据变更&#xff0c;并将这些变更数据发送至 Kafka。 2.缺点 仅…...

Qt 6.6.1 中 QPixmap::grabWindow() 的用法与替代方案

一、Qt 6 中的 API 变化 ‌弃用 QPixmap::grabWindow()‌ 在 Qt 6 中&#xff0c;QPixmap::grabWindow() 已被迁移至 QScreen 类&#xff0c;需通过 QScreen::grabWindow() 实现窗口截取‌。 原因&#xff1a; Qt 6 重构了图形模块&#xff0c;QPixmap 的截屏功能被整合到 QSc…...

【软件】免费的PDF全文翻译软件,能保留公式图表的样式

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 很多PDF全文翻译软件都是收费的&#xff0c;而划线翻译看着又很累。这个开源的PDF全文翻译软件非常好用&#xff0c;并且能够保留公式、图表、目录和注…...