东莞免费做网站公司/免费网页设计制作网站

东莞免费做网站公司,免费网页设计制作网站,珠海市企业网站建设,深圳品牌网站设计推广1、背景与问题说明 因mysql-5.2.27版本存在安全漏洞问题,为保障系统安全,需将处于生产环境的麒麟v10 ARM64架构系统服务器上当前部署的mysql-5.7.27版本升级到mysql-8.4.4,以规避潜在风险,提升系统整体的安全性和稳定性。 1.1 本…

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、导入备份数据

        导入备份数据略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软开源神器OmniParser V2.0 介绍

微软开源的OmniParser V2.0是一款基于纯视觉技术的GUI智能体解析工具,旨在将用户界面(UI)截图转换为结构化数据,从而实现对计算机屏幕上的可交互元素的高效识别和操控。这一工具通过结合先进的视觉解析技术和大型语言模型&#xf…

DLMS电能表通讯协议学习笔记

本文是对于IEC62056协议族,即DLMS协议族的中文说明手册。本文并没有包含DLMS协议族的全部,但解释了在应用中可能出现的大多数情况。本文的目的是为电能量数据采集终端提供与使用DLMS协议族的电能表通讯的协议说明。 本文参考文献如下: &#…

browser_use 自动化浏览器agent使用案例

参考: https://github.com/browser-use/browser-use/tree/577e15c963f7e3c499aac312ecb8da6e1f4733fe 浏览器启动后,页面一直空白问题解决: https://github.com/browser-use/browser-use/issues/986 安装: pip install browser…

stable-diffusion-webui-docker 构建 comfy-ui

Ubuntu 安装 stable-diffusion-webui-docker 常见问题处理方法 这篇文章介绍了在 Ubuntu 上安装 stable-diffusion-webui-docker,运行 docker compose --profile auto up --build 构建出的界面是 stable-diffusion-webui,如果运行 docker compose --prof…

【AI学习从零至壹】Pytorch神经⽹络

Pytorch神经⽹络 神经网络简介神经元激活函数 神经网络神经⽹络的⼯作过程前向传播(forward) 反向传播(backward)训练神经⽹络 Pytorch搭建并训练神经⽹络神经⽹络构建和训练过程数据预处理构建模型优化器&提取训练数据训练样本 神经网络简介 神经元 在深度学习中&#x…

stm32 L432KC(mbed)入门第一课

目录 一. 前言 二. 专栏意义 三. MS入门第一课 一. 前言 新的一年MS课程又开始了,同时也到了该专栏的第三个年头。在前两年中,该专栏帮助了很多第一次接触单片机的同学。其中,有的同学订阅专栏是为了更好的完成并且通过MS这门课程&#xf…

【系统架构设计师】操作系统 - 文件管理 ② ( 位示图 | 空闲区域 管理 | 位号 | 字号 )

文章目录 一、空闲区域 管理1、空闲区域分配2、空闲区域 管理方式 简介 二、位示图 简介1、位示图 表示2、位示图 字号3、位示图 位号4、位示图 中 比特位 分组管理 三、位示图 考点1、计算磁盘 位示图 的大小2、位示图 位置计算 一、空闲区域 管理 1、空闲区域分配 在 索引文件…

搭建Django开发环境

搭建Django开发环境 文章目录 搭建Django开发环境[toc]一、安装Python语言环境二、安装Visual Studio Code三、安装setuptools工具四、安装Django框架 一、安装Python语言环境 1.测试当前系统环境是否存在Python语言解释器 python --version2.打开PowerShell终端,…

图论part3|101.孤岛的总面积、沉没孤岛、417. 太平洋大西洋水流问题

