centos7.9安装mysql

news2024/11/17 0:29:18

1. 概述

官网:https://www.mysql.com/

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,MySQL是最流行的关系型数据库管理系统之一,在 WEB
应用方面,MySQL是最好的RDBMS (Relational Database Management
System,关系数据库管理系统)应用软件之一。

它最初由瑞典MySQL AB公司开发,后来被Sun Microsystems收购。 2009年被Oracle公司收购,属于 Oracle
旗下产品。

MySQL的版本分为社区版和企业版。社区版是完全免费的,但不提供官方技术支持。

本文重点讲述版本为Mysql版本mysql-community-5.7.43版本,5.7版本基于mysql最稳定版本,选择5.7.43版本,后面会讲述选择该版本原因。

2. 版本选择

MySQL社区版本,从5.0~8.0版本演变,中间经历不少漏洞修复和版本升级。 直到最新版本升级到Mysql8.x。
本文未采用Mysql8版本,而是采用基于mysql 5.7版本为研发版本、相对稳定。 刚开始选择mysql社区版本5.7.30,
即mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
通过专业漏洞软件扫描,出现以下数据库漏洞,通过软件升级和打补丁方式来解决。
漏洞名称 漏洞等级
Oracle MySQL 输入验证错误漏洞CVE-2022-21417 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21454 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21427 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21245 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21344 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21270 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21367 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21304 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21303 中危
Oracle MySQL Server 安全漏洞CVE-2020-2780 中危
Oracle MySQL Server 安全漏洞CVE-2020-2812 中危
Oracle MySQL Server 安全漏洞CVE-2020-14568 中危
Oracle MySQL Server 安全漏洞CVE-2020-14663 中危
Oracle MySQL Server 安全漏洞CVE-2020-14697 中危
Oracle MySQL Server 安全漏洞CVE-2020-14678 中危
Oracle MySQL Server 安全漏洞CVE-2020-14591 中危
Oracle MySQL Server Server:Optimizer组件安全漏洞CVE-2020-14680 中危
Oracle MySQL Server 安全漏洞CVE-2020-14539 中危
Oracle MySQL Server 安全漏洞CVE-2020-14576 中危
Oracle MySQL Server 安全漏洞CVE-2020-14619 中危
Oracle MySQL Server 安全漏洞CVE-2020-14643 中危
Oracle MySQL Server 安全漏洞CVE-2020-14651 中危
Oracle MySQL Server 安全漏洞CVE-2020-14624 中危
Oracle MySQL Server 安全漏洞CVE-2020-14623 中危
Oracle MySQL Server 安全漏洞CVE-2020-14540 中危
Oracle MySQL Server 安全漏洞CVE-2020-14575 中危
Oracle MySQL Server 安全漏洞CVE-2020-14656 中危
Oracle MySQL Server 安全漏洞CVE-2020-14620 中危
Oracle MySQL Server 安全漏洞CVE-2020-14614 中危
Oracle MySQL Server 安全漏洞CVE-2020-14547 中危
Oracle MySQL Server 安全漏洞CVE-2020-14597 中危
Oracle MySQL Server 安全漏洞CVE-2020-14654 中危
Oracle MySQL Server 安全漏洞CVE-2020-14567 中危
Oracle MySQL Server 安全漏洞CVE-2020-14632 中危
Oracle MySQL Server 安全漏洞CVE-2020-14631 中危
Oracle MySQL Server 安全漏洞CVE-2020-14586 中危
Oracle MySQL Server 安全漏洞CVE-2020-14702 中危
Oracle MySQL Server 安全漏洞CVE-2020-14641 中危
Oracle MySQL Server 安全漏洞CVE-2020-14559 中危
Oracle MySQL Server 安全漏洞CVE-2020-14553 中危
Oracle MySQL Server 安全漏洞CVE-2020-14633 中危
Oracle MySQL Server 安全漏洞CVE-2020-14634 中危
Oracle MySQL Server 安全漏洞CVE-2020-2761 中危
Oracle MySQL Server 安全漏洞CVE-2020-2759 中危
Oracle MySQL Server 安全漏洞CVE-2020-2763 中危
Oracle MySQL Server 安全漏洞CVE-2020-2770 中危
Oracle MySQL Server 安全漏洞CVE-2020-2765 中危
Oracle MySQL Server 安全漏洞CVE-2020-2774 中危
Oracle MySQL Server 安全漏洞CVE-2020-2780 中危
Oracle MySQL Server 安全漏洞CVE-2020-2804 中危
Oracle MySQL Server 安全漏洞CVE-2020-2814 中危
Oracle MySQL Server 安全漏洞CVE-2020-2853 中危
Oracle MySQL Server 安全漏洞CVE-2020-2892 中危
Oracle MySQL Server 安全漏洞CVE-2020-2893 中危
Oracle MySQL Server 安全漏洞CVE-2020-2895 中危
Oracle MySQL Server 安全漏洞CVE-2020-2896 中危
Oracle MySQL Server 安全漏洞CVE-2020-2897 中危
Oracle MySQL Server 安全漏洞CVE-2020-2901 中危
Oracle MySQL Server 安全漏洞CVE-2020-2898 中危
Oracle MySQL Server 安全漏洞CVE-2020-2903 中危
Oracle MySQL Server 安全漏洞CVE-2020-2904 中危
Oracle MySQL Server 安全漏洞CVE-2020-2924 中危
Oracle MySQL Server 安全漏洞CVE-2020-2923 中危
Oracle MySQL Server 安全漏洞CVE-2020-2925 中危
Oracle MySQL Server 安全漏洞CVE-2020-2580 中危
Oracle MySQL Server 安全漏洞CVE-2020-2679 中危
Oracle MySQL Server 安全漏洞CVE-2020-2572 中危
Oracle MySQL Server 安全漏洞CVE-2020-2577 中危
Oracle MySQL Server 安全漏洞CVE-2020-2579 中危
Oracle MySQL Server 安全漏洞CVE-2020-2588 中危
Oracle MySQL Server 安全漏洞CVE-2020-2589 中危
Oracle MySQL Server 安全漏洞CVE-2020-2627 中危
Oracle MySQL Server 安全漏洞CVE-2020-2660 中危
Oracle MySQL Server 安全漏洞CVE-2020-2686 中危
Oracle MySQL Server 安全漏洞CVE-2019-3011 中危
Oracle MySQL Server 安全漏洞CVE-2019-2963 中危
Oracle MySQL Server 安全漏洞CVE-2019-2950 中危
Oracle MySQL Server 安全漏洞CVE-2019-2957 中危
Oracle MySQL Server 安全漏洞CVE-2019-2966 中危
Oracle MySQL Server 安全漏洞CVE-2019-2968 中危
Oracle MySQL Server 安全漏洞CVE-2019-2967 中危
Oracle MySQL MySQL Server 安全漏洞CVE-2019-2982 中危
Oracle MySQL MySQL Server 安全漏洞CVE-2019-2991 中危
Oracle MySQL MySQL Server 安全漏洞CVE-2019-3009 中危
Oracle MySQL Server 安全漏洞CVE-2019-2997 中危
Oracle MySQL Server 安全漏洞CVE-2019-3004 中危
Oracle MySQL MySQL Server 安全漏洞CVE-2019-2998 中危
Oracle MySQL Server 安全漏洞CVE-2019-3003 中危
Oracle MySQL Server 安全漏洞(CVE-2019-2530)CVE-2019-2530 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21515 中危
Oracle MySQL 安全漏洞CVE-2022-21589 中危
Oracle MySQL 安全漏洞CVE-2022-21592 中危
Oracle MySQL 安全漏洞CVE-2022-21617 中危
Oracle MySQL 安全漏洞CVE-2022-21617 中危
Oracle MySQL 安全漏洞CVE-2022-21595 中危
Oracle MySQL 输入验证错误漏洞CVE-2022-21451 低危
Oracle MySQL 输入验证错误漏洞CVE-2022-21460 低危
Oracle MySQL 输入验证错误漏洞CVE-2022-21444 低危
Oracle MySQL Server 安全漏洞CVE-2020-2752 低危
Oracle MySQL Server 安全漏洞CVE-2020-14550 低危
Oracle MySQL Server 安全漏洞CVE-2020-2752 低危
Oracle MySQL Server 安全漏洞CVE-2020-2921 低危
Oracle MySQL Server 安全漏洞CVE-2020-2926 低危
Oracle MySQL Server 安全漏洞CVE-2020-2930 低危
Oracle MySQL Server 安全漏洞CVE-2020-2584 低危
Oracle MySQL Server 安全漏洞CVE-2020-2694 低危
Oracle MySQL MySQL Server 输入验证错误漏洞CVE-2019-3018 低危
最终解决办法:升级版本为mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

3. 下载与卸载

3.1 下载

步骤1: 输入https://dev.mysql.com/downloads/, 点击红色标签。

步骤2:点击Archives(档案库)
在这里插入图片描述

步骤3:选择版本
产品版本:5.7.43
操作系统:Red Had企业Linux/Oracle Linux
系统版本:Linux7/X86,64-bit
在这里插入图片描述

#命令行下载:
[root@localhost software]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

3.2 卸载

  • 查询是否安装
[root@localhost software]# ps -ef | grep mysql
[root@localhost software]# whereis mysql
[root@localhost software]# rpm -qa|grep -i mysql
[root@localhost software]# netstat -anp | grep 3306
[root@localhost software]# find / -name mysql
  • 服务配置命令
#停止服务
[root@localhost software]# systemctl stop mysqld
#启动服务
[root@localhost software]# systemctl start mysqld
#服务状态
[root@localhost software]# systemctl status mysqld
#重启服务
[root@localhost software]# systemctl restart mysqld
#设置开启自启动
[root@localhost software]# systemctl enable mysqld
#重新导入设置
[root@localhost software]# systemctl daemon-reload
  • 卸载服务
#本文采用Rpm安装方式,这里只讲述Rpm卸载Mysql
#rpm查找mysql安装
[root@localhost software]# rpm -qa|grep -i mysql 
mysql-community-client-5.7.43-1.el7.x86_64
mysql-community-server-5.7.43-1.el7.x86_64
mysql-community-common-5.7.43-1.el7.x86_64
mysql-community-libs-5.7.43-1.el7.x86_64
#依次执行命令卸载服务
[root@localhost software]# 
rpm -ev mysql-community-server-5.7.43-1.el7.x86_64 --nodeps
rpm -ev mysql-community-client-5.7.43-1.el7.x86_64 --nodeps
rpm -ev mysql-community-common-5.7.43-1.el7.x86_64 --nodeps
rpm -ev mysql-community-libs-5.7.43-1.el7.x86_64 --nodeps
#删除其他配置文件
[root@localhost software]# find / -name mysql
[root@localhost software]# rm -rf /var/lib/mysql
[root@localhost software]# rm -rf /var/lib/mysql/mysql
[root@localhost software]# rm -rf /usr/share/mysql
[root@localhost software]# rm -rf /etc/my.cnf.*

4. 安装

  • 步骤1:复制安装包
#创建解压目录
[root@localhost local]# mkdir mysql-5.7.43
#复制安装包至目录
[root@localhost local]# cp /home/sqyr/software/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar /home/sqyr/local/mysql-5.7.43
  • 步骤2:解压安装包
#解压安装包
[root@localhost mysql-5.7.43]# tar -xvf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar
#删除源安装包
[root@localhost mysql-5.7.43]# rm -rf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述

  • 步骤3:依次执行安装
[root@localhost mysql-5.7.43]# rpm -ivh mysql-community-common-5.7.43-1.el7.x86_64.rpm
[root@localhost mysql-5.7.43]# rpm -ivh mysql-community-libs-5.7.43-1.el7.x86_64.rpm
[root@localhost mysql-5.7.43]# rpm -ivh mysql-community-client-5.7.43-1.el7.x86_64.rpm
[root@localhost mysql-5.7.43]# rpm -ivh mysql-community-server-5.7.43-1.el7.x86_64.rpm
[root@localhost mysql-5.7.43]# rpm -qa|grep -i mysql

5. mysql优化及配置

  • 步骤1:配置默认my.cnf
[root@localhost etc]# vi my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
	   
[mysqld]
#注释默认配置datadir和scoket
#datadir=/var/lib/mysqlk
#socket=/var/lib/mysql/mysql.sock

#基础目录
basedir=/home/sqyr/local/mysql-5.7.43/install/data/mysql
#数据目录
datadir=/home/sqyr/local/mysql-5.7.43/install/data/mysql/data
#通讯链接文件
socket=/home/sqyr/local/mysql-5.7.43/install/data/mysql/mysql.scok
#端口号
port=3306
#绑定地址
bind-address=0.0.0.0
#符号链接
skip-name-resolve

#默认采用InnoDB存储引擎
default-storage-engine=INNODB

#调整innodb_buffer_pool_size大小,如果是单实例且绝大多数是InnoDB引擎表的话,可考虑设置为物理内存的50% ~ 70%左右;
innodb_buffer_pool_size=512M

#如果要求数据不能丢失,为了数据安全,那么两个都设为1。
innodb_flush_log_at_trx_commit=1
sync_binlog=1

#使用独立表空间
innodb_file_per_table=1
innodb_buffer_pool_size=128M

#默认编码
character-set-server=utf8

#设置innodb_log_file_size=256M,设置innodb_log_files_in_group=2,基本可满足90%以上的场景;
innodb_log_file_size=500M
innodb_log_files_in_group=2
innodb_open_files=2048

#千万不要用默认的10M,否则在有高并发事务时,会受到不小的影响
#innodb_data_file_path=ibdata1:12m;ibdata2:1g:autoextend

#时间格式
explicit_defaults_for_timestamp=true

#服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上
max_connections=1024

#阻止过多尝试失败的客户端,如果值为10时,失败(如密码错误)10次,mysql会无条件阻止用户连接
max_connect_errors=10000

#索引块的缓冲区大默认16M
key_buffer_size=128M

#消息缓冲区会用到该列,该值太小则会在处理大包时产生错误。如果使用大的text,BLOB列,必须增加该值
max_allowed_packet=512M

#数据读取超时时间、数据库写超时时间
net_read_timeout=10800
net_write_timeout=10800

#是MySQL执行排序使用的缓冲大小。如果想要增加ORDER BY的速度,首先看是否可以让MySQL使用索引而不是额外的排序阶段,如果不能,可以尝试增加sort_buffer_size变量的大小
sort_buffer_size=4M

#若果多表连接需求大,则这个值要设置大一点
join_buffer_size=6M

#读缓冲区大小
read_buffer_size=4M
read_rnd_buffer_size=8M

#决定是否缓存查询结果。这个变量有三个取值:0,1,2,分别代表了off、on、demand。
query_cache_type=0

#在高并发,写入量大的系统,建义把该功能禁掉
query_cache_size=64M

#指定单个查询能够使用的缓冲区大小,缺省为1M
query_cache_limit=32M

#表描述符缓存大小,可减少文件打开/关闭次数,一般max_connections*2。
table_open_cache=2048
table_definition_cache=2048

#设置临时表最大值,不要设置过大,否则容易导致OOM发生
tmp_table_size=64M
max_heap_table_size=128M

open_files_limit=10240
innodb_open_files=10240

#跳过指定error no类型的错误
slave-skip-errors=1114

#表名字忽略大小写
lower_case_table_names=1

#请求等待时长,默认28800秒,即8小时。调整为1天
wait_timeout=86400
interactive_timeout=86400

#优化mysql的线程缓存,服务器线程缓存这个值表示可以重新利用保存在缓存中线程的数量
thread_cache_size=50

#开启慢日志查询
slow_query_log=ON
#慢查询的阈值为5秒
long_query_time=5
#输出慢日志文件
slow_query_log_file=/home/sqyr/local/mysql-5.7.43/install/data/mysql/data/mysql-slow.log
#一般有两种形式,FILE和TABLE,默认FILE; TABLE时mysql库的slow_log表中
log_output=TABLE
	   
#控制binlog日志文件保留时间,超过时间会删除
expire_logs_days=7

#符号连接的使用被禁用
symbolic-links=0

#用来缓存批量插入数据的时候临时缓存写入数据。如果有大量数据插入可提高此参数值,默认是8M
bulk_insert_buffer_size=64M

#MyISAM设置恢复表之时使用的缓冲区的尺寸,默认为8M,最小值4k。当在REPAIR TABLE 或用 CREATE INDEX 创建索引或ALTER TABLE过程中对MyISAM索引排序时分配的缓冲区
myisam_sort_buffer_size=64M
	   
#注释默认log-error和pid-file
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
log-error=/home/sqyr/local/mysql-5.7.43/install/data/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
	   
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
	   
[client]
socket=/home/sqyr/local/mysql-5.7.43/install/data/mysql/mysql.scok
default-character-set=utf8

[mysql]
socket=/home/sqyr/local/mysql-5.7.43/install/data/mysql/mysql.scok
default-character-set=utf8
  • 步骤2:创建对应目录
 #切换目录
[root@localhost mysql-5.7.43]# cd /home/sqyr/local/mysql-5.7.43/
 #级联创建目录
[root@localhost mysql-5.7.43]# mkdir -p install/data/mysql
[root@localhost mysql-5.7.43]# mkdir -p /home/sqyr/local/mysql-5.7.43/install/data/mysql/share/mysql/english
#创建日志文件
[root@localhost mysql-5.7.43]# touch /home/sqyr/local/mysql-5.7.43/install/data/mysql/mysqld.log
[root@localhost mysql-5.7.43]# cd /home/sqyr/local/mysql-5.7.43/install/data/mysql/
[root@localhost mysql-5.7.43]# chmod 775 mysqld.log
#执行初始化命令【出现如下错误】
[root@localhost mysql-5.7.43]# mysqld --defaults-file=/etc/my.cnf --basedir=/home/sqyr/local/mysql-5.7.43/install/data/mysql --datadir=/home/sqyr/local/mysql-5.7.43/install/data/mysql/data --lc-messages-dir=/home/sqyr/local/mysql-5.7.43/install/data/mysql/share/mysql/english --user=mysql –initialize

在这里插入图片描述

#错误1 (Errcode: 13 - Permission denied) 说权限不足, 对应切换到目录, 核查发现只有家目录权限。
mysqld: Can’t change dir to ‘/home/sqyr/local/mysql-5.7.43/install/data/mysql/data/’ (Errcode: 13 - Permission denied)

[root@localhost home]# ll -h
total 4.0K
drwx------. 18 sqyr sqyr 4.0K Mar 21 23:25 sqyr
#设置目录权限,解决错误1
[root@localhost home]# chmod 775 /home/sqyr/

#错误2 (Errcode: 13 - Permission denied) [ERROR]
Can’t find error-message file’/home/sqyr/local/mysql-5.7.43/install/data/mysql/share/mysql/english/errmsg.sys’. Check error-message file location and ‘lc-messages-dir’ configuration directive.

#查找错误文件
[root@localhost home]# find / -name errmsg.sys
#复制查找文件到对应目录
[root@localhost home]# 
cp /usr/share/mysql/english/errmsg.sys /home/sqyr/local/mysql-5.7.43/install/data/mysql/share/mysql/english/
#赋值权限,再次执行初始化命令
[root@localhost mysql]# chomd -R mysql:mysql /home/sqyr/local/mysql-5.7.43
[root@localhost mysql]# chmod -R 775 /home/sqyr/local/mysql-5.7.43
# SELINUX配置成
[root@localhost data]# vim /etc/selinux/config
SELINUX=disabled
#再次执行初始化命令【执行初始化成功】
[root@localhost mysql-5.7.43]# mysqld --defaults-file=/etc/my.cnf --basedir=/home/sqyr/local/mysql-5.7.43/install/data/mysql --datadir=/home/sqyr/local/mysql-5.7.43/install/data/mysql/data --lc-messages-dir=/home/sqyr/local/mysql-5.7.43/install/data/mysql/share/mysql/english --user=mysql –initialize
#查看初始化默认密码
[root@localhost mysql]# tail -f /home/sqyr/local/mysql-5.7.43/install/data/mysql/mysqld.log
#启动mysql服务
[root@localhost mysql]# systemctl start mysqld
#采用默认密码登录
[root@localhost mysql]# mysql -u root -p
#修改root默认密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '********';
#设置root用户权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '********' WITH GRANT OPTION;

在这里插入图片描述

#查看firewall防火墙状态
systemctl status firewalld
#添加3306端口
firewall-cmd --permanent --add-port=3306/tcp
#重启firewal防火墙
firewall -cmd –reload
#查看firewall防火墙开放端口
firewall-cmd --list-ports
#打开/关闭/禁用firewall防火墙
systemctl [start|stop|disable]firewalld.service

6. 设置自启动

#手动启动命令行
systemctl [status|start|stop|restat] mysqld
#自启动设置
[root@localhost init.d]# systemctl enable mysqld.service                
[root@localhost init.d]# systemctl list-unit-files | grep mysqld.service
#重启
[root@localhost init.d]# reboot
#查询启动进程
[root@localhost software]# ps -ef | grep mysql
mysql     2775     1  0 04:44 ?        00:00:05 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
#查找3306端口
[root@localhost software]# netstat -anp | grep 3306
[root@localhost software]# lsof -i:3306
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  2775 mysql   30u  IPv4  39152      0t0  TCP *:mysql (LISTEN)

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

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

相关文章

Linux下线程池详解与实现:提升多任务处理效率的关键

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:マイノリティ脈絡—ずっと真夜中でいいのに。 0:24━━━━━━️💟──────── 4:02 🔄 ◀…

【教程】谈一谈 IPA 上传到 App Store Connect 的几种方法

引言 在应用开发过程中,将应用程序上传到 App Store Connect 是一个关键的环节。本文将探讨几种常见的 IPA 文件上传方法,包括 Xcode、Application Loader、altool、Appuploader以及Transporter。通过本文的介绍和指导,读者将能够了解不同的…

基于springboot+vue+Mysql的超市进销存系统

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

SpringCloud学习笔记二:服务间调用

微服务中,很多服务系统都在独立的进程中运行,通过各个服务系统之间的协作来实现一个大项目的所有业务功能。服务系统间 使用多种跨进程的方式进行通信协作,而RESTful风格的网络请求是最为常见的交互方式之一。 spring cloud提供的方式&#…

基于springboot实现在线拍卖系统项目【项目源码+论文说明】

基于springboot实现在线拍卖系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍…

jsp指令和动作

1.page指令:描述页面信息 pageENcoding:软件编码 contentType:浏览器编码 2.include指令:将多个网页合成一个网页,静态包含网页 问题:1.在网页源代码中,会形成错误的多遍代码,将主页面代码和…

MySQL中如何进行多表查询

目录 一、子查询 1.什么是子查询 2.注意事项 二、联结查询 1.什么是联结 2.内部联结(等值联结) ①WHERE语句 ②ON语句 3.自联结 4.自然联结 5.外部联结 三、组合查询 1.什么是组合查询 2.UNION规则 *本节涉及概念来源于图灵程序设计丛书&a…

成功推出全新生成式AI的四大原则

生成式AI有望从根本上打开一扇新世界机遇的大门,以满足各行各业的客户需求。从提供个性化回复的对话式聊天机器人,到各种应用的代码,再到营销传播的目标内容,生成式AI正在彻底改变企业的运作方式。为竞相提供卓越的客户体验&#…

jupyter lab 自动补全

命令行执行: pip install jupyter-lsp pip install python-lsp-server[all] jupyter lab直接搜索,并安装,重启后生效

使用`scipy.stats.wasserstein_distance`来计算两个一维分布之间的Earth Mover‘s Distance (EMD)距离

在Python中,计算Earth Mover’s Distance (EMD)通常使用scipy库中的scipy.stats.wasserstein_distance函数,该函数计算的是Wasserstein距离,它与EMD非常相似,都是用来衡量两个分布之间的距离。 以下是一个简单的Python程序例子&a…

Web框架开发-BBS(表、登录、注册、文件上传)

一、博客系统表关系 models.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79…

DID分析:上市公司专精特新认定的长期影响(5W+数据)

参照陈金勇(2024)等人的做法,将上市公司与国家级专精特新小巨人、省级专精特新小巨人、国家级专精特新中小企业、省级专精特新中小企业名单数据进行匹配。包含4类认定标准和年份,并利用四类认定标准分别构建了四类多期DID 一、数据…

进程、线程、协程与虚拟线程(进程相关)

进程、线程、协程与虚拟线程 这一次我们从头,从最大的先开始说,我们从进程开始,因为内容比较多,所以我们分为几个不同的文章来介绍。先从进程,再从线程,最后介绍协程与虚拟线程。 简介 我们以一张操作系…

自动驾驶传感器:惯性导航IMU原理

自动驾驶传感器:惯性导航IMU原理 附赠自动驾驶学习资料和量产经验:链接 组合导航里包含了GNSS卫星导航模块与IMU惯性导航模块,前一篇文章写了GNSS模块,本章写IMU惯导,也是本系列最后一篇文章。 1. 惯性测量单元&…

让 AI 帮你写代码,开发提效神器来了

如今,大量程序员已经习惯在 AI 辅助下进行编程。据调研,AI 编码工具将程序员工作效率提升 50% 以上。 通义灵码是目前国内最受开发者喜爱的 AI 编码助手,可以提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、…

回顾皆草木,唯你是青山~

新中式小飞袖连衣裙 每一件衣裳都是时间的礼赞 是炎炎夏日的一抹清新 传统元素与现代时尚设计相结合 面料舒适透气,裙摆飘逸灵动 宛如林间自由洒脱的小仙子~

【Java】IDEA集成开发工具中英文切换

大家好,我是全栈小5,欢迎阅读小5的系列文章。 这是《Java》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识…

众望所归:FoxPro之后,可视化编程再现新突破,国产力作

许多以前的计算机语言,至今仍然展现出它们强大的生命力。 DOS时代下的FoxPro 然而,曾经风靡一时的FoxPro语言,如今已逐渐淡出人们的视野,令人不禁感慨万分。 每当提及FoxPro,总是有着无尽的话题和回忆。 想当年&am…

65W智能快充—同为科技桌面PDU插座推荐

近10年,移动设备的智能化、功能化已经完全且紧密的融入到我们的基础生活与工作当中。 在常态化的电子设备的应用中,设备的电力续航以及后续的供电充电就尤为重要。 就目前而言,所有消费电子产品中的输入以及充电的接口,usb-c可以…

大模型入门(一)

大模型入门(一) 一、LLaMa 模型介绍1)Pre-normalization2)SwiGLU激活函数3)RoPE旋转位置编码 二、Alpaca 模型介绍三、Vicuna 模型介绍 大模型入门(一)—— LLaMa/Alpaca/Vicuna   LLaMa模型是…