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

大数据------额外软件、插件及技术------Linux(完整知识点汇总)

Linxu

  • 不同领域的主流操作系统

    • 桌面操作系统
      • Windows
      • MAac OS
      • Linux
    • 服务器端操作系统
      • UNIX(付费)
      • Linux
      • Windows Server(付费)
    • 移动设备操作系统
      • Android(基于Linux开源)
      • IOS(不开源)
    • 嵌入式操作系统
      • Linux—如机顶盒等
  • Linxu系统版本

    • 内核版

      • 负责控制硬件
    • 发行版

      • 基于Linux内核版进行扩展,由各个Linux厂商给开发、维护
      • 有收费版和免费版

在这里插入图片描述

  • Linux系统安装方式

    • 物理机安装:直接将OS安装到服务器硬件上
    • 虚拟机安装:通过虚拟机软件安装,用虚拟机来模拟计算机硬件

    在这里插入图片描述

Linux发行版安装

  • 虚拟机VMWare安装(略)
    • 虚拟机安装直接跟着步骤一直下一步就可,中间除了安装位置外不用更改任何设置
    • 注意装完后最好不要卸载VMWare,否则可能需要重装系统

Linux安装步骤(使用CentOS镜像文件完成------阿里云镜像下载)

安装完成后重启即可

  • 安装步骤

    • 打开VMWare→创建新的虚拟机,然后按图示安装即可创建一个CentOS虚拟机

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

  • 安装完成后若无法开启虚拟机如图一所示,说明电脑的虚拟化被禁用 ,如图二所示(可在任务管理器中查看是否被禁用),此时则需要根据自己电脑的品牌及型号去查找如何开启虚拟化(该步骤省略)

    在这里插入图片描述

    在这里插入图片描述

  • 首次开启虚拟机并安装CentOS

    • 注意:光标进入到虚拟机后需要按Ctrl+Alt才能出来

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

桌面版Linux

桌面版重启后出现第一个界面直接回车即可

  • 安装完成后步骤

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 第一次进入页面后,该用户是刚刚创建的用户(博主刚创建的账户名为cgrs572),需要将该用户注销(即退出),然后root用户登录,步骤如下:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

桌面版Linux网络配置

  • VMware中的步骤

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • Windows中的步骤

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 安装的Linux中的步骤

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    注意:若按以上步骤网络配置失败则将倒数第二张图片中的BOOTPROTO的参数改为dhcp即可完成网络配置(是否联网可通络打开Linux中的谷歌浏览器来研验证)

命令版Linux

桌面版重启后出现第一个界面直接回车即可

  • 安装完成后步骤

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

命令版Linux网络配置

  • 第一步:安装的Linux中的步骤

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

​ 从图中可看出虚拟机的IP地址为192.168.10.129

安装SSH(Secure Shell)连接工具

  • 定义

    • 它是建立在应用层基础上的安全协议,通过SSH连接工具可实现从本地连接到远程的Linux服务器

    • 常见的SSH连接工具:putty、secureCRT、xshell、finalshell(博主以finalshell为例)

  • 直接去官网下载finalshell安装包安装即可(安装过程中会弹出下载安装winpcap,直接安装并设置成开机启动即可)

  • 安装完成后打开finalshell,与远程Linux服务器建立连接步骤如图所示

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 注意

    • 不论是连接桌面版Linux还是命令版Linux,都必须保证远程Linux服务器是开启的,且连接成功后finalshell界面都是一样的命令行界面,详见上图所示

Linux系统目录结构

  • Linux系统中的一切均为文件
  • Linux目录结构
    • Windows系统单击计算机开始都是C盘、D盘、E盘;而Linux单击计算机打开后均是一个一个的目录

在这里插入图片描述

在这里插入图片描述

  • Linux目录介绍

    在这里插入图片描述

    目录名解释
    /root该目录为系统管理员,也称为超级权限者的用户主目录(即超级用户目录)
    /bin是Binary的缩写,这个目录存放着最经常使用的命令(即二进制可执行文件)
    /sbins就是Super User的意思,这里存放的是系统管理员使用的命令(即二进制可执行文件,只有root用户才可访问)
    /boot存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装不要放在这里
    /dev存放设备文件。类似于windows的设备管理器,把所有的硬件用文件的形式存储
    /etc所有的系统管理所需要的配置文件和子目录(即存放系统配置文件)
    /home存放普通用户的主目录(即存放系统用户的文件),在Linux中每个用户都有以一个自己的目录,一般该目录名是以用户的账号名命名的。注意:不同的用户就会有相对应的主目录 :
    /lib存放程序运行所需的共享库和内核模块(系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库)
    /opt额外安装的可选应用软件的程序包所放的目录。比如你安装一个mysql数据库则就可以放到该目录下。默认是空的
    /tmp存放一些临时文件,注意:不能存放一些重要文件,因为该目录下的内容会定时自动清理
    /usr存放系统应用程序(它是重要目录,用户的很多应用程序和文件都放在该目录下,类似于windows下的program files目录)
    /var该目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件以及运行时需要改变数据的文件
    /lost+found这个目录一般情况下为空,当系统非法关机后,这里就会存放一些文件
    /proc这是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息
    /srvservice缩写,该目录存放一些服务启动之后需要提取的数据
    /sys该目录下安装了Linux2.6内核中新出现的一个文件系统sysfs
    /mediaLinux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下
    /mnt系统提供该目录是为了让用户临时挂载别的文件系统的(比如:挂载U盘),我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了

Linux常用命令

  • Linux命令格式------command [-options] [parameter]

    • command :命令名
    • [-options]:选项,作用是来对命令进行控制
    • [parameter]:传给命令的参数,可以是零个、一个或多个
    • 选项和参数可写也可不写
  • 在执行Linux命令时,返回的提示信息若为乱码则输入以下命令

    echo 'LANG="en_US.UTF-8"'>> /etc/profile
    source /etc/profile
    

    第一句代表将编码格式添加到etc下的profile文件中去

    第二句是重新加载etc下的profile文件使其生效

命令对应英文解释
lslist查看当前目录下的内容
pwdprint work directory查看当前所在目录
cd [目录名]change directory切换目录
touch [文件名]touch若文件不存在则创建文件。(注意:该命令可一次创建多个文件)
mkdir [目录名]make directory创建目录
rm [文件名]remove删除指定文件或目录(只能删除一级目录不能递归删除其子目录)。(注意:该命令可一次删除多个文件)
rm -r [文件名]删除指定目录及其所有内容(包括其子目录和子目录下的所有内容)
ps -ef查看当前运行的所有进程的详细信息(该命令经常配合管道符,具体示例详见Tomcat进程查看)

在这里插入图片描述

  • 使用技巧
    • Tab键自动补全
    • 连续两次Tab键给出操作提示
    • 使用上下箭头快速调出曾经使用的命令
    • 使用clear命令或Ctrl+L快捷键实现清屏

文件目录操作命令

ls

  • 作用
    • 显示指定目录下的内容
  • 语法
    • ls [-a或-l] [dir]
    • -a :显示所有文件及目录(.开头的隐藏文件也会被列出)
    • -l :除文件名外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
    • 注意
      • -a -l都写时可写为ls -a -lls -al
  • 注意
    • 使用ls命令时经常需要加-l选项,所以Linux命令为其提供了一种简写方式:ll

在这里插入图片描述

cd

  • 作用
    • 切换当前工作目录,即进入指定目录
  • 语法
    • cd [dirName]
    • cd .. :切换级目录
    • cd ~ :切换到用户的home目录
    • cd /usr/local :切换到/usr/local目录
  • 注意
    • ~表示用户的home目录
    • .表示目前所在的目录
    • ..表示目前目录位置的上级目录

在这里插入图片描述

cat

  • 作用
    • 显示文件内容
  • 语法
    • cat [-n] fileName
    • -n:由1开始对所有输出的行数编号
    • 例子:cat /etc/profile :查看/etc目录下的profile文件内容

在这里插入图片描述

more

  • 作用
    • 以分页的形式显示文件内容
  • 语法
    • more fileName
    • 例子:more /etc/profile :分页查看/etc目录下的profile文件内容
  • 操作说明
    • 回车键:向下滚动一行
    • 空格键:向下滚动一屏
    • b:返回上一屏
    • qCtrl+C:退出more

在这里插入图片描述

tail

  • 作用
    • 查看文件末尾的内容
  • 语法
    • tail [-f] fileName
    • -f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出
    • 例子:
      • tail /etc/profile:显示/etc目录下的profile文件的末尾10行的内容 (不加-f)
      • tail -20 /etc/profile:显示/etc目录下的profile文件的末尾20行的内容
      • tail -f /itcast/my.log:动态读取/itcast目录下的my.log文件末尾内容并显示
  • tail -f /itcast/my.log示例

mkdir

  • 作用
    • 创建目录
  • 语法
    • mkdir [-p] dirName
    • -p:确保目录名称存在,若不存在就创建一个。通过该选项可以实现多层目录同时创建
  • 示例
    • mkdir itcast:创建单层目录
    • mkdir -p itcast/test :创建多层目录

rmdir

  • 作用
    • 删除空目录
  • 语法
    • rmdir [-p] dirName
    • -p:当子目录被删除后使父目录为空目录的话,则此时父目录也会被删除
  • 示例
    • rmdir itcast:删除名为itcast的空目录
    • rmdir itcast* :删除名称为itcast开头的空目录
    • rmdir -p itcast/test:删除itcast目录中名为test的空目录,若test目录被删除后,itcast目录变为空目录则itcast目录也会被一并删除

rm

  • 作用
    • 删除文件或目录。不论是否为空
  • 语法
    • rm [-rf] name
    • -r:将目录及目录中的所有文件或目录逐一删除(即递归删除)
    • -f:无需确认,直接删除
  • 示例
    • rm -r itcast/:删除名为itcast的目录和目录中的所有文件,删除前需确认
    • rm -rf itcast/:直接删除名为itcast的目录和目录中的所有文件,删除前无需确认
    • rm -f hello.txt:直接删除hellotxt文件,无需确认

拷贝移动命令

cp

  • 作用
    • 复制文件或目录
  • 语法
    • cp [-r] source dest
    • -r:若复制的是目录则需要该选项,此时将复制该目录下的所有子目录和文件
  • 示例
    • cp hello.txt itcast/:将hello.txt复制到itcast目录中
    • cp hello.txt ./hi.txt:将hello.txt复制到当前目录,并改名为hi.txt
    • cp -r itcast/ ./it/:将itcast目录和该目录下的所有文件复制到当前所在目录下的it目录下
    • cp -r itcast/* ./it/:将itcast目录下的所有文件复制到当前所在目录下的it目录下

mv

  • 作用
    • 为文件或目录改名
    • 将文件或目录移动到其它位置
  • 示例
    • mv hello.txt hi.txt:将hello.txt改名为hi.txt
    • mv hi.txt it/:将文件hi.txt移动到it目录中
    • mv hi.txt it/hello.txt:将hi.txt移动到it目录下并改名为hello.txt
    • mv itcast/ it/:若itcast目录不存在则将itcast目录改名为it
    • mv itcast/ it/:若itcast目录存在则将itcast目录及该目录下的所有内容均移动到it目录中

打包压缩命令------tar

  • 作用
    • 对文件进行打包、解包、压缩、解压
  • 语法
    • tar [-zcxvf] fileName [files]
    • -z:z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或解压
    • -c:c代表create,创建新的包文件(即打包)
    • -x:x代表extract,实现从包文件中还原文件(即解包)
    • -v:v代表verbose,显示命令的执行过程
    • -f:f代表file,用于指定包文件的名称
  • 注意
    • 包文件后缀为.tar表示只是完成了打包,并没有压缩
    • 包文件后缀为.tar.gz表示打包的同时还进行了压缩
  • 示例
    • tar -cvf test.tar t1:将text文件打包并将打包后的名命名为test.tar的文件(注意:只是完成了打包,并未压缩)
      • c:打包
      • v:显示执行过程
      • f:命名打包后的包名
    • tar -zcvf test.tar t1:将text文件打包压缩并将打包压缩后的名命名为test.tar.gz

在这里插入图片描述

在这里插入图片描述

tar [-zcxvf] fileName -C 指定目录

  • 作用
    • 将要进行解压、解包的文件fileName解压或解包后放在指定的目录中

在这里插入图片描述

文本编辑命令------vi/vim

  • 作用
    • vi是Linux系统的一个文本编辑工具,可以对文件内容进行编辑,类似于Wind ows中的记事本
  • 语法
    • vi fileNamevim fileName
    • 说明
      • vim是从vi发展来的一个功能更强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便对文件进行编辑处理
      • 可通过yum install vim命令进行vim的安装
  • 注意
    • 使用vim编辑文件时,若指定文件存在则会直接打开该文件,反之则会创建该文件
    • vim进行文本编辑时分为三种模式:命令模式(Command mode)、嵌入模式(Insert mode)、底行模式(Last line mode)。这三种模式之间可互相切换。使用vim进行编辑时要注意当前所处的模式

vim的三种模式

  • 命令模式
    • 该模式下可查看文件内容、移动光标(可通过上下左右箭头移动、可连按两个g会回到文件开头、按一个G会回到文件末尾)
    • 通过vim命令打开文件后会默认进入命令模式
    • 两外两种模式都必须 需要首先进入命令模式才能进入
  • 插入模式
    • 该模式下可对文件进行编辑
    • 在命令模式下按下[iao]任意一个字母,即可进入插入模式,进入插入模式后下方会出现insert字样
    • 在该模式下按ESC会回到命令模式
  • 底行模式
    • 该模式下可通过命令对文件内容进行查找、显示行号、退出等操作
    • 在命令模式下按下[:/]任意一个符号即可进入底行模式
    • 通过/进入底行模式后可对文件内容进行查找
    • 通过:进入底行模式后可输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

查找命令

find

  • 作用

    • 在指定的目录下查找文件
  • 语法

    • find dirName -option fileName
    • dirName:指定要查找文件的目录
    • -option:选项,作用是来对命令进行控制
    • fileName:要查找的文件
  • 示例

    • find . -name "*.java" :在当前目录及其子目录下查找.java结尾的文件
    • find /ittest -name "*.java":在/iittest目录及其子目录下查找.java结尾的文件

grep

  • 作用
    • 从指定文件中查找指定的文本内容
    • 该命令会区分大小写
  • 语法
    • grep word fileName
    • word:要查找的文本内容(即文本关键字)
    • fileName:要查找的文件(即要查找的内容所在的文件)
  • 示例
    • grep Hello test.txt:从test.txt文件中查找Hello出现的位置
    • grep hello *.txt:查找当前目录中所有以.txt结尾的文件中的内容包含hello字符串的位置

在这里插入图片描述

防火墙操作

操作指令备注
查看防火墙状态systemctl status firewalld / firewall-cmd --state
暂时关闭防火墙systemctl stop firewalld
永久关闭防火墙(禁用开机自启)systemctl disable firewalld下次启动,才生效
暂时开启防火墙systemctl start firewalld
永久开启防火墙(启用开机自启)systemctl enable firewalld下次启动,才生效
开放指定端口firewall-cmd --zone=public --add-port=8080/tcp --permanent需要重新加载生效
关闭指定端口firewall-cmd --zone=public --remove-port=8080/tcp --permanent需要重新加载生效
立即生效(重新加载)firewall-cmd --reload
查看开放端口firewall-cmd --zone=public --list-ports
  • 注意
    • systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
    • firewall-cmd是Linux中专门用于控制防火墙的命令
    • 为了保证系统安全,服务器的防火墙不建议关闭Linux

软件安装

安装方式

  • 二进制发布包安装

    • 软件已针对具体平台编译打包发布,只要解压、修改配置即可
  • rpm安装

    • rpm全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。
    • 软件已按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
  • yum安装

    • Yum: (Yellow dog Updater,Modified),是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
    • 在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
  • 源码编译安装

    • 软件以源码工程的形式发布,需要自己编译打包

安装JDK(二进制发布包安装)

  • 操作步骤(以JDK21为例)

    • 进入JDK官网下载Linux对应的JDK版本的压缩包

      在这里插入图片描述

    • 创建JDK安装路径并进入到安装路径中(一般安装的软件均在/usr/local目录下)

      在这里插入图片描述

    • 使用FinalShell自带的上传工具将JDK的二进制发布包上传到Linux(上传的位置为JDK安装目录),上传成功后如图二所示

      在这里插入图片描述

    • 解压安装包

      • 若未提前将压缩包放到要解压缩并安装的目录下(该目录必须提前被创建),则使用的命令为:tar -zxvf jdk-21_linux-x64_bin.tar.gz -C 指定目录以此来将jdk安装到对应的目录,比如:tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/java

      • 若提前将压缩包放到要解压缩并安装的目录下,则需要先进入该目录下,然后使用命令为:tar -zxvf jdk-21_linux-x64_bin.tar.gz

      • 解压成功后对应目录下会出现解压后的目录,如图所示

        在这里插入图片描述

    • 配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如下配置:

      JAVA_HOME=/usr/local/java/jdk-21.0.3
      PATH=$JAVA_HOME/bin:$PATH
      
    • 重新加载profile文件,使更改的配置立即生效,命令为:source /etc/profile

    • 检查安装是否成功,命令为:java -version

      在这里插入图片描述

Tomcat

Tomcat安装及启动安装及启动(二进制发布包安装)

  • 步骤

    • 进入Tomcat官网,下载对应的Linux版本的Tomcat压缩包(以Tomcat9.0.x为例)

      在这里插入图片描述

    • 创建Tomcat安装路径并进入到安装路径中(一般安装的软件均在/usr/local目录下)

    • 使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux(上传的位置为Tomcat安装目录)

    • 解压安装包

      • 若未提前将压缩包放到要解压缩并安装的目录下(该目录必须提前被创建),则使用的命令为:tar -zxvf apache-tomcat-9.0.88.tar.gz -C 指定目录以此来将jdk安装到对应的目录,比如:tar -zxvf apache-tomcat-9.0.88.tar.gz -C /usr/local/tomcat

      • 若提前将压缩包放到要解压缩并安装的目录下,则需要先进入该目录下,然后使用命令为:tar -zxvf apache-tomcat-9.0.88.tar.gz

      • 解压成功后对应目录下会出现解压后的目录,如图所示

        在这里插入图片描述

    • 完成以上步骤则Tomcat安装成功

  • 启动Tomcat

    • 进入到Tomcat的bin目录然后执行命令sh startup.sh./startup.sh来启动服务

      在这里插入图片描述

    • 启动成功后并不能知道Tomcat是否正常运行,所以可通过查看进程来验证

Tomcat进程查看

  • 方式一:查看Tomcat的启动日志

    Tomcat的启动日志输出在Tomcat的安装目录下的logs目录中,Tomcat的启动及运行日志文件名为 catalina.out,所以我们查看Tomcat启动日志,主要可以通过两条指令

    • 若未进入到Tomcat安装目录下的logs目录则使用命令

      • 分页查询Tomcat的日志信息:more /usr/local/apache-tomcat-9.0.88/logs/catalina.out
      • 查询日志文件尾部的50行记录:tail -50 /usr/local/apache-tomcat-9.0.88/logs/catalina.out
    • 若已进入到Tomcat安装目录下的logs目录则使用命令

      • 分页查询Tomcat的日志信息:more catalina.out
      • 查询日志文件尾部的50行记录:tail -50 catalina.out
    • 注意:若Tomcat的日志文件没有报错则基本可以判定Tomcat启动成功,如图所示

      在这里插入图片描述

  • 方式二:查询系统进程

    • 通过Linux系统的查看系统进程的指令,来判定Tomcat进程是否存在,从而判定Tomcat是否启动,如图所示。执行指令为:ps -ef|grep tomcat

      • ps命令是linux下非常强大的进程查看命令,通过ps -ef可以查看当前运行的所有进程的详细信息
      • |在Linux中称为管道符,可以将前一个命令的结果输出给后一个命令作为输入
      • 使用ps命令查看进程时,经常配合管道符和查找命令 grep 一起使用,来查看特定进程

      在这里插入图片描述

  • 注意:通过进程可看出Tomcat正常运行,但是在浏览器中输入虚拟机的ip地址以及端口号却无法访问Tomcat网页,如图所示

    在这里插入图片描述

    • 造成上述原因是:Linux系统安装完毕后,系统启动时,Linux的防火墙会自动启动,防火墙拦截了所有端口的访问。

浏览器访问运行的Tomcat

  • 方式一:关闭防火墙------systemctl stop firewalld

    在这里插入图片描述

    从图中可看出关闭之后,再次访问Tomcat,就可以访问到了。但是不建议直接关闭防火墙,因为这样会造成系统不安全

  • 方式二:开放Tomcat的端口号8080(通过查看Tomcat的启动日志可找到其端口号)

    • 命令步骤如下

      ①. 先开启系统防火墙
      systemctl start firewalld②. 再开放8080端口号
      firewall-cmd --zone=public --add-port=8080/tcp --permanent③. 重新加载防火墙
      firewall-cmd --reload
      

      在这里插入图片描述

停止Tomcat

  • 方式一:运行Tomcat提供的脚本文件(Tomcat安装目录下的bin目录中的shutdown.sh)------推荐使用

    • 命令为sh shutdown.sh./shutdown.sh
  • 方式二:结束Tomcat进程

    • 首先ps -ef|grep tomcat 指令查看tomcat进程的信息,从进程信息中获取tomcat服务的进程号。

      在这里插入图片描述

    • 然后通过kill -9 进程号来杀死对应的Tomcat进程即可------kill -9 49666

      • -9表示强制结束进程
  • 注意

    • 上述两种方式使用任一种即可结束Tomcat进程
    • 推荐使用第一种方式来停止Tomcat,若第一种停止失败则再考虑第二种方式

MySQL(利用rpm安装)

  • 在安装MySQL之前首先要检查当前系统安装过MySQL相关数据库

    • 需要通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

      • 查询当前系统中安装的所有软件:rpm -qa
      • 查询当前系统中安装的名称带mysql的软件:rpm -qa | grep mysql
      • 查询当前系统中安装的名称带mariadb的软件:rpm -qa | grep mariadb

      通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符 | 配合着grep进行过滤查询。

    • 由图可知,CentOS7自带一个mariadb数据库,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。

      在这里插入图片描述

  • 卸载现有的MySQL数据库------rpm -e --nodeps 软件名称

    在这里插入图片描述

    • 卸载完成后再次查询 mariadb,若查不到则成功卸载

MySQL安装

  • MySQL安装步骤

    • 进入MySQL官网(如图所示),下载对应的Linux版本的Tomcat压缩包(以MySQL8.0.13为例)

      在这里插入图片描述

    • 创建MySQL安装路径并进入到安装路径中(一般安装的软件均在/usr/local目录下)

    • 使用FinalShell自带的上传工具将JDK的二进制发布包上传到Linux(上传的位置为Tomcat安装目录)

    • 解压安装包

      • 若未提前将压缩包放到要解压缩并安装的目录下(该目录必须提前被创建),则使用的命令为:tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar -C 指定目录以此来将jdk安装到对应的目录,比如:tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql

      • 若提前将压缩包放到要解压缩并安装的目录下,则需要先进入该目录下,然后使用命令为:tar -xvf mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

      • 解压成功后对应目录下会出现8个rpm安装包,如图所示

      在这里插入图片描述

    • 按照如下命令顺序安装rpm安装包(注意:不必所有安装包都安装,只需安装我所写出来的部分)

      rpm -ivh mysql-community-common-8.0.13-1.el7.x86_64.rpm
      rpm -ivh mysql-community-libs-8.0.13-1.el7.x86_64.rpm
      sudo yum install pkgconfig openssl-devel
      rpm -ivh mysql-community-devel-8.0.13-1.el7.x86_64.rpm
      rpm -ivh mysql-community-libs-compat-8.0.13-1.el7.x86_64.rpm
      rpm -ivh mysql-community-client-8.0.13-1.el7.x86_64.rpm
      yum install net-tools
      rpm -ivh mysql-community-server-8.0.13-1.el7.x86_64.rpm
      

      在这里插入图片描述

      注意:

      ​ 1.安装mysql-community-devel-8.0.13-1.el7.x86_64.rpm之前要先安装pkgconfig依赖;安装mysql-community-server-8.0.13-1.el7.x86_64.rpm之前要先安装net-tools依赖,否则会报错:依赖检测失败,如上图所示

      ​ 2.安装依赖时使用yum安装,它是一种在线安装方式,需要保证联网

    • 安装完成后可使用yum update命令来升级现有软件及系统内核(此处截图省略)

MySQL启动

  • MySQL安装完成之后,会自动注册为系统的服务,服务名为mysqld。那么,我们就可以通过systemctl指令来查看mysql的状态、启动mysql、停止mysql。

    • 查看mysql服务状态:systemctl status mysqld
    • 启动mysql服务:systemctl start mysqld
    • 停止mysql服务:systemctl stop mysqld

    在这里插入图片描述

    可以利用命令systemctl enable mysqld设置开机时启动mysql服务,避免每次开机启动mysql。

  • 判定MySQL是否启动成功方式一

    • 查看已经启动的服务:netstat -tunlp
    • 查看mysql的服务信息:netstat -tunlp | grep mysql

    在这里插入图片描述

    netstat命令是net-tools中的指令,所以要想使用该命令需要先安装net-tools依赖

  • 判定MySQL是否启动成功方式二

    • 查看mysql进程:ps -ef | grep mysql

    在这里插入图片描述

MySQL登录

  • 查阅临时MySQL密码:利用rpm安装mysql完成后,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件/var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。

    • 查看mysql的日志文件: cat -n /var/log/mysqld.log
    • 查看mysql日志文件中包含密码的内容:cat -n /var/log/mysqld.log | grep password

    在这里插入图片描述

  • MySQL登录步骤

    • 登录MySQL,然后输入临时密码------mysql -u root -p

    • 修改密码(以MySQL8.0及之后的版本为例)

      • 设置密码长度最低位数:set global validate_password.length=4;
      • 设置密码安全等级为0,此时密码策略被禁用(若不禁用则无法设置一个简单密码),便于设置一个简单的密码:set global validate_password.policy=0;
      • 设置密码为123456:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

      在这里插入图片描述

    • 开启访问权限(作用:可从外部访问(比如windows)到Linux中的MySQL)

      • MySQL8.0之前需执行以下命令
        • grant all on *.* to 'root'@'%' identified by 'root';
        • flush privileges;
      • MySQL8.0及之后需执行以下命令
        • create user root@'%' identified by '123456';
        • grant all privileges on *.* to root@'%' with grant option;
        • flush privileges;

      在这里插入图片描述

    • 开启防火墙的3306端口

      • firewall-cmd --zone=public --add-port=3306/tcp --permanent
      • firewall-cmd --reload

      在这里插入图片描述

    MySQL登录步骤执行完成之后即可完成密码的更改,并且此时可以使用windows中的SQLyog或Navicat来远程连接Linux上的MySQL。

    在这里插入图片描述

  • MySQL登录成功后对数据库的相关操作命令详见MySQL完整知识点汇总

lrzsz安装(利用yum安装)

  • 作用

    • 向Linux系统中上传下载的软件及文件
    • Linux的远程连接工具有很多,虽然finalShell具有上传功能,但还有很多的远程连接工具并没有上传下载的功能,这个时候就需要依赖于lrzsz这个软件了。
  • 安装步骤

    • 搜索lrzsz安装包:yum list lrzsz
    • 在线安装lrzsz:yum install lrzsz.x86_64

    在这里插入图片描述

  • 验证是否安装成功

    • 在命令行中输入 rz , 若自动打开一个文件选择的窗口,则说明安装成功

    在这里插入图片描述

项目部署(后续补充)

将来绝大部分的项目均需要部署在Linux系统上,所以此处学习两种项目部署方式:手工部署和基于Shell脚本自动部署

相关文章:

大数据------额外软件、插件及技术------Linux(完整知识点汇总)

Linxu 不同领域的主流操作系统 桌面操作系统 WindowsMAac OSLinux 服务器端操作系统 UNIX(付费)LinuxWindows Server(付费) 移动设备操作系统 Android(基于Linux开源)IOS(不开源) 嵌…...

iOS 其他应用的文件如何在分享中使用自己的应用打开

废话少说 一、第一步:先配置好plist文件 右击info.plist如下图文件打开 根据自己需要配置支持的文件类型,也可使用property List中配置,一样的 其他的文件可是参考文档:System-Declared Uniform Type Identifiers 可复制的代码&am…...

【编译原理必考大题】 推导构建语法树,写出语法树的短语,简单短语和句柄

写在最前 本文为编译原理重点考察大题之一,理论基础见专栏文章,0基础直接使用也可食用 文章目录 推导构造语法树1.语法树的概念2. 子树,短语,简单短语,句柄2.1 子树2.2 短语2.3 简单短语与句柄2.4 真题实战 推导构造语…...

redis服务介绍

redis 基础概念安装使用基础操作命令数据类型操作命令 管理和维护命令 基础概念 Remote Dictionary Server(Redis)远程字典服务器是完全开源免费的,用C语言编写的,遵守BSD开源协议,是一个高性能的(key/val…...

nodepad 中换行符、tab替换

1 nodepad 主要符号 换行符: \r\n(windows) tab: \t 2 展示符号 3 相互替换 tip:需要点击扩展 参考: https://blog.csdn.net/lijing742180/article/details/85174564...

常见的字符串函数(包含头文件string.h)和字符函数(2)

八. strstr函数 1.strstr的定义 char *strstr( const char *str1, const char *str2 ); ->1. strstr查找子串(str2)在字符串(str2)中第一次出现的位置,记录并返回该位置的指针,如果找不到,则返回NULL ->2. str1:查找字符…...

Python | Leetcode Python题解之第187题重复的DNA序列

题目&#xff1a; 题解&#xff1a; L 10 bin {A: 0, C: 1, G: 2, T: 3}class Solution:def findRepeatedDnaSequences(self, s: str) -> List[str]:n len(s)if n < L:return []ans []x 0for ch in s[:L - 1]:x (x << 2) | bin[ch]cnt defaultdict(int)for…...

SpringCloud分布式微服务链路追踪方案:Skywalking

一、引言 随着微服务架构的广泛应用&#xff0c;系统的复杂性也随之增加。在这种复杂的系统中&#xff0c;应用通常由多个相互独立的服务组成&#xff0c;每个服务可能分布在不同的主机上。微服务架构虽然提高了系统的灵活性和可扩展性&#xff0c;但也带来了新的挑战&#xf…...

首次线下联合亮相!灵途科技携手AEye、ATI亮相2024 EAC 易贸汽车产业大会

6月22日&#xff0c;2024 EAC 易贸汽车产业大会在苏州国际博览中心圆满落幕&#xff0c;泛自动驾驶领域光电感知专家灵途科技携手自适应高性能激光雷达解决方案全球领导者AEye公司&#xff08;NASDAQ:LIDR&#xff09;及光电器件规模化量产巨头Accelight Technologies&#xff…...

一文入门CMake

我们前几篇文章已经入门了gcc和Makefile&#xff0c;现在可以来玩玩CMake了。 CMake和Makefile是差不多的&#xff0c;基本上是可以相互替换使用的。CMAke可以生成Makefile&#xff0c;所以本质上我们还是用的Makefile&#xff0c;只不过用了CMake就不用再写Makefile了&#x…...

【LeetCode面试经典150题】117. 填充每个节点的下一个右侧节点指针 II

一、题目 117. 填充每个节点的下一个右侧节点指针 II - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针&#xff0c;让这个指针指向其下一个右侧节点。如果找不到下一个…...

RTDETR更换优化器——Lion

RTDETR更换Lion优化器 论文&#xff1a;https://arxiv.org/abs/2302.06675 代码&#xff1a;https://github.com/google/automl/blob/master/lion/lion_pytorch.py 简介&#xff1a; Lion优化器是一种基于梯度的优化算法&#xff0c;旨在提高梯度下降法在深度学习中的优化效果…...

Spring Boot中最佳实践:数据源配置详解

Spring Boot中最佳实践&#xff1a;数据源配置详解 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨在Spring Boot中如何进行最佳实践的数据源…...

第1章 物联网模式简介---独特要求和体系结构原则

物联网用例的独特要求 物联网用例往往在功耗、带宽、分析等方面具有非常独特的要求。此外&#xff0c;物联网实施的固有复杂性&#xff08;一端的现场设备在计算上受到挑战&#xff0c;另一端的云容量几乎无限&#xff09;迫使架构师做出艰难的架构决策和实施选择。可用实现技…...

数据挖掘概览

数据挖掘(Data Mining)就是从大量的,不完全的,有噪声的,模糊的,随机的实际应用数据中,提取隐含在其中的,人们事先不知道的,但又是潜在有用的信息和知识的过程. 预测性数据挖掘 分类 定义&#xff1a;分类就是把一些新的数据项映射到给定类别中的某一个类别 分类流程&#x…...

【学习】软件测试中常见的文档类型及其作用

在软件开发的生命周期中&#xff0c;软件测试是确保产品质量的关键步骤。为了系统地进行测试活动&#xff0c;并保证测试结果的有效性和可追溯性&#xff0c;产生了一系列标准化的测试文档。这些文档不仅为测试人员提供了执行指南&#xff0c;而且为项目管理者和利益相关者提供…...

electron的托盘Tray

1.在主进程文件background.js中引入需要的文件 import { Tray, Menu } from "electron"; const path require("path");2.获取托盘图标 const baseSRC process.cwd(); //这里不能使用__dirname,使用dirname会直接获取dist_electron中的文件&#xff0c;…...

Harmony OS UI框架探索笔记

本文探讨了如何将现有的常用架构理论与Arkts和ArkUI结合起来&#xff0c;使代码更有条理&#xff0c;并利用Previewer快速调整布局&#xff0c;同时在不改变代码的情况下运行显示真实数据。 开发环境 Windows 11DevEco Studio 4.0 ReleaseBuild Version: 4.0.0.600, built on…...

transformers evaluate

☆ Evaluate https://huggingface.co/docs/evaluate/main/en/installation ★ 解决方案 常用代码 # 查看支持的评估函数 evaluate.list_evaluation_modules(include_communityTrue)# 加载评估函数 accuracy evaluate.load("accuracy")# load function descripti…...

【ONLYOFFICE深度探索】:ONLYOFFICE桌面编辑器8.1震撼发布,打造高效办公新境界

文章目录 一、功能完善的PDF编辑器&#xff1a;解锁文档处理新维度二、幻灯片版式设计&#xff1a;释放创意&#xff0c;打造专业演示三、改进从右至左显示&#xff1a;尊重多元文化&#xff0c;优化阅读体验四、新增本地化选项&#xff1a;连接全球用户&#xff0c;跨越语言障…...

C++系统相关操作4 - 获取CPU(指令集)架构类型

1. 关键词2. sysutil.h3. sysutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词&#xff1a; C 系统调用 CPU架构 指令集 跨平台 实现原理&#xff1a; Unix-like 系统: 可以通过 uname -m 命令获取 CPU 架构类型。Windows 系统: 可以通过环境变量 PROCESSOR_A…...

whisper 实现语音转文字

准备需要转码的音频 https://support.huaweicloud.com/sdkreference-sis/sis_05_0039.html 编码转吗的代码 import whisperif __name__ "__main__":file_path "16k16bit.wav"model whisper.load_model("small")result model.transcribe(f…...

使用VLLM部署llama3量化版

1.首先去魔塔社区下载量化后的llama3模型 git clone https://www.modelscope.cn/huangjintao/Meta-Llama-3-8B-Instruct-AWQ.git 2.跑起来模型 1&#xff09;python -m vllm.entrypoints.openai.api_server --model /home/cxh/Meta-Llama-3-8B-Instruct-AWQ --dtype auto --…...

计算机缺失OpenCL.dll怎么办,OpenCL.dll丢失的多种解决方法

在使用电脑的过程中&#xff0c;我们经常会遇到一些开机弹窗问题。其中&#xff0c;开机弹窗找不到OpenCL.dll是一种常见的情况。本文将详细介绍开机弹窗找不到OpenCL.dll的原因分析、解决方法以及预防措辞&#xff0c;帮助大家更好地解决这一问题。 一&#xff0c;了解OpenCL.…...

git 本地代码管理

简介 git 能实现本地代码多个更改版本的管理和导出。 首先复制好项目&#xff08;参考 git clone 别人项目后正确的修改和同步操作 中的前三步&#xff09; 实操 克隆原始项目 首先&#xff0c;从远程仓库克隆项目到本地&#xff1a; git clone https://github.com/libo-huan…...

Docker(九)-Docker运行redis6.0.8容器实例

1.宿主机新建目录存放redis.conf文件 目的&#xff1a;运行redis容器实例时使用自己的配置文件2.运行redis容器实例 docker run -d -p 6379:6379 --privilegedtrue -v 【宿主机配置文件目录】:/etc/redis/redis.conf -v 【宿主机数据目录】:/data --nameredis6.0.8 redis:6.0…...

似然 与 概率

概率似然概率函数与似然函数的关系似然与机器学习的关系最大似然估计 似然与概率分别是针对不同内容的估计和近似 概率 概率&#xff1a;概率表达给定参数 θ \theta θ下样本随机向量 X x \textbf{X} {x} Xx的可能性。 概率密度函数的定义形式是 f ( x ∣ θ ) f(x|\t…...

Tableau数据可视化与仪表盘搭建

Tableau的主要目的 数据赋能和数据探索。 数据赋能&#xff1a; 1.分析师可以将数据看板发布到线上给其他部门使用 2.自动更新看板 3.自由下载数据 4.线上修改图表 5.邮件发送数据 6.设置数据预警 数据探索&#xff1a; 1.支持亿级数据的连接和处理 2.自由地对字段进行各种…...

web前端——HTML

目录 一、HTML概述 1.HTML是什么&#xff1f; 2.HTML具体化解释 二、HTML基本语法 1.声明 2. Head头标签 3.body身体标签 4.一个html的基本结构 5.标签 6.标签属性 ①属性的格式 ②属性的位置 ③添加多个属性 三、基本常用标签 1.超链接 2.图像标签 ①图像标…...

C++的模板(九):模板的实例化问题

前文子系统中的例子&#xff0c; SubSystem内部用了STL库的map模板: template <class Event, class Response> class SubSystem{ public:map<Event*, Response*> table; public:void bind(Event *e, Response *r);void unbind(Event *e); public:int OnMessage(E…...

Clickhouse Projection

背景 Clickhouse一个视图本质还是表&#xff0c;只支持一种order By&#xff0c;不然要维护太多的视图。 物化视图能力有限。 在设计聚合功能时&#xff0c;考虑使用AggregatingMergeTree表引擎&#xff0c;现在有了projections&#xff0c;打算尝试使用一下 操作 ADD PROJE…...

放烟花短视频素材去哪里找?去哪里下载?烟花素材网分享

在当代社会&#xff0c;短视频凭借其独有的魅力成为大众传递情感、记录生活、分享快乐的新兴方式。特别是在庆祝节日和特殊时刻时&#xff0c;烟花的绚丽效果常常被用来吸引观众的目光&#xff0c;成为视频作品中的亮点。然而&#xff0c;对于短视频制作者来说&#xff0c;寻找…...

爬虫笔记14——爬取网页数据写入MongoDB数据库,以爱奇艺为例

下载MongoDB数据库 首先&#xff0c;需要下载MongoDB数据库&#xff0c;下载的话比较简单&#xff0c;直接去官网找到想要的版本下载即可&#xff0c;具体安装过程可以看这里。 pycharm下载pymongo库 pip install pymongo然后在在python程序中我们可以这样连接MongoDB数据库…...

Jenkins教程-10-发送飞书测试报告通知

上一小节我们学习了发送企业微信测试报告通知的方法&#xff0c;本小节我们讲解一下发送飞书测试报告通知的方法。 1、自动化用例执行完后&#xff0c;使用pytest_terminal_summary钩子函数收集测试结果&#xff0c;存入本地status.txt文件中&#xff0c;供Jenkins调用 conft…...

Swift开发——简单App设计

App的界面设计需要具有大量的图像并花费大量的时间,这样的应用不方便学习和交流,这里重点介绍SwiftUI界面元素的用法,通过简单App设计过程的讲解,展示图形用户界面应用程序的设计方法。 01、简单App设计 按照9.1节工程MyCh0901的创建方法,创建一个新的工程MyCh0902,此时工…...

Python操作mysql

一、python连接mysql 1.python连接mysql代码示例 from pymysql import Connection# 获取到mysql数据艰苦的连接对象 conn Connection(hostlocalhost,port3306,userroot,passwordroot ) # 打印mysql数据库软件信息 print(conn.get_server_info()) # 关闭到数据库的连接 conn.…...

监控易产品升级动态:V7.6.6.15版本全面升级

随着信息技术的不断发展&#xff0c;企业对系统监控和数据管理的需求日益增加。为了满足广大用户的实际需求&#xff0c;监控易团队经过不懈努力&#xff0c;成功推出了V7.6.6.15版本&#xff0c;对产品进行了全面升级和优化。本次升级不仅增强了产品的稳定性和可靠性&#xff…...

Vue3 + Element-plus + TS —— 动态表格自由编辑

前期回顾 《 穿越时空的代码、在回首&#xff1a;Evil.js两年后的全新解读 》-CSDN博客 Vue3 TS Element-Plus 封装Tree组件 《亲测可用》_ https://blog.csdn.net/m0_57904695/article/details/131664157?spm1001.2014.3001.5501 态表格 自由编辑 目录 ♻️ 效果图…...

虚拟机配置桥接模式

背景 因为要打一些awd比赛,一些扫描工具什么的,要用到kali,就想着换成一个桥接模式 但是我看网上的一些文章任然没弄好,遇到了一些问题 前置小问题 每次点开虚拟网络编辑器的时候都没有vmnet0,但是点击更改的时候却有vmnet0 第一步: 点击更改设置 第二步: 把wmnet0删掉 …...

星戈瑞DSPE-SS-PEG-CY7近红外花菁染料

DSPE-SS-PEG-CY7是一种具有复杂而精细结构的复合纳米材料&#xff0c;其在生物医学领域的应用增多。该材料结合了磷脂&#xff08;DSPE&#xff09;、聚乙二醇&#xff08;PEG&#xff09;、二硫键&#xff08;SS&#xff09;以及荧光染料&#xff08;CY7&#xff09;的特点&am…...

LeetCode:503. 下一个更大元素 II(Java 单调栈)

目录 503. 下一个更大元素 II 题目描述&#xff1a; 实现代码与解析&#xff1a; 单调栈 原理思路&#xff1a; 503. 下一个更大元素 II 题目描述&#xff1a; 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&…...

代码重构:解读重构概念及重构实战

目录 一.重构是什么(what) 1.重构的本质 2.重构≠性能优化 二.重构的目的(why) 1.去写好的代码 2.去写更灵活的代码 三.重构的时机(when and where) 1.何时重构 2.何时不重构 四.重构的方法(how) 1.重构关键核心 2.重构方法 3.重构工具 小结 一.重构是什么(what)…...

java.util.Optional类介绍

java.util.Optional 是 Java 8 引入的一个容器类,用于表示可能包含或不包含非空值的对象。它的设计初衷是为了减少程序中的空指针异常(NullPointerException),并使代码更加简洁和易读。 Optional 类的介绍 1. 特点 避免显式的 null 检查:使用 Optional 可以避免显式的 n…...

PhotoShop自动生成号码牌文件

1、说明 设计卡牌的时候&#xff0c;遇到自动生成编号&#xff0c;从01500到-02500&#xff0c;一个一个的手写&#xff0c;在存储保存成psd格式的文件&#xff0c;会很耗时。 下面将介绍如何使用ps自动生成psd格式的文件 2、使用excle生成数字 从01500到-02500 第一步&…...

02逻辑代数与硬件描述语言基础

2.1 逻辑代数&#xff08;简单逻辑的运算&#xff09; 2.2 逻辑函数的卡诺图&#xff08;从图论的角度&#xff09;化简法 2.3 硬件描述语言Verilog HDL基础&#xff08;研究生阶段才用得到&#xff09; 要求&#xff1a; 1、熟悉逻辑代数常用基本定律、恒等式和规则。 2、掌握…...

OpenGL3.3_C++_Windows(21)

抗锯齿 遇到模型边缘有锯齿&#xff1a;光栅器将顶点数据转化为片段的方式有关 抗锯齿&#xff1a;产生更平滑的边缘SSAA超采样抗锯齿&#xff1a;使用比正常分辨率更高的分辨率&#xff0c;来渲染场景&#xff0c;它也会带来很大的性能开销。 光栅器&#xff1a; 位于最终处…...

clickhouse学习

ClickHouse学习 安装部署 1.下载rpm文件 下载地址&#xff1a;https://packages.clickhouse.com/rpm/stable/ clickhouse-client-23.2.1.2537.x86_64.rpm clickhouse-common-static-23.2.1.2537.x86_64.rpm clickhouse-common-static-dbg-23.2.1.2537.x86_64.rpm clickhous…...

MySQL高级-索引-使用规则-前缀索引

文章目录 1、前缀索引2、前缀长度3、查询表数据4、查询表的记录总数5、计算并返回具有电子邮件地址&#xff08;email&#xff09;的用户的数量6、从tb_user表中计算并返回具有不同电子邮件地址的用户的数量7、计算唯一电子邮件地址&#xff08;email&#xff09;的比例相对于表…...

外星生命在地球的潜在存在:科学、哲学与社会的交织

外星生命在地球的潜在存在&#xff1a;科学、哲学与社会的交织 摘要&#xff1a;近年来&#xff0c;关于外星生命是否存在的讨论日益激烈。有研究表明&#xff0c;外星人可能已经在地球漫步&#xff0c;这一观点引发了广泛的科学、哲学和社会学思考。本文将从科学角度探讨外星…...

使用FRP 0.58版本进行内网穿透的详细教程

什么是FRP&#xff1f; FRP&#xff08;Fast Reverse Proxy&#xff09;是一款高性能的反向代理应用&#xff0c;主要用于内网穿透。通过FRP&#xff0c;您可以将内网服务暴露给外网用户&#xff0c;无需进行复杂的网络配置。 准备工作 服务器&#xff1a;一台具备公网IP的服…...