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

Ubuntu,openEuler,MySql安装

文章目录

  • Ubuntu
    • 什么是Ubuntu
      • 概述
      • Ubuntu版本简介
        • 桌面版
        • 服务器版
    • 部署系统
      • 新建虚拟机
      • 安装系统
      • 部署后的设置
        • 设置root密码
        • 关闭防火墙
        • 启用允许root进行ssh
        • 安装所需软件
        • 制作快照
    • 网络配置
      • Netplan概述
      • 配置详解
        • 配置文件
        • DHCP
        • 静态IP设置
    • 软件安装
      • 方法
      • apt安装软件
        • 作用
        • 常用命令
        • 配置apt源
      • deb软件包安装
        • 概念
        • dpkg命令
  • openEuler简介
    • 概述
      • 架构
      • OpenEuler和主流OS的关系
      • 信创与国产操作系统
    • 安装OpenEuler
      • 下载
      • 创建虚拟机实例
      • 虚拟网络编辑器
      • OpenEuler22.03操作系统的安装部署
    • 配置OpenEuler22.03
    • 网络配置
      • 可视化配置
        • 格式
        • 实验
      • nmcli命令
        • 格式:
        • 查看网卡信息:
        • 激活网卡和关闭连接
        • 添加网络连接
        • 修改网络连接
        • 删除网络连接
  • MySql服务
    • 什么是数据库
      • 数据:
      • 数据库:
    • mysql概述
    • 版本及下载
    • yum仓库安装
      • 添加yum源
      • 安装
    • 本地RPM包安装
      • 使用迅雷下载集合包
      • 上传数据
      • 安装
    • 生产环境中使用通用二进制包安装
      • 作用
      • 软件包下载
      • 使用xftp将软件包上传到根目录
      • 解压缩
      • 使用前的准备
      • 初始化软件
      • 设置mysql的配置文件
      • 配置启动脚本

Ubuntu

# 配置apt下载源
root@ubuntu:~# vim /etc/apt/sources.list
deb [check-date=no] file:///cdrom noble main restricted
deb http://mirrors.aliyun.com/ubuntu/ noble main restricted

什么是Ubuntu

概述

  • Ubuntu(乌班图)属于Debian系列,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。

在这里插入图片描述

  • Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable、testing 和 unstable。
  • Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。
  • Ubuntu Server是Ubuntu操作系统的一个版本,是Ubuntu家族的一员,被工程设计作为互联网的骨干系统,Ubuntu Server为公共或私有数据中心带来经济和技术上的可扩展性。

Ubuntu版本简介

桌面版
  • 网址:https://cn.ubuntu.com/download

在这里插入图片描述

  • 桌面版是带有GUI界面、面向普通用户使用的操作系统,预装了可帮助用户执行日常基本活动的软件,如:视频、浏览器、文本处理、电子邮件和多媒体等,对标Windows10操作系统

在这里插入图片描述

服务器版
  • 服务器版本用于托管网络服务器和数据库等应用程序,是专业人员使用的服务器操作系统

在这里插入图片描述

  • 注意:
    • 一般选择LTS长期更新版,LTS为“长期支持”版本每两年在4月份发布一次。LTS版本是Ubuntu的“企业级”版本,使用得最多。估计95%的Ubuntu安装都是LTS版。
    • 可以在开源镜像站点下载,如阿里开源镜像

在这里插入图片描述

部署系统

新建虚拟机

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装系统

  • 择安装语言,默认 【 English 】,直接回车

在这里插入图片描述

  • 选择键盘,默认回车

在这里插入图片描述

  • 安装的服务器版本,如需精简版本选择 【Minimized】最小安装,此处根据需求自行选择,本次安装选择 【 Ubuntu Server

在这里插入图片描述

  • 网络设置,此处默认使用DHCP,回车即可

在这里插入图片描述

  • Proxy(代理配置),用于访问安装程序环境和已安装系统中的包存储库和snap存储库,不用配置,回车即可

在这里插入图片描述

  • 配置软件源,建议更改为国内镜像源提高下载速度,也可以直接回车,以后在更改

在这里插入图片描述

  • 系统分区,选择安装磁盘,直接回车默认自动分配,需要手动分区的话选择 【custom storage layout】。**此次安装选择【Custom storage layout】**进行手动分区,按Tab进行选项选择,按空格键选中选项后回车

在这里插入图片描述

  • 新建第一个分区:/boot,容量1GB

在这里插入图片描述
在这里插入图片描述

  • 添加第二个分区:/根分区,剩余容量,不填即可

在这里插入图片描述
在这里插入图片描述

  • 设置计算机名、用户名及密码
    • your server name:主机名
    • pick a useranme:账户名
    • 注意:ubuntu默认不能设置root密码,可以安装完毕后,使用命令更改root密码

在这里插入图片描述

  • 安装OpenSSH Server 服务,空格键选中

在这里插入图片描述

  • 选择安装其他服务,直接跳过

在这里插入图片描述

  • 开始系统安装

在这里插入图片描述

  • 安装完成后选择【Reboot Now】重启系统

在这里插入图片描述

  • 注意:出现下列报错,表示未找到光驱,回车即可

在这里插入图片描述

  • 使用之前创建的普通账户登录

在这里插入图片描述

部署后的设置

设置root密码
  • 由于默认的root用户没有固定密码,则可以通过下列方法更改并切换账户
andy@server:~$ sudo  passwd  root   # 以普通账户登录后执行此命令修改root初始密码
[sudo] password for andy:     # 普通账户的密码
New password:                 # 新的root密码 
Retype new password:          # 在输入一遍
passwd: password updated successfully
andy@server:~$ su - root      # 切换到root账户
Password: 
root@server:~# 
关闭防火墙
root@server:~# systemctl status  ufw    # 查看ufw防火墙状态
● ufw.service - Uncomplicated firewallLoaded: loaded (/lib/systemd/system/ufw.service; enabled; preset: enabled)Active: active (exited) since Sat 2023-12-02 07:55:04 UTC; 13min agoDocs: man:ufw(8)Main PID: 624 (code=exited, status=0/SUCCESS)CPU: 1msroot@server:~# systemctl  stop  ufw
root@server:~# systemctl  disable  ufw
启用允许root进行ssh
root@server:~# vim  /etc/ssh/sshd_config
PermitRootLogin 的参数设为yesroot@server:~# systemctl  restart  ssh   # 注意服务接口为ssh
安装所需软件
root@server:~# apt  install  tree  gcc  make  net-tools  openvswitch-switch -y
制作快照

网络配置

Netplan概述

  • Netplan —— 抽象网络配置生成器 ,是一个用于配置 Linux网络的简单工具。

  • 通过 Netplan ,你只需用一个 YAML文件描述每个网络接口需要配置成啥样即可。 根据这个配置描述, Netplan 便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥

  • Netplan 的特点和功能:

    • YAML 语法:Netplan 使用 YAML 文件格式来描述网络配置信息。YAML 格式旨在使文件易于编写、阅读和理解。您可以在每行结束时添加注释以方便自己和其他管理员查看文件。
    • 多种网络选项:Netplan 支持多种网络选项,包括 IP 地址、子网掩码、网关、DNS 设置、静态路由和 DHCP 客户端等。您可以根据需要选择所需的选项并将其添加到配置文件中。
    • 支持多个网络接口:Netplan 支持管理多个网络接口。无论您使用有线或无线网络,或者使用虚拟网络接口,都可以在配置文件中指定各个接口的设置。
    • 自动应用配置:当您修改 Netplan 配置文件后,Netplan 会自动将其应用到相应的网络接口上。这意味着您无需手动执行命令即可生效所做的更改。
    • 兼容性:Netplan 可以与旧版网络管理工具共存,并且可以在 Ubuntu 16.04 及更高版本上运行。如果您已经使用 ifupdown 或 NetworkManager 进行网络配置,您可以继续使用这些工具,或者将其与 Netplan 配置文件结合使用。
  • Netplan目前支持以下两种 网络管理工具 :

    • NetworkManager
    • Systemd-networkd
    • 一言以蔽之,从前你需要根据不同的管理工具编写网络配置,现在 Netplan将管理工具差异性给屏蔽了。 你只需按照 Netplan规范编写 YAML 配置,不管底层管理工具是啥,一份配置走天下!

在这里插入图片描述

配置详解

配置文件
# 默认配置文件:/etc/netplan/*.yaml# 本机
root@server:~# vim  /etc/netplan/50-cloud-init.yaml 
DHCP
network:             ethernets:ens32:dhcp4: trueversion: 2
静态IP设置
  • 注意:netplan 说明文件格式存储在下列路径下,该目录下有各种样例文件,可以提供帮助
root@server:~# cd  /usr/share/doc/netplan/examples/
root@server:/usr/share/doc/netplan/examples# ls
bonding_router.yaml               infiniband.yaml          sriov_vlan.yam    ……# 静态IP范例
root@server:/usr/share/doc/netplan/examples# cat  static.yaml 
network:version: 2renderer: networkdethernets:enp3s0:        # 网卡名addresses:- 10.10.10.2/24    # 静态IP地址/子网掩码nameservers:search: [mydomain, otherdomain]    # 域名addresses: [10.10.10.1, 1.1.1.1]   # DNS解析地址1 , DNS解析地址2routes: - to: defaultvia: 10.10.10.1    # 网关地址
  • 查看本机IP信息
# IP and netmask:
root@server:~# ifconfig  ens32  # IP:192.168.48.151
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.48.151  netmask 255.255.255.0  broadcast 192.168.48.255inet6 fe80::20c:29ff:fee1:522e  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:e1:52:2e  txqueuelen 1000  (Ethernet)RX packets 52971  bytes 74147184 (74.1 MB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 11760  bytes 744059 (744.0 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0# gateway:      192.168.48.2
root@server:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.48.2    0.0.0.0         UG    100    0        0 ens32# DNS:114.114.114.114
  • 设置
root@server:~# vim  /etc/netplan/50-cloud-init.yaml 
# 清除已有内容,将静态IP范例文件内容拷贝到当前配置中,在修改,注意缩进格式
network:ethernets:ens32:dhcp4: noaddresses: [192.168.48.150/24]routes:- to: defaultvia: 192.168.48.2nameservers:addresses: [114.114.114.114]version: 2
  • 生效
root@server:~# netplan  apply

软件安装

方法

  • 使用 apt 工具安装

  • deb 软件包安装

  • 自己下载程序源码编译安装

apt安装软件

作用
  • Apt (Advanced package tool) 是一个命令行包命令行包管理工具,适用于 Ubuntu / Debian Linux。
  • Apt 用于在 Ubuntu / Debian 系统中从命令行安装、删除、更新和升级 Debian 包。Apt 克服了在 apt-get 命令中注意到的问题和错误。使用 apt 命令时,用户必须具有 sudo 权限
常用命令
apt update : 更新软件仓库信息,建议在安装或升级包之前执行该命令
apt list : 列出所有可用的软件包
apt list --installed :只列出已安装的包
apt list --upgradeable :只列出可升级的包
apt install 软件包名  -y :安装新软件包
apt download 软件包名 : 下载软件包而不安装
apt remove 软件包名 : 删除软件包
apt upgrade : 升级所有软件包
apt install 包名 --only-upgrade : 要升级特定的安装包
apt full-upgrade : 全面系统升级,请务必小心,因为它可能会删除已安装的软件包并安装更新的软件包
apt search 软件包名 : 搜索软件包
apt show nginx : 查看软件包信息
apt clean : 清除apt缓存
配置apt源
  • 配置文件:
/etc/apt/sources.list
  • 推荐的源
序  号源		地址
1	阿里		 http://mirrors.aliyun.com/ubuntu/
2	网易		 http://mirrors.163.com/ubuntu/
3	搜狐		 http://mirrors.sohu.com/ubuntu/
4	华为云		 http://repo.huaweicloud.com/ubuntu/
5	中国官方	http://cn.archive.ubuntu.com/ubuntu/
6	官方		 http://archive.ubuntu.com/ubuntu/
7	清华		  http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
8	中科大		 http://mirrors.ustc.edu.cn/ubuntu/
  • 修改:
    • 打开文件:vim /etc/apt/sources.list
    • 将默认的http://archive.ubuntu.com/ , 替换为 mirrors.aliyun.com ,如:

在这里插入图片描述

  • 最后需要更新软件列表:
root@server:~# apt  update

deb软件包安装

概念
  • deb包是Debian,Ubuntu等Linux发行版的软件安装包,扩展名为.deb,是类似于rpm的软件包。
dpkg命令
  • 格式:
dpkg [<选项> ...] <命令>
  • 常用命令
dpkg -i 包名  : 安装软件包dpkg -I 包名  : 查看软件包的详细信息(软件名称、版本以及大小等)dpkg -c 包名  : 查看软件包结构dpkg -r 包名  : 卸载软件包
  • 注意:不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。

openEuler简介

概述

​ openEuler的前身是运行在华为公司通用服务器上的操作系统EulerOS。

​ EulerOS是一款基于Linux内核的开源操作系统,支持X86和ARM等多种处理器架构,伴随着华为公司鲲鹏芯片的研发,EulerOS 理所当然地成为与鲲鹏芯片配套的软件基础设施。2019年底,EulerOS被正式推送至开源社区,更名为openEuler。

​ 当前openEuler内核源于Linux,支持鲲鹏及其他多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。

​ openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。

在这里插入图片描述
在这里插入图片描述

架构

在这里插入图片描述

在这里插入图片描述

OpenEuler和主流OS的关系

信创与国产操作系统

“信创”计划,全称是“信息技术应用创新计划”,旨在通过推广自主可控的信息技术,提高国家信息安全的保障能力和综合国力

在这里插入图片描述

安装OpenEuler

下载

  • 网址:https://www.openeuler.org/zh/download/archive/
  • 版本选择:openEuler 22.03 LTS SP3 ,即长期更新版,其使用linux内核版本如下图:

在这里插入图片描述

  • 选择基本ISO版本:

在这里插入图片描述

创建虚拟机实例

  • 第一步:文件菜单->新建虚拟机->典型->下一步

在这里插入图片描述

  • 第二步:稍后安装操作系统

在这里插入图片描述

  • 第三步:选择操作系统类型,由于OpenEuler22.03 LTS SP3使用Linux5.10内核则选择如下:

在这里插入图片描述

  • 第四步:命名虚拟机

在这里插入图片描述

  • 第五步:设置磁盘空间,根据虚拟机安装要求设置,如下:

在这里插入图片描述

  • 设置32G,动态空间申请,设置为单个文件

在这里插入图片描述

  • 第六步:自定义硬件,设置硬件参数

在这里插入图片描述

  • 第七步:设置自定义硬件
    • 内存:推荐2GB
    • 处理器:1颗、2核心
    • 新CD/DVD:适应ISO映像文件,点击浏览按钮,选择之前下载好的openEuler-22.03-LTS-SP2-x86_64-dvd.iso镜像文件
    • 网络适配器:选择NAT模式
    • 显示器:去掉"加速3D图形“的对钩
    • 最终:

在这里插入图片描述

  • 选择关闭、完成

虚拟网络编辑器

  • 位置:vmware-> 编辑菜单->虚拟网络编辑器

  • 作用:设置虚拟网卡的连接模式以及网段、IP、DNS、网关

  • 方法:先点击上边的网络模式,在选择下方的设置按钮,一般需要查看“NAT设置”的网关地址以及最下方的网段地址

OpenEuler22.03操作系统的安装部署

  • 使用鼠标点击黑色界面进入OpenEuler22.03系统,通过ctrl+alt可以释放鼠标焦点回到Windows

  • 通过键盘方向键选择第一项Install openEuler 22.03-LTS-SP2 选项进行安装系统

  • 选择语言:中文或英文

在这里插入图片描述

  • 安装信息摘要设置

    • 在这里插入图片描述

    • 安装目的地:显示安装位置,一般为硬盘,点击自定义,在点击“完成”进行分区:

      在这里插入图片描述

      /boot:系统启动分区,推荐500M或1GB

      swap:交换分区,4G

      /:根分区,期望容量省略,表示将剩余空间全部分配

      方法:点击下图的加号,设置挂载点及期望容量(重复多次),点击完成,点击接收更改

      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 网络和主机名:打开网卡连接

在这里插入图片描述

  • root账户密码设置:密码为OPENlab123

在这里插入图片描述

  • 创建用户:创建一个普通账户fox,设置密码:OPENlab123

在这里插入图片描述

  • 安装完成后点击"重启系统"

在这里插入图片描述

配置OpenEuler22.03

  • 登录
    • 账户:root
    • 密码:OPENlab123

在这里插入图片描述

  • xshell7建立连接

  • 关闭防火墙及SELinux

[root@server ~]# vi  /etc/selinux/config 
[root@server ~]# systemctl stop  firewalld   # 关闭防火墙
[root@localhost ~]# systemctl disable  firewalld  # 取消开机启动
  • 修改主机名
[root@localhost ~]# hostnamectl  set-hostname  server  # server为主机名
[root@server ~]# reboot  # 重启
  • 修改root密码
[root@server ~]# passwd root
更改用户 root 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
  • 查看yum源
[root@server ~]# cat  /etc/yum.repos.d/openEuler.repo 
[root@server yum.repos.d]# yum  makecache  # 制作缓存
  • 查看网卡配置文件
[root@server ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ens32
  • 下载所需软件
[root@server ~]# yum  install  vim  make  gcc  tree  net-tools tar  -y
  • 测试
[root@server ~]# cat /etc/os-release   # 查看系统信息[root@server ~]# lscpu   # 查看cpu信息[root@server ~]# free  -m  # 查看内存信息[root@server ~]# fdisk -l  # 查看磁盘信息[root@server ~]# top  # 查看进程信息[root@server ~]# ping  -c  2  www.qq.com
  • 制作快照:虚拟机菜单->快照->拍摄快照->命名为“初始”->拍摄
  • 使用虚拟机进行克隆,命名为node1,启动后后需要更改主机名,重启生效,重新制作node1的快照
  • 可以尝试安装桌面环境(可选)
# DDE是统信软件团队研发的一款功能强大的桌面环境
[root@server ~]# yum  install  dde  -y   # 安装包容量较大,建议课后进行[root@server ~]# systemctl set-default graphical.target # 设置以图形界面方式启动[root@server ~]# reboot 

网络配置

可视化配置

格式
[root@server ~]# nmtui

在这里插入图片描述

实验
  • 例:为当前网卡增加一个IP地址

在这里插入图片描述

[root@server ~]# nmcli c  up ens32
[root@server ~]# nmcli c  reload
[root@server ~]# ip addr

nmcli命令

格式:
[root@server ~]# nmcli --help
用法:nmcli [选项] 对象 { 命令 | help }
查看网卡信息:
[root@server ~]# nmcli  c  show
[root@server ~]# nmcli  c  show  网卡名  #  查看网卡详细信息,点q退出
[root@server ~]# nmcli dev  status  #  查看已有设备的状态
[root@server ~]# nmcli dev  show  # 查看所有硬件设备状态
激活网卡和关闭连接
[root@server ~]# nmcli c up  网卡名   
[root@server ~]# nmcli c down  网卡名    # 停用连接
添加网络连接
[root@server ~]# nmcli c  add  type  ethernet ifname ensens32 con-name ens33  autoconnect yes  ip4 192.168.48.135/24  gw4 192.168.48.2[root@server ~]# nmcli c up  ens161  # 激活[root@server ~]# nmcli  c  show
  • 命令解释
    • 关键字:nmcli c add type
    • 网络类型:ethernet
    • 现有网卡名:ifname ens32
    • 新网络名称:con-name ens33
    • 开启自动连接:autoconnect yes
    • 新连接的IP地址与网关地址:ip4 192.168.48.135/24 gw4 192.168.48.2
修改网络连接
  • 例:通过ens32连接设置静态ip地址:
[root@server ~]# nmcli  c  mod  ens32  ipv4.method  manual  ipv4.addresses  '192.168.48.150/24'  ipv4.gateway  '192.168.48.2'  ipv4.dns  '114.114.114.114'  [root@server ~]# nmcli c up ens32  # 激活
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@server ~]# ip a  # 查看结果
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:dc:cf:14 brd ff:ff:ff:ff:ff:ffaltname enp3s0inet 192.168.48.150/24 brd 192.168.48.255 scope global noprefixroute ens160
  • ipv4.method manual :手动获取(静态)

  • 通过配置文件查看和编辑:

[root@server ~]# vim  /etc/sysconfig/network-scripts/ifcfg-ens32 TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens32
UUID=b50354dd-8e11-4494-9072-a152ea6b0783
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.48.130
PREFIX=24
GATEWAY=192.168.48.2
DNS1=114.114.114.114
删除网络连接
[root@server ~]# nmcli  c  show   # 查看网络连接
[root@server ~]# nmcli c del  ens32   #  删除[root@server ~]# nmcli  c  show  # 再次查看
  • 以上做完之后需要恢复快照

MySql服务

什么是数据库

数据:

  • 描述事物的符号记录, 可以是数字、 文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。

数据库:

  • 存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:
  • 数据结构化
  • 数据的共享性高,冗余度低,易扩充
  • 数据独立性高
  • 数据由 DBMS 统一管理和控制(安全性、完整性、并发控制、故障恢复)

mysql概述

  • MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购。
  • 目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

在这里插入图片描述

版本及下载

  • MySQL数据库存在多种版本,不同的版本在不同的平台上:https://dev.mysql.com/downloads/mysql/

在这里插入图片描述

  • 也可以选择MySQL对应版本的,找到安装教程,如MySQL5.7为例:https://dev.mysql.com/doc/refman/5.7/en/installing.html

在这里插入图片描述

yum仓库安装

添加yum源

  • 访问官方:https://www.mysql.com/

  • 查看官方教程:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

  • 选择downloads页面的:MySQL Community (GPL) Downloads »

在这里插入图片描述

  • 选择:MySQL Yum Repository

在这里插入图片描述

  • 选择版本后下载yum源,注意:Euler22版本对应Centos8 即RedHat8

在这里插入图片描述

  • 添加yum源
[root@server ~]# wget  https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm   # 下载
[root@server ~]# rpm -ivh  mysql80-community-release-el8-9.noarch.rpm  # 安装
[root@server ~]# yum  list  |  grep  mysql

安装

root@server ~]# yum  install  mysql-community-server.x86_64 [root@server ~]# systemctl start mysqld   # 启动,注意有d[root@server ~]# systemctl status mysqld[root@server ~]# grep 'temporary password' /var/log/mysqld.log
2023-07-09T02:38:36.368700Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: qQ6OmpD?8_.f   # 查看初始登录密码[root@server ~]# mysql -u root -p         # 以root身份登录
Enter password:   # 赋值初始登录密码mysql> alter user 'root'@'localhost' identified by 'Admin123!'; # 设置新密码mysql> show variables like 'validate_password.%';  # 查看密码设置默认的规则
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     | # ON时,账户及密码不能相同 
| validate_password.dictionary_file    |        | # 规则文件保存路径
| validate_password.length             | 8      | # 密码长度
| validate_password.mixed_case_count   | 1      | # 至少要包含大/小写字母的个数
| validate_password.number_count       | 1      | # 至少要包含数字的个数
| validate_password.policy             | MEDIUM | # 密码的验证强度等级
| validate_password.special_char_count | 1      | # 密码中特殊字符个数
+--------------------------------------+--------+
7 rows in set (0.01 sec)
# 默认为中级密码验证规则,密码长度8为,内容至少包含:一个大写字母、一个小写字母、一位数字和一个特殊字符# 若密码不好记忆可以调低密码验证等级,在设置简单的密码,但生产中不推荐
mysql> set global validate_password.policy=low;mysql> set global validate_password.length=6;mysql> alter user 'root'@'localhost'  identified  by  '123456';mysql> exit
Bye[root@server ~]#  mysql -u root -p
Enter password:       # 密码为123456
mysql> show databases;    # 注意s和分号结尾
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+mysql> show global variables like 'port';      # 查看默认端口号
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+------+
1 row in set (0.00 sec)mysql> quit
Bye

本地RPM包安装

使用迅雷下载集合包

  • 进入下载网站:https://downloads.mysql.com/archives/community/
  • 如图:

在这里插入图片描述

上传数据

  • 使用xftp将下载安装包上传到linux端

安装

[root@server ~]# cd /
[root@server /]# tar -xvf mysql-8.0.32-1.el9.x86_64.rpm-bundle.tar   # 解压[root@server /]# yum localinstall mysql-community-server-8.0.32-1.el9.x86_64.rpm \
mysql-community-client-8.0.32-1.el9.x86_64.rpm \   # 必须,客户端
mysql-community-common-8.0.32-1.el9.x86_64.rpm \   # 必须,公共库
mysql-community-icu-data-files-8.0.32-1.el9.x86_64.rpm  \  # 必须,支持正则表达式的icu数据文件
mysql-community-client-plugins-8.0.32-1.el9.x86_64.rpm \   # 必须,客户端共享插件
mysql-community-libs-8.0.32-1.el9.x86_64.rpm       # 不必须,开发库,开发跟MySql有关的C/C++ 项目时则需要[root@server /]# cd ~[root@server ~]# systemctl start mysqld[root@server ~]# systemctl status mysqld  # 查看状态[root@server ~]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  # 密码错误,需要重置密码[root@server ~]# grep password /var/log/mysqld.log   # 查询初始密码
2023-02-09T03:55:47.305118Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&2PO.yJZ+Hp
# q&2PO.yJZ+Hp为密码,需要复制[root@server ~]# mysql -u root -p
Enter password:   # 粘贴之前的密码mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.   # 提示需要修改默认密码mysql> alter user 'root'@'localhost' identified by 'MyNewPass1!'; # 修改密码
Query OK, 0 rows affected (0.01 sec)mysql> exit
Bye

生产环境中使用通用二进制包安装

作用

  • 二进制包:源码包经过成功编译之后产生的包
  • 优点:由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快
  • 注意:在生产环境中通用二进制包安装方法较为常用

软件包下载

  • 网址:https://dev.mysql.com/downloads/mysql/
  • 如图:

在这里插入图片描述

  • 根据上图系统参数里的glibc版本cpu架构选择对应的下载选项:

在这里插入图片描述

使用xftp将软件包上传到根目录

解压缩

[root@server ~]# cd  /[root@server /]# tar xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar# 解压缩后有三个子包
# mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:安装mysql必须的文件
# mysql-router-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:官方提供的一个轻量级中间件,主要作用是在应用程序与MySQL服务器之间提供透明的路由方式,是高可用性 (HA) 解决方案的构建块
# mysql-test-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:测试框架,用于做mysql 服务的单元,回归和一致性测试,并提供了运行单元测试和创建新单元测试的工具
# 继续解压缩
[root@server /]# tar xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
[root@server /]# ls

使用前的准备

[root@server /]# mv mysql-8.0.33-linux-glibc2.17-x86_64-minimal /usr/local/mysql  # 移动到默认安装目录,也可自行修改[root@server /]# cd /usr/local/mysql   [root@server mysql]# groupadd mysql    # 创建名为mysql的用户组[root@server mysql]# useradd -r -g mysql -s /bin/false mysql  # 创建名为 mysql的系统用户,将其添加到mysql用户组中,并设置其登录shell为/bin/false,以限制该用户的登录权限[root@server mysql]# mkdir mysql-files   # 创建一个名为 mysql-files 的目录,用于存放MySQL数据文件,一般存储备份数据[root@server mysql]# chown mysql:mysql mysql-files     # 将mysql-files目录的所有者和所属组设置为mysql用户和组[root@server mysql]# chmod 750 mysql-files    # 设置mysql-files目录的权限为 750,以确保只有 “mysql” 用户组的成员可以读取、写入和执行该目录

初始化软件

[root@server mysql]# bin/mysqld --initialize --user=mysql  # 注意:需要复制密码
[root@server mysql]# bin/mysql_ssl_rsa_setup  # 支持ssl,用于安全通信
[root@server mysql]# bin/mysqld_safe --user=mysql &  # 使用后台方式以mysql用户身份启动 MySQL 服务器,mysqld_safe 是一个用于启动和监控 MySQL 服务器的脚本# 注意:此时上述命令执行完毕处于后台运行状态,需要另行启动一个终端
[root@server ~]# ps  -ef | grep  mysql   # 查看进程运行状态
[root@server ~]# cd /usr/local/mysql
[root@server ~]# bin/mysql -u root -p   # 登录,可能报错# 报错,需要找到下面的文件进行软连接
[root@server ~]# ln -s /usr/lib64/libncurses.so.6   /usr/lib64/libncurses.so.5
[root@server ~]# ln -s /usr/lib64/libtinfo.so.6  /usr/lib64/libtinfo.so.5
[root@server ~]# bin/mysql -u root -p
Enter password:   # 粘贴之前的初始密码mysql> alter  user 'root'@'localhost'  identified  with  mysql_native_password by '123456';  修改密码
mysql> flush privileges;   # 刷新
mysql>exit[root@server ~]# ps -ef | grep mysql
[root@server ~]# kill  -9  pid号   # 在当前终端关闭运行的mysql

设置mysql的配置文件

# 回到之前的终端,敲一个回车,显示进程以杀死
[root@server mysql]# vim /etc/my.cnf  # 新建配置文件,输入以下内容:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server-id = 1
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
socket = /tmp/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
log_error = error.log# 注意:以下是上述配置文件的解释
[client]      # 客户端设置
port = 3306   # 默认端口号
socket = /tmp/mysql.sock   # 启动套接字 [mysqld]
###############################基础设置#####################################
server-id = 1      # Mysql服务的唯一编号 每个mysql服务Id需唯一
port = 3306        # 端口号 3306
basedir = /usr/local/mysql     # mysql安装根目录
datadir = /usr/local/mysql/data    # mysql数据文件所在位置 没有改目录则创建
tmpdir = /tmp    # 临时目录 比如load data infile会用到
socket = /tmp/mysql.sock   # 设置socke文件所在目录
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
###############################日志设置#####################################
#数据库错误日志文件
log_error = error.log

配置启动脚本

[root@server ~]# cd  /usr/local/mysql/support-files
[root@bogon support-files]# dnf install chkconfig-1.24-1.el9.x86_64 
[root@server support-files]# cp -a mysql.server /etc/init.d/mysql.server # 拷贝启动脚本
[root@server support-files]# cd  /etc/init.d  
[root@server init.d]# vim  mysql.server  # 增加=之后的内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data[root@server ~]#chkconfig --add mysql.server  添加到开机自启动服务中  
[root@server ~]#chkconfig mysql.server on     开启开机启用
[root@server ~]#systemctl daemon-reload       如果重新修改配置后,重载[root@server ~]# systemctl start mysql
[root@server ~]# vim  ~/.bash_profile   # 设置环境变量需添加如下语句
export PATH=$PATH:/usr/local/mysql/bin
[root@server ~]# source ~/.bash_profile
[root@server ~]# mysql  -uroot -p

相关文章:

Ubuntu,openEuler,MySql安装

文章目录 Ubuntu什么是Ubuntu概述Ubuntu版本简介桌面版服务器版 部署系统新建虚拟机安装系统部署后的设置设置root密码关闭防火墙启用允许root进行ssh安装所需软件制作快照 网络配置Netplan概述配置详解配置文件DHCP静态IP设置 软件安装方法apt安装软件作用常用命令配置apt源 d…...

LLM( Large Language Models)典型应用介绍 1 -ChatGPT Large language models

ChatGPT 是基于大型语言模型&#xff08;LLM&#xff09;的人工智能应用。 GPT 全称是Generative Pre-trained Transformer。-- 生成式预训练变换模型&#xff1a; Generative&#xff08;生成式&#xff09;&#xff1a;可以根据输入生成新的文本内容&#xff0c;例如回答问题…...

deepin系统下载pnpm cnpm等报错

deepin系统下载pnpm cnpm等报错 npm ERR! request to https://registry.npm.taobao.org/pnpm failed, reason: certificate has expired 报错提示证书过期&#xff0c;执行以下命令 npm config set registry https://registry.npmmirror.com下载pnpm npm install pnpm -g查…...

RPC-健康检测机制

什么是健康检测&#xff1f; 在真实环境中服务提供方是以一个集群的方式提供服务&#xff0c;这对于服务调用方来说&#xff0c;就是一个接口会有多个服务提供方同时提供服务&#xff0c;调用方在每次发起请求的时候都可以拿到一个可用的连接。 健康检测&#xff0c;能帮助从连…...

数据结构-二叉树_堆

目录 1.二叉树的概念 ​编辑1.1树的概念与结构 1.2树的相关语 1.3 树的表示 2. ⼆叉树 2.1 概念与结构 2.2 特殊的⼆叉树 2.2.2 完全⼆叉树 2.3 ⼆叉树存储结构 2.3.1 顺序结构 2.3.2 链式结构 3. 实现顺序结构⼆叉树 3.2 堆的实现 3.2.2 向下调整算法 1.二叉树的概…...

“无关紧要”的小知识点:“xx Packages Are Looking for Funding”——npm fund命令及运行机制

“无关紧要”的小知识点&#xff1a;“xx Packages Are Looking for Funding”——npm fund 命令及运行机制 在 Node.js 和 npm 生态系统中&#xff0c;开源项目的持续发展和维护常常依赖于贡献者的支持和资助。为了让开发者更容易了解他们依赖的项目哪些有资金支持选项&#…...

【案例】---Hutool提取excel文档

目录 一、前言二、提取excel文档2.1、核心代码一、前言 引用jar包 <!--hutool--><dependency><groupId>cn.hutool</groupId>...

GPT-1.0、GPT-2.0、GPT-3.0参数对比

以下是 GPT-1.0、GPT-2.0、GPT-3.0 的模型参数对比表格&#xff1a; 模型GPT-1.0GPT-2.0GPT-3.0参数数量117M1.5B175B层数12 层12 - 48 层96 层嵌入维度768768 - 160012,288注意力头数1212 - 2596上下文长度51210242048词汇表大小约 40,00050,00050,000训练数据BooksCorpus (约…...

鸿蒙网络编程系列48-仓颉版UDP回声服务器示例

1. UDP回声服务器简介 回声服务器指的是这样一种服务器&#xff0c;它接受客户端的连接&#xff0c;并且把收到的数据原样返回给客户端&#xff0c;本系列的第2篇文章《鸿蒙网络编程系列2-UDP回声服务器的实现》中基于ArkTS语言在API 9的环境下实现了UDP回声服务器&#xff0c…...

110. UE5 GAS RPG 实现玩家角色数据存档

在这篇&#xff0c;我们实现将玩家数据保存到存档内。 增加保存玩家属性 玩家属性默认的等级&#xff0c;经验值&#xff0c;可分配的技能点和属性点。还有一些角色基础属性也需要保存&#xff0c;回忆一下&#xff0c;我们是如何实现玩家的属性的&#xff0c;我们是通过多个…...

Excel - VLOOKUP函数将指定列替换为字典值

背景&#xff1a;在根据各种复杂的口径导出报表数据时&#xff0c;因为关联的表较多、数据量较大&#xff0c;一行数据往往会存在三个以上的字典数据。 为了保证导出数据的效率&#xff0c;博主选择了导出字典code值后&#xff0c;在Excel中处理匹配字典值。在查询百度之后&am…...

多线程并发造成的数据重复问题解决方案参考(笔记记录)

一、添加 MySQL 组合唯一索引&#xff0c;需要注意什么坑&#xff1f; 在 MySQL 中&#xff0c;创建组合唯一索引&#xff08;Composite Unique Index&#xff09;时&#xff0c;需要注意以下一些容易踩的坑&#xff1a; 1. 字段顺序影响索引使用 问题&#xff1a;组合唯一索…...

使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法

在使用uniapp开发微信小程序时候&#xff0c;过多的引入uni_modules的组件库&#xff0c;会导致主包文件过大&#xff0c;导致无法上传微信小程序&#xff0c;主包要求大小不超过1.5MB.分包大小每个不能超过2M。 解决方法&#xff1a;分包。 1.对每个除了主页面navbar的页面进…...

01_MinIO部署(Windows单节点部署/Docker化部署)

单节点-Windows环境安装部署 在Windows环境安装MinIO&#xff0c;主要包含两个东西&#xff1a; MinIO Server&#xff08;minio.exe&#xff09;&#xff1a;应用服务本身MinIO Client&#xff08;mc.exe&#xff09;&#xff1a;MinIO客户端工具&#xff08;mc&#xff09;…...

uniapp微信小程序转发跳转指定页面

onShareAppMessage 是微信小程序中的一个重要函数&#xff0c;用于自定义转发内容。当用户点击右上角的菜单按钮&#xff0c;并选择“转发”时&#xff0c;会触发这个函数。开发者可以在这个函数中返回一个对象&#xff0c;用于定义分享卡片的标题、图片、路径等信息。 使用场…...

【AI知识】两类最主流AI应用(文生图、ChatGPT)中的目标函数

之前写过一篇 【AI知识】了解两类最主流AI任务中的目标函数&#xff0c;介绍了AI最常见的两类任务【分类、回归】的基础损失函数【交叉熵、均方差】&#xff0c;以初步了解AI的训练目标。 本篇更进一步&#xff0c;聊一聊流行的“文生图”、“聊天机器人ChatGPT”模型中的目标函…...

区块链入门—带你快速了解(通俗易懂)

读懂这篇文章需要有一定的数据结构与算法的基础。 本篇文章如果有不正确的地方&#xff0c;欢迎指正。 目录 一、区块链基础 1.基本概念 2.核心特性 3.区块链分类 4.区块链发展历程 二、区块链技术概念 1.技术架构 2.区块图解 3.共识机制 4.智能合约 5.密码学—哈…...

【数据库知识】mysql进阶-Mysql数据库的主从复制

mysql主从复制 概述一、数据同步机制二、复制流程三、保证数据一致性的措施四、复制拓扑结构五、应用场景与优势 双主复制的过程一、配置前的准备二、配置主服务器三、配置从服务器&#xff08;相对角色&#xff09;四、验证复制状态五、处理潜在的问题 双主复制如何解决冲突问…...

深度学习中的mAP

在深度学习中&#xff0c;mAP是指平均精度均值(mean Average Precision)&#xff0c;它是深度学习中评价模型好坏的一种指标(metric)&#xff0c;特别是在目标检测中。 精确率和召回率的概念&#xff1a; (1).精确率(Precision)&#xff1a;预测阳性结果中实际正确的比例(TP / …...

TB6612电机驱动模块使用指南

实物图&#xff1a; 简介&#xff1a;TB6612是一款双路H桥型直流电机驱动模块&#xff0c;可以控制两个直流电机的转速和方向 H桥&#xff1a;(双路H桥就是有两个这个结构) 引脚图&#xff1a;...

小试牛刀-Anchor安装和基础测试

目录 一、编写目的 二、安装步骤 2.1 安装Rust 设置rustup镜像 安装Rust 2.2 安装node.js 2.3 安装Solana-CLI 2.4 安装Anchor CLI 三、Program测试 四、可能出现的问题 Welcome to Code Blocks blog 本篇文章主要介绍了 [Anchor安装和基础测试] 博主广交技术好友&…...

基于FPGA(现场可编程门阵列)的SD NAND图片显示系统是一个复杂的项目,它涉及硬件设计、FPGA编程、SD卡接口、NAND闪存控制以及图像显示等多个方面

文章目录 0、前言 1、目标 2、图片的预处理 3、SD NAND的预处理 4、FPGA实现 4.1、详细设计 4.2、仿真 4.3、实验结果 前言 在上一篇文章《基于FPGA的SD卡的数据读写实现&#xff08;SD NAND FLASH&#xff09;》中&#xff0c;我们了解到了SD NAND Flash的相关知识&am…...

1.tree of thought (使用LangChain解决4x4数独问题)

本教程将介绍如何使用LangChain库和chatglm API来解决一个4x4的数独问题。我们将通过以下步骤实现这一目标&#xff1a; 初始化chatglm 的聊天模型。定义数独问题和解决方案。创建一个自定义的检查器来验证每一步的思考。使用ToTChain来运行整个思考过程。 1. 初始化chatglm4…...

对subprocess启动的子进程使用VSCode python debugger

文章目录 1 情况概要&#xff08;和文件结构&#xff09;2 具体设置和启动步骤2.1 具体配置Step 1 针对attach debugger到子进程Step 2 针对子进程的暂停(可选) Step 3 判断哪个进程id是需要的子进程 2.2 启动步骤和过程 3 其他问题解决3.13.2 ptrace: Operation not permitted…...

MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)

MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk) 1.计算模型介绍 使用GARCH&#xff08;广义自回归条件异方差&#xff09;模型计算VaR&#xff08;风险价值&#xff09;时&#xff0c;方差法是一个常用的方法。GARCH模型能够捕捉到金融时间序列数据中的波…...

Android中常见内存泄漏的场景和解决方案

本文讲解Android 开发中常见内存泄漏场景及其解决方案&#xff0c;内容包括代码示例、原因分析以及最佳实践建议。 1. 静态变量导致的内存泄漏 静态变量的生命周期与应用进程一致&#xff0c;如果静态变量持有了对 Activity 或其他大对象的引用&#xff0c;就可能导致内存泄漏…...

爬取链家二手房房价数据存入mongodb并进行分析

感谢您的关注&#xff01;需要完整源码评论区获取~ 【实验目的】 1. 使用 python 将爬虫数据存入 mongodb&#xff1b; 2. 使用 python 读取 mongodb 数据并进行可视化分析。 【实验原理】 MongoDB 是文档数据库&#xff0c;采用 BSON 的结构来存储数据。在文档中可嵌套其…...

《TCP/IP网络编程》学习笔记 | Chapter 13:多种 I/O 函数

《TCP/IP网络编程》学习笔记 | Chapter 13&#xff1a;多种 I/O 函数 《TCP/IP网络编程》学习笔记 | Chapter 13&#xff1a;多种 I/O 函数send & recv 函数Linux 平台下的 send 和 recv 函数MSG_OOB&#xff1a;发送紧急消息紧急模式的工作原理检查输入缓冲 readv & w…...

详细介绍下oracle冷备(coolbackup)

冷备&#xff0c;也就说数据库不是运行&#xff08;热的状态&#xff09;的备份。有些时候我们的数据库比较小&#xff0c;进行同操作系统数据迁移和恢复的时候就比较好用。下面我们详细介绍下oracle数据库的冷备&#xff08;我们使用最简单的拷贝数据文件方式进行冷备&#xf…...

MYSQL——多表设计以及数据库中三种关系模型

大致介绍数据库中三种关系模型 一对多&#xff08;1:N&#xff09; 定义&#xff1a; 一个实体可以与另一个实体的多个实例相关联&#xff0c;而后者只能与前者的一个实例相关联。 例子&#xff1a; 学生和课程的关系。 学生&#xff08;1&#xff09;&#xff1a;每个学生…...

泷羽sec学习打卡-html基础

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于云技术基础的那些事儿-捕获帅照 html基础什么是html&#xff1f; 常用的html标签html示例 css基础什…...

国标GB28181摄像机接入EasyGBS国标GB28181设备管理软件:GB28181-2022媒体传输协议解析

随着信息技术的飞速发展&#xff0c;视频监控领域正经历从传统安防向智能化、网络化安防的深刻转变。在这一转变过程中&#xff0c;国标GB28181设备管理软件EasyGBS成为了这场技术变革的重要一环。 GB28181-2022媒体传输协议 媒体传输命令包括实时视音频点播、历史视音频回放/…...

鸿蒙网络编程系列50-仓颉版TCP回声服务器示例

1. TCP服务端简介 TCP服务端是基于TCP协议构建的一种网络服务模式&#xff0c;它为HTTP&#xff08;超文本传输协议&#xff09;、SMTP&#xff08;简单邮件传输协议&#xff09;等高层协议的应用程序提供了可靠的底层支持。在TCP服务端中&#xff0c;服务器启动后会监听一个或…...

JMeter监听器与压测监控之 InfluxDB

1. 简介 在本文中&#xff0c;我们将介绍如何在 Kali Linux 上通过 Docker 安装 InfluxDB&#xff0c;并使用 JMeter 对其进行性能监控。InfluxDB 是一个高性能的时序数据库&#xff0c;而 JMeter 是一个开源的性能测试工具&#xff0c;可以用于对各种服务进行负载测试和性能监…...

混合上下文学习 ;In-Context Learning(ICL)

目录 In-Context Learning(ICL) 混合上下文学习 核心内容 核心创新点的原理与理论 举例说明 In-Context Learning(ICL) 是一种在大语言模型(LLM)中使用的技术,它允许模型通过提供一组输入输出示例(即“demonstrations”)来适应新任务,而无需对模型参数进行显…...

【STM32】软件I2C读写MPU6050

文章目录 软件I2C读写MPU6050接线图代码整体框架MyI2C模块MyI2C.cMyI2C.h MPU6050模块MPU6050.cMPU6050_Reg.h MPU6050.h main.c 源程序 软件I2C读写MPU6050 要实现软件I2C读写MPU6050分为两个部分&#xff1a; 完成软件I2C协议时序基于I2C协议读写寄存器操控MPU6050 接线图…...

HarmonyOS鸿蒙系统上File文件常用操作

HarmonyOS鸿蒙系统上&#xff0c;file文件常用操作记录 1.创建文件 createFile(fileName: string, content: string): string {// 获取应用文件路径let context getContext(this) as common.UIAbilityContext;let filesDirPath context.filesDir / fileName;// 新建并打开…...

如何解决Java EasyExcel 导出报内存溢出

如何解决Java EasyExcel 导出报内存溢出 EasyExcel大数据量导出常见方法 1. 分批写入 EasyExcel支持分批写入数据&#xff0c;可以将数据分批加载到内存中&#xff0c;分批写入Excel文件&#xff0c;避免一次性将大量数据加载到内存中。 示例代码&#xff1a; String fileNa…...

[产品管理-91]:产品经理的企业运营的全局思维-1

目录 前言&#xff1a;企业架构图 产品经理的企业运营全局思维 1、用户 - 用户价值与体验&#xff1a;真正的需求&#xff0c;真正的问题&#xff0c;一切的原点 2、大势 - 顺应宏观大势&#xff1a;政策趋势、行业趋势、技术趋势 3、市场 - 知己知彼&#xff1a;市场调研…...

学习笔记——stm32看门狗

目录 一、WDG简介 二、IWDG框图 2.1独立看门狗结构 2.2键寄存器 2.3超时时间 三、WWDG框图 3.1窗口看门狗结构 3.2WWDG时序图 3.3最早、最晚时间 四、IWDG和WWDG对比 五、IWDG相关库函数和应用 5.1相关库函数 5.2应用 六、WWDG相关库函数和应用 6.1相关库函数 6…...

2411rust,cargo清理缓存

原文 Cargo最近在晚间通道上取得了一个不稳定的功能(从nightly-2023-11-17开始),它可自动清理Cargo主目录中的缓存内容. 总之,请求使用晚间通道的人启用此功能,并在Cargo问题跟踪器上报告问题.要启用它,请在你的一般在~/.cargo/config.toml或%USERPROFILE%\.cargo\config.tom…...

高级java每日一道面试题-2024年11月19日-基本篇-获取一个类Class对象的方式有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 获取一个类Class对象的方式有哪些? 我回答: 在 Java 中&#xff0c;获取一个类的 Class 对象有多种方式。这些方式各有优缺点&#xff0c;适用于不同的场景。以下是常见的几种方法及其详细解释&#xff1a; 1. 使用 new 关键字实…...

Vue 3与TypeScript集成指南:构建类型安全的前端应用

在Vue 3中使用TypeScript&#xff0c;可以让你的组件更加健壮和易于维护。以下是使用TypeScript与Vue 3结合的详细步骤和知识点&#xff1a; 1. 环境搭建 首先&#xff0c;确保你安装了Node.js&#xff08;推荐使用最新的LTS版本&#xff09;和npm或Yarn。然后&#xff0c;安…...

可视化建模与UML《活动图实验报告》

你当像鸟飞往你的山。 一、实验目的&#xff1a; 1、熟悉活动图的基本功能和使用方法。 2、掌握使用建模工具软件绘制协作图的方法 二、实验环境&#xff1a; window7 | 10 | 11 EA15 三、实验内容&#xff1a; <1>绘制学生选课系统中添加课程(Add Course)用例的活动图…...

接雨水

接雨水 1、 题目描述2、解题思路 1、 题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 2、解题思路 本题使用了双指针&#xff0c;根据下图可以得出&#xff0c;下标 i 处能接的雨水量由左边…...

i春秋-签到题

练习平台地址 竞赛中心 题目描述 题目内容 点击GUESS后会有辨识细菌的选择题 全部完成后会有弹窗提示 输入nickname后提示获得flag F12检查 元素中没有发现信息 检查后发现flag在控制台中 flag flag{663a5c95-3050-4c3a-bb6e-bc4f2fb6c32e} 注意事项 flag不一定要在元素中找&a…...

Selenium + 数据驱动测试:从入门到实战!

引言 在软件测试中&#xff0c;测试数据的多样性和灵活性对测试覆盖率至关重要。而数据驱动测试&#xff08;Data-Driven Testing&#xff09;通过将测试逻辑与数据分离&#xff0c;极大地提高了测试用例的可维护性和可扩展性。本文将结合Selenium这一流行的测试工具&#xff0…...

考研倒计时30天丨和西电一起向前!再向前!

上岸后 就能来 西安电子科技大学 和学长学姐一起吃饭&#xff0c;XDU食堂都有你想要的一切 ①、海棠篇&#xff1a;海棠新生初入校园&#xff0c;还在犹豫吃什么&#xff1f;宿舍楼边的海棠餐厅物美价廉&#xff0c;满足你一日三餐的需求与期盼&#xff01; 俗话说&#xff1a…...

json数组写入文件每行一条数据

我们知道将json或json数组写入文件&#xff0c;一般是用JSON.stringify先将json或json数组转成字符串&#xff0c;再写入文件。JSON.stringify()的语法是这样的&#xff1a;JSON.stringify(value[, replacer[, space]]) JSON.stringify(value)调用则不带空格tab换行等分隔符&am…...

EasyExcel并行导出多个excel文件并压缩下载

EasyExcel并行导出多个excel文件并压缩下载 在SpringBoot应用中,采用同步方式导出Excel文件会导致服务器在生成文件期间阻塞,特别是在处理大量数据时,这种效率较低的方法会严重影响性能。为了解决这个问题,可以采用以下改进措施:首先将导出的数据进行拆分,然后利用Compl…...