orangepi部署web环境

news2024/9/20 8:41:47

orangepi web环境搭建

        • mysql安装
          • mysql卸载
        • FTP安装
        • java安装
        • tomcat安装
        • Maven配置

mysql安装

查看MySQL安装包

在这里插入图片描述

接下来可以使用以下命令安装MySQL服务器:

  1. 安装MySQL 8.0
# 安装最新版本
sudo apt install -y mysql-server
# 安装指定版本
sudo apt install -y mysql-server-8.0
  1. 初始化配置信息

    sudo mysql_secure_installation
    
  • VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security Would you like to setup VALIDATE PASSWORD component?(使用密码强校验组件)-> n

    • (如果输入y 之后会让你选level 0/1/2,跳过为root设置密码,因为默认情况下使用auth_socket进行身份验证)
    • 输入n、不使用校验组件,请你直接设置密码、之后用sudo mysql -u root -p进行登录
  • New Password:(设置新密码,并重复一遍)

  • Remove anonymous users (删除匿名用户) n

  • Disallow root login remotely(拒绝远程root账号登录) n

  • Remove test database and access to it(移除test数据库) n

  • Reload privilege tables now (现在就重新载入权限表) y

之前没有设置密码

使用sudo mysql -u root登录

在这里插入图片描述

  1. 设置密码(该步骤适用 启动密码校验组件)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
 # 密码必须8位

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

查看密码策略

show variables like 'validate_password%';

在这里插入图片描述

修改策略

是因为之前设置的等级为medium,要求长度>= 8、数字、混合大小写和特殊字符

SET GLOBAL validate_password.policy = 'LOW';
# 设置密码策略为低

查看当前密码长度

select @@validate_password_length;

select @@validate_password_length;

±---------------------------+
| @@validate_password.length |
±---------------------------+
| 8 |
±---------------------------+
1 row in set (0.00 sec)

设置密码长度

# -- 密码长度
set global validate_password.length=6;
 
#-- 密码至少要包含的小写字母个数和大写字母个数
set global validate_password.mixed_case_count=0;

#-- 密码至少要包含的数字个数。
set global validate_password.number_count=0; 

#-- 密码至少要包含的特殊字符数
set global validate_password.special_char_count=0; 

 
  1. 更改默认 root 用户的认证方法(如有必要)
    默认情况下,MySQL 使用 auth_socket 组件对 root 进行身份验证,这可能会阻止远程登录。要改为使用密码认证,请执行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'SSKS#dd';
FLUSH PRIVILEGES;

查看当前mysql的用户

SELECT User, Host FROM mysql.user;

mysql> SELECT User, Host FROM mysql.user;
±-----------------±----------+
| User | Host |
±-----------------±----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
±-----------------±----------+
5 rows in set (0.00 sec)

  1. 创建一个允许远程访问的 root 用户
    接下来,创建一个与您的 root 用户相同权限的用户,但允许从任何主机连接。

    6.1 不再另外创建root,直接使用mysql创建的root用户

    开启访问权限

    update user set Host='%' where User='root';
    

    授予权限

    GRANT ALL ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES; # 刷新权限
    

    创建自己的root用户

CREATE USER 'root'@'%' IDENTIFIED BY 'SSKS#dd';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

mysql> CREATE USER ‘root’@‘%’ IDENTIFIED BY ‘123456’;
Query OK, 0 rows affected (0.10 sec)

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.11 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT User, Host FROM mysql.user;
±-----------------±----------+
| User | Host |
±-----------------±----------+
| root | % |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
±-----------------±----------+
6 rows in set (0.00 sec)

  1. 修改 MySQL 配置以允许远程连接

编辑 MySQL 配置文件,通常在 /etc/mysql/mysql.conf.d/mysqld.cnf` 或 /etc/mysql/my.cnf`。

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address 和mysqlx-bind-address项,把127.0.0.1更改为 0.0.0.0 或注释掉这两行,以允许从任何 IP 地址连接。

bind-address = 0.0.0.0
mysqlx-bind-address     = 0.0.0.0  # 这个步骤也不不设置

使用Navicat 17登录

连接成功

在这里插入图片描述

设置密码

# 登录mysql,在默认安装时如果没有让我们设置密码,则直接回车就能登录成功。
mysql -uroot -p
# 设置密码 mysql8.0
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 设置密码 mysql5.7
set password=password('新密码');

# 配置IP 5.7
grant all privileges on *.* to root@"%" identified by "密码";
# 刷新缓存
flush privileges;

详细

# 8.将root用户设置为所有地址可登录,原来是localhost表示只用本机可登录
use mysql;
update user set host='%' where user='root';
flush privileges;
# 9.将用户root密码设置123456并且为永不过期
alter user 'root'@'%' identified by '123456' password expire never;
# 10.将root用户密码加密方式改为mysql_native_password 
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;

退出命令行

exit

注意:配置8.0版本参考:我这里通过这种方式没有实现所有IP都能访问;我是通过直接修改配置文件才实现的,MySQL8.0版本把配置文件 my.cnf 拆分成mysql.cnf 和mysqld.cnf,我们需要修改的是mysqld.cnf文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在这里插入图片描述

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
datadir         = /var/lib/mysql
log_error       = /var/log/mysql/error.log

使用tail命令查看日志文件
tail -f /var/log/syslog
Ctrl + C 退出

修改 bind-address,保存后重启MySQL即可。

bind-address            = 0.0.0.0

重启MySQL重新加载一下配置:

sudo systemctl restart mysql
mysql卸载

停止 MySQL 服务:
首先,停止 MySQL 服务以确保所有 MySQL 进程都已终止。

sudo systemctl stop mysql

卸载 MySQL 软件包:
使用 apt-get 命令卸载 MySQL 服务器及其相关软件包。

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

这将卸载 MySQL 服务器、客户端以及所有相关的依赖包,并清除安装包缓存。

删除配置和数据文件:
删除 MySQL 的配置文件和数据目录。这一步是必要的,因为 apt-get remove --purge 可能不会删除所有文件。

/etc/mysql 存放 debian.cnf存放的是密码

/var/lib/mysql这个目录通常是 MySQL 数据库的默认数据目录,保存了数据库的数据文件、日志文件和其他相关文件

sudo rm -rf /etc/mysql /var/lib/mysql

sudo rm -rf /var/log/mysql

删除 MySQL 用户和组(可选):
如果您希望删除 MySQL 用户和组,可以执行以下命令:

sudo deluser mysql
sudo delgroup mysql

检查是否还有遗留文件:
您还可以使用 find 命令来查找系统中可能遗留的与 MySQL 相关的其他文件,并手动删除它们。

sudo find / -iname 'mysql*' -exec rm -rf {} \;

改错

查看mydql状态

systemctl status mysql

在这里插入图片描述

The designated data directory /var/lib/mysql/ is unusable

查看mysql日志

tail -f /var/log/mysql/error.log

tail: cannot open ‘/var/log/mysql/error.log’ for reading: No such file or directory
tail: no files remaining
也就是说,用户没有error的读写权限,需要就目录的所有者设置为mysql

第一次执行

sudo mysqld --initialize

这个命令将:

  • 创建一个新的 MySQL 数据目录(通常是 /var/lib/mysql/var/log/mysqld.log或 你在 MySQL 配置文件中指定的其他路径)。
  • 在数据目录中初始化数据库文件。
  • 创建一个默认的 mysql 数据库。
  • 生成一个随机的根用户密码,并将其写入错误日志文件中。
  • 权限和目录:确保 MySQL 数据目录的权限设置正确。数据目录应该由 MySQL 用户拥有
  1. 常见选项
    –initialize-insecure:如果你不希望生成根用户密码,可以使用这个选项。这会初始化数据库而不设置 root 密码,允许你之后通过手动设置密码来配置 root 用户。
sudo mysqld --initialize-insecure

–datadir:指定数据库数据目录的路径。如果你希望将数据存储在不同的位置,可以使用此选项。

sudo mysqld --initialize --datadir=/path/to/your/datadir

–user:指定运行 mysqld 的用户。默认情况下,这个命令会以 mysql 用户运行。如果需要以其他用户身份运行,可以使用此选项。

sudo mysqld --initialize --user=mysql

在这里插入图片描述

打不开该文件

Could not open file ‘/var/log/mysql/error.log’ for error logging: No such file or directory

创建error.log

发现没有该文件

 cd /var/log
mkdir /var/log/mysql
 cd /var/log/mysql
 touch error.log
# 更改权限、
chmod 777 error.log

设置开机自启

systemctl enable mysql
# Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
# Executing: /lib/systemd/systemd-sysv-install enable mysql

/lib/systemd/systemd-sysv-install 是一个系统工具,用于在 System V 初始化脚本(SysV init scripts)和 systemd 之间进行转换和兼容性处理。当您运行 systemctl enable mysql 命令时,系统会调用 /lib/systemd/systemd-sysv-install 这个脚本来处理将 SysV 初始化脚本转换为 systemd 服务的操作。

具体来说,在这种情况下,/lib/systemd/systemd-sysv-install 脚本会做以下事情:

  1. 执行检测:检查是否存在 SysV 初始化脚本(例如 /etc/init.d/mysql)以确保能够进行转换和设置。
  2. 创建符号链接:在 systemd 的服务目录下创建一个符号链接,将 SysV 初始化脚本连接到 systemd 服务单元文件(例如 /etc/systemd/system/mysql.service)。
  3. 启用服务:启用新创建的 systemd 服务,使其在系统启动时自动启动。

查看正在启动的服务

netstat -tunlp
netstat -tunlp | grep mysql

在这里插入图片描述

再次执行

sudo mysqld --initialize
没有报错

尝试启动,还是报错

在这里插入图片描述

查看日志cat /var/log/mysqld.log

这是另外一个日志信息,还是没有该文件

cat: /var/log/mysqld.log: No such file or directory

touch mysqld.log
 chmod 777  /var/log/mysqld.log

现在的日志信息

/var/log/mysql/error.log

/var/log/mysqld.log

查看上次创建error.log文件之后,initialize的错误信息

在这里插入图片描述

数据目录从未使用

删除

 rm -rf /var/lib/mysql/*

第三次

再次执行sudo mysqld --initialize

mysql用户无法写入

修改权限
在这里插入图片描述

sudo chmod -R 755 /var/log/mysql/
递归的将/var/log/mysql/目录下的所有文件和子目录权限设置为755

再次启动sudo mysqld --initialize

无问题

再次启动

 systemctl start mysql

在这里插入图片描述

总结一波

ERROR 2 NO such file or directory

原因是没有创建日志目录 /var/log/mysql/error.log虽然之前安装的时候能使用,但是后来改了默认配置vim /etc/mysql/mysql.conf.d/mysqld.cnf增加了日志目录log_error,但是没有创建目录,导致启动失败。

创建完目录

mysql服务启动失败

systemctl list-units --type=service # 命令列出所有服务单元

查·看mysql安装信息

dpkg -l | grep mysql

检查 MySQL 进程:

ps -ef | grep mysql

卸载mysql

  1. 停止 MySQL 服务:打开终端,并以管理员权限执行以下命令来停止 MySQL 服务:
sudo systemctl stop mysql
  1. 使用 APT 卸载 MySQL 软件包:执行以下命令来卸载 MySQL 软件包:
sudo apt-get remove --purge mysql-server mysql-client mysql-common

这将卸载 MySQL 服务器、客户端和共享组件。

  1. 清理残留文件:执行以下命令来清理残留文件:
sudo apt-get autoremove
sudo apt-get autoclean
  1. 删除 MySQL 数据目录:MySQL 数据目录通常位于 /var/lib/mysql,可以执行以下命令删除它:
sudo rm -rf /var/lib/mysql

请务必在删除之前备份任何重要的数据。

  1. 清理配置文件和日志文件:执行以下命令来清理配置文件和日志文件:
sudo rm -rf /etc/mysql /var/log/mysql
FTP安装
sudo apt-get install vsftpd
 
# 设置开机启动并启动ftp服务
systemctl enable vsftpd
systemctl start vsftpd

启动

#查看其运行状态
systemctl  status vsftpd
#重启服务
systemctl  restart vsftpd

修改配置文件

#修改配置
sudo nano /etc/vsftpd.conf

存在的修改成酱紫:

listen=NO # 阻止 vsftpd 在独立模式下运行
listen_ipv6=YES # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置
anonymous_enable=NO # 关闭匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 启用可以修改文件的 FTP 命令
local_umask=022 # 本地用户创建文件的 umask 值
dirmessage_enable=YES # 当用户第一次进入新目录时显示提示消息
xferlog_enable=YES # 一个存有详细的上传和下载信息的日志文件
connect_from_port_20=YES # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)
xferlog_std_format=YES # 保持标准日志文件格式
pam_service_name=vsftpd # vsftpd 将使用的 PAM 验证设备的名字

最后添加:

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

————————————————

创建传输文件夹

sudo useradd -d /home/ftp/ftp_root -m ftpadmin 
#创建新用户,home目录设置为/home/ftp/ftp_root
sudo passwd ftpadmin 
#新用户设置密码
输入密码:
再次输入密码:
chmod -R 777 /home/ftp/ftp_root
# 将"/home/ftp/ftp_root"目录下的所有文件和子目录的权限都设置为最大权限
# 即所有用户都可以读取、写入和执行这些文件
777表示文件/文件夹的所有者,所有组,其他用户设置为可读,可写,可执行的权限

查看文件的权限

ls -ld /opt
drwxr-xr-x 6 root root 4096 Jun  5 22:01 /opt

用户 HwHiAiUser 的用户 ID(UID)为 1000,用户组 ID(GID)也为 1000

此用户还属于 HwDmUser 用户组(GID 为 1101)和 HwBaseUser 用户组(GID 为 1102)。

如果你想给用户 HwHiAiUser 添加写权限,你可以使用 chmod 命令,例如:

chmod u+w /opt  # 为HwHiAiUser添加写入权限

这将为 HwHiAiUser 用户添加 /opt 目录的写权限。如果你想给 HwHiAiUser 用户组添加写权限,你可以执行以下命令:

chmod g+w /opt
java安装

下载地址

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

下载之后

上传/opt

解压缩

sudo tar -zxvf jdk-8u401-linux-aarch64.tar.gz

更改环境变量

vim /etc/profile

最后一行添加

export JAVA_HOME=/usr/local/jdk1.8.0_401 #这里写自己的路径	
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib # 设置了 Java 的类路径,. 表示当前目录,${JAVA_HOME}/lib 和 ${JRE_HOME}/lib 分别添加了 JDK 和 JRE 的库文件路径
export PATH=.:${JAVA_HOME}/bin:$PATH # PATH 设置了可执行文件的搜索路径,${JAVA_HOME}/bin 将 Java 可执行文件的路径添加到了系统路径中


export JAVA_HOME=/usr/local/jdk1.8.0_401
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # CLASSPATH 指定了特定的 JAR 文件,通常是项目所需的依赖库文件
export PATH=$JAVA_HOME/bin:$PATH

激活环境变量

source /etc/profile

测试java

java -version

在这里插入图片描述

tomcat安装

下载地址

Index of /dist/tomcat/tomcat-7/v7.0.96/bin (apache.org)

选择bin目录下的tar包

在这里插入图片描述

配置tomcat

cd /usr/local/apache-tomcat-7.0.96/conf
 vim server.xml
打开vim server.xml配置文件,找到配置8080端口的位置,在节点末尾添加URIEncoding="UTF-8"
:wq退出保存

启动

/usr/local/java/apache-tomcat-7.0.96/bin 
./startup.sh # 执行

在这里插入图片描述

通过内网地址加端口访问

http://192.168.43.224:8080/

添加开机自启

首先,使用 root 权限登录到系统,并切换到 /etc/systemd/system 目录:

 cd /etc/systemd/system

然后创建一个名为 tomcat.service 的文件并编辑它:

sudo nano tomcat.service
[Unit]
Description=Tomcat Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/local/jdk1/8.0_401"
Environment="CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"

Environment="CATALINA_HOME=/usr/local/apache-tomcat-7.0.96"

ExecStart=/usr/local/apache-tomcat-7.0.96/bin/catalina.sh start
ExecStop=/usr/local/apache-tomcat-7.0.96/bin/catalina.sh stop

RestartSec=3

[Install]
WantedBy=multi-user.target

保存并关闭文件后,重新加载 systemd 管理的单元文件,使新的 Tomcat 服务配置生效:

sudo systemctl daemon-reload

现在你可以使用以下命令来启动、停止和管理 Tomcat 服务:

sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat
sudo systemctl enable tomcat  # 设置开机自启
sudo systemctl disable tomcat  # 取消开机自启
sudo systemctl status tomcat  # 查看服务状态

查看端口占用

ps aux | grep tomcat
kill -9 33446 # -9是指定的信号编号,代表SIGKILL信号

删掉还是没用

systemctl status tomcat

在这里插入图片描述

查看日志信息

more /usr/local/apache-tomcat-7.0.96/logs/catalina.out 

发现java环境配置错了

在这里插入图片描述

重新配置

systemctl daemon-reload
systemctl start tomcat
systemctl staus tomcat

在这里插入图片描述

Maven配置

maven下载

https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/

maven配置

vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:$PATH
source /etc/profile

测试

mvn -v

在这里插入图片描述

快速安装脚本

# 检查是否已安装 Maven
if ! command -v mvn &> /dev/null; then
    # 如果未安装,则下载、安装并设置环境变量
    cd /home/zenglg
    wget https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz --no-check-certificate
    tar vxf apache-maven-3.9.5-bin.tar.gz 
    rm -rf /usr/local/maven3
    mv apache-maven-3.9.5 /usr/local/maven3

    # 设置环境变量
    MAVEN_HOME="/usr/local/maven3"
    echo "export MAVEN_HOME=${MAVEN_HOME}" >> /etc/profile
    echo "export PATH=${PATH}:${MAVEN_HOME}/bin" >> /etc/profile
    source /etc/profile

    # 检查是否成功设置环境变量
    if [[ ":$PATH:" == *":${MAVEN_HOME}/bin:"* ]]; then
        echo "Maven 已安装并设置环境变量成功."
    else
        echo "设置 Maven 环境变量失败."
    fi
else
    echo "Maven 已安装."
fi

maven 本地仓库

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

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

相关文章

Mystic 会是 Midjourney 的终结者吗?

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 这两年来 Midjourney 一直是互联网上最好的人工智能图像生成器。它制作了一些我们所见过的最流行和最具争议的 AI 图像,Midjourney 无与伦比的快速连贯性和照片级真实感使其领先于 OpenAI、谷歌和亚…

喜报!普罗格入选软件百强企业榜单

金秋九月,一个象征着成熟与收获的季节,普罗格迎来了发展历程中的又一里程碑。近期,普罗格以稳健的发展和创新的技术入选武汉软件百强企业榜单。在面对2024年复杂经营环境挑战的背景下,这一荣誉更显珍贵,彰显了武汉企业…

MySQL迁移达梦报错,DMException: 第1 行附近出现错误: 无效的表或视图名[ACT_GE_PROPERTY]

达梦数据库选好模式和登录用户,迁移时的目标模式名要和达梦的当前登录的用户名相同,否则查询的时候需要“form 模式名.表名”,只from表名就会报表不存在的错误。

单机快速部署开源、免费的分布式任务调度系统——Apache DolphinScheduler

本文主要为大家介绍Apache DolphinScheduler的单机部署方式,方便大家快速体验。 环境准备 需要Java环境,这是一个老生常谈的问题,关于Java环境的安装与配置期望大家都可以熟练掌握。 验证java环境 java -version 下载安装包并解压 使用wg…

深度挖掘| 如何高效实现Cloudera 安装之基础环境搭建

Cloudera Manager是CDH市场领先的管理平台。它以其强大的数据管理和分析能力,帮助企业能够轻松驾驭海量数据,实现数据的实时分析与洞察。 作为业界第一的端到端 Apache Hadoop 的管理应用,Cloudera Manager对CDH的每个部件都提供了细粒度的可…

ROS2 std_msg 报错!

编译ros2时候报错如下: CMake Error at CMakeLists.txt:11 (find_package): By not providing "Findstd_msg.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "…

80V转5V4A同步降压WT6037

80V转5V4A同步降压WT6037 WT6037 被定义为一款高压同步降压转换器,其设计可在 10V 至 90V 的宽泛工作电压区间内稳定运行。该转换器尤其适用于需承受宽电压输入范围的电池组系统,诸如 12V 至 72V 的电池组,以及 60V 至 90V 的降压应用场景。…

Python编码系列—Python建造者模式:构建复杂对象的优雅之道

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

Spring-cloud-gateway报错问题总结

1. 访问接口出现 There was an unexpected error (typeService Unavailable, status503).Unable to find instance for order 假设我们有服务 spring-appication-name: order 但命名路由id 也为order 就会出现这类错误 因为 gateway 有默认路由

Mysql | 知识 | 理解是怎么加锁的

文章目录 一、怎么加行级锁的?二、唯一索引加锁2.1 唯一索引等值查询1、记录存在的情况2、记录不存在的情况 2.2 唯一索引范围查询a. 针对「大于」的范围查询b. 针对「大于等于」的范围查询的情况。c. 「小于」范围查询,记录「不存在」表中的情况d. 「小…

JMeter压力测试

下载地址 第一步:修改配置,并启动软件 进入bin目录,修改jmeter.properties文件中的语言支持为language=zh_CN,然后点击jmeter.bat 启动软件。 第二步:添加线程组 第三步:添加Http取样

STL之Vector容器

容器 容器的分类 序列式容器(Sequence containers) - 每个元素都有固定位置--取决于插入时机和地点和元素值无关 - vector、deque、list、stack、queue 关联式容器(Associated containers) - 元素位置取决于特定的排序准则,和插入顺序无关 - set、multiset、ma…

ARADEX伺服驱动器电源维修G565 D565/60 M5ref

伺服驱动器维修常见故障:无显示、缺相、过流、过压、欠压、过热、过载、接地、参数错误、有显示无输出、模块损坏。我们本着诚信待人的宗旨,凭借娴熟的技术和丰富的维修经验,为国内外诸多企业修了各种不同的伺服电机、驱动器和电源。 短路保…

SpringBoot - 广场舞团

专业团队,咨询就送开题报告,欢迎留言私信 摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各…

Web 安全基础教程:从零基础入门到精通

一、Web 安全概述 (一)Web 安全的定义与重要性 1.定义 Web 安全是指保护 Web 应用程序免受各种网络威胁,确保 Web 服务的保密性、完整性和可用性。在当今数字化时代,Web 应用广泛存在于各个领域,从电子商务到社交媒…

Vue2 qrcode+html2canvas 实现二维码的生成和保存

1.安装 npm install qrcode npm install html2canvas 2.引用 import QRCode from qrcode import html2canvas from html2canvas 效果&#xff1a; 1. 二维码生成&#xff1a; 下载二维码图片&#xff1a; 二维码的内容&#xff1a; 实现代码&#xff1a; <template>…

Linux进程优先级

&#x1f4dd;目录 &#x1f31f; 查看进程信息&#x1f31f; PRI and NI 风过无痕 忘川如斯 如日方升 策引千问 &#x1f31f; 查看进程信息 ps -l命令 UID : 代表执行者的身份PID : 代表这个进程的代号PPID &#xff1a;代表这个进程是由哪个进程发展衍生而来的&#xff0c…

二维码模组扫码器C#实现串口自动监听功能

C# Demo&#xff0c;调用二维码模块的tx_windows_hidpos.dll扫码库&#xff0c;支持QR-M20 、QR-M10、QR-M30等二维码型号。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Text; using…

超级好用的化妆神器,一键迁移妆容,觉得别人化妆真好看,看我一键迁移到自己的脸上!(附工作流)

这两天开源社区又出了一个比较有趣的ComfyUI 插件&#xff0c;功能很简单&#xff0c;可以实现妆容的一键迁移。 操作也很简单&#xff0c;只需要上传一张带有妆容的人物照片&#xff0c;再上传一张想要迁移妆容的照片&#xff0c;就可以把参考人物的妆容迁移到想要迁移的人物…

深入分析计算机网络性能指标

速率带宽吞吐量时延时延带宽积往返时间RTT利用率丢包率图书推荐内容简介作者简介 速率 连接在计算机网络上的主机在数字信道上传送比特的速率&#xff0c;也称为比特率或数据率。 基本单位&#xff1a;bit/s&#xff08;b/s、bps&#xff09; 常用单位&#xff1a;kb/s&#x…