101. 孤岛的总面积 🔗:101. 孤岛的总面积思路:和昨天的岛的区别是:是否有挨着边的岛屿 所以可以先遍历四条边挨着的岛屿,把他们标记为非孤岛再计算其他岛屿当中的最大面积 代码:(深度搜索&…

AP AR

混淆矩阵 真实值正例真实值负例预测值正例TPFP预测值负例FNTN (根据阈值预测) P精确度计算:TP/(TPFP) R召回率计算:TP/(TPFN) AP 综合考虑P R 根据不同的阈值计算出不同的PR组合, 画出PR曲线,计算曲线…

【css酷炫效果】纯CSS实现按钮流光边框

【css酷炫效果】纯CSS实现按钮流光边框 缘创作背景html结构css样式完整代码效果图 【css酷炫效果】纯CSS实现按钮流光边框。 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90490501 缘 创作随缘,不定时更…

【Android】ListView控件在进入|退出小窗下的异常

1,描述 页面使用了ListView控件,随后进入小窗模式,导致视图遮挡 2,根源 ListView虽然进入小窗relayout,其measureChild高度比全屏下要小,但是,其内部使用了Recycler机制,缓存了ite…

基于ssm的电子病历系统(全套)

一、系统架构 前端:jsp | bootstrap | jquery 后端:spring | springmvc | mybatis 环境:jdk1.8 | mysql | maven | tomcat | idea 二、代码及数据库 三、功能介绍 01. 登录 02. 主页 03. 管理员-个人中心-修改密码…

使用STM32CubeMX+DMA+空闲中断实现串口接收和发送数据(STM32G070CBT6)

1.STM32CubeMX配置 (1)配置SYS (2)配置RCC (3)配置串口,此处我用的是串口4,其他串口也是一样的 (4)配置DMA,将串口4的TX和RX添加到DMA中 &#…

LabVIEW VI Scripting随机数波形图自动生成

通过LabVIEW VI Scripting 技术,实现从零开始编程化创建并运行一个随机数波形监测VI。核心功能包括自动化生成VI框架、添加控件与函数、配置数据流逻辑及界面布局优化,适用于批量生成测试工具、教学模板开发或复杂系统的模块化构建。通过脚本化操作&…

JavaScript 中的包装类型:概念、作用与使用场景

文章目录 引言1. 什么是包装类型?1.1 包装类型的定义1.2 包装类型的作用 2. 包装类型的使用2.1 自动装箱(Autoboxing)示例 2.2 手动创建包装对象示例 3. 包装类型的特性3.1 包装对象的生命周期示例 3.2 基本类型与包装对象的区别示例 4. 包装…

react18 核心知识点杂记1

类组件 如何渲染为真实dom 入口&#xff1a; const root ReactDOM.createRoot(document.getElementById(root))root.render(类组件)⬇️ 类组件内部render() {return (<div>12</div>)}⬇️ (经过babel-preset-react-app 把jsx语法&#xff0c;编译为h函数形式) R…

Matlab 汽车传动系统的振动特性分析

1、内容简介 Matlab 186-汽车传动系统的振动特性分析 可以交流、咨询、答疑 2、内容说明 略 摘要&#xff1a;汽车动力传动系统是一个具有多自由度的、连续的、有阻尼系统。传动系统的振动主要有横向振动、扭转振动、纵向振动。并且汽车传动系统的扭转振动是一个非常重要的振…

JDBC技术基础

文章目录 1. JDBC概述1.1 数据的持久化1.2 Java中的数据存储技术1.3 JDBC介绍1.4 JDBC体系结构1.5 JDBC程序编写步骤 2. 获取数据库连接2.1 引入JAR包2.2 要素一&#xff1a;Driver接口实现类2.2.1 Driver接口介绍2.2.2 加载与注册JDBC驱动 2.3 要素二&#xff1a;URL2.4 要素三…

QT入门笔记2

目录 一、前言 二、串口助手实现 2.1、串口 2.1.1、可用串口信息-QSerialPortInfo 2.1.2、打开串口-QSerialPort 2.1.3、串口发送接收信息 2.2、定时器-QTimer 2.3、常用属性类型转换&#xff08;会更新&#xff09; 2.4、子控件组规则命名优化 一、前言 这个是学习Q…