Linux安装jdk、mysql、并部署Springboot项目
- 😜作 者:是江迪呀
- ✒️本文关键词:
Linux、环境安装、JDK安装、MySQL、MySQL安装- ☀️每日 一言:
知行合一!

文章目录
- 一、前言
- 二、安装步骤
- 2.1 安装`JDK`
- (1)创建文件夹(便于后期管理)
- (2)下载`tar`格式的JDK文件。下载地址:[JDK17下载](https://www.oracle.com/java/technologies/downloads/#java17)
- (3)并将`tar`文件传输到`linux`服务器。上传文件到服务器有两种方式:
- (4)加压`tar`文件
- (5)删除`tar`文件
- (6)获取当前解压目录
- (7)设置全局配置
- (8)重加载一下profile文件
- (9)验证`JDK`是否安装成功
- 2.2 安装MySQL
- (1)下载`MySQL`文件
- (2) 安装`MySQL`
- (3)安装mysql服务器
- (4)启动`MySQL`
- (5)查看`MySQL`状态
- (6)找到初始密码
- (7)进入`MySQL`
- (8)修改密码
- (9)防止`MySQL`自动更新
- (9)本地连接`MySQL`
- 2.3 部署SpringBoot项目
- (1)打包
- (2)启动项目
- (3)访问项目
- 三、总结:
一、前言
在本篇文章中,我们将探索如何在Linux操作系统上安装JDK(Java Development Kit)和MySQL数据库,并最终部署一个基于Spring Boot框架开发的应用程序。JDK是Java编程语言的核心组件,而MySQL则是一个流行的开源关系型数据库管理系统。通过本指南,您将了解如何为您的开发环境配置这些关键工具,并将Spring Boot应用程序部署到Linux服务器上。
二、安装步骤
2.1 安装JDK
(1)创建文件夹(便于后期管理)
在/usr/local/下面创建java文件夹
mkdir /usr/local/java
(2)下载tar格式的JDK文件。下载地址:JDK17下载
(3)并将tar文件传输到linux服务器。上传文件到服务器有两种方式:
- 通过
Xftp上传:

这个软件收费,所以并不是所有的小伙伴都有条件。所以有下面的免费的方案二。 - 使用
rz命令上传:
在使用这个命令之前你必须确保linux已经安装了lrzsz,安装命令如下:
sudo apt-get update
sudo apt-get install lrzsz
然后敲出rz命令就可以上传文件了,上传文件的目录是当前目录:
rz

(4)加压tar文件
tar -zxvf 目标JDK
(5)删除tar文件
我们要过河拆桥,解压过后,为了避免占用不必要的空间,应当将tar文件删除,只保留解压后的文件,删除命令:
rm -rf 目标JDK.tar
(6)获取当前解压目录
pwd
(7)设置全局配置
进入全局配置文件命令:
vim /etc/profile

在文件的末尾添加JDK配置:
export JAVA_HOME=[JDK安装路径]
export CLASSPATH=.:$JAVA_HOME/lib/dt.:jar$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存并退出。
按下 Esc 键以确保您处于命令模式。
:wq
并按下 Enter 键,它会保存文件并退出Vi/Vim编辑器。
(8)重加载一下profile文件
source /etc/profile
(9)验证JDK是否安装成功
javac
输出下面的内容表示安装成功:

2.2 安装MySQL
(1)下载MySQL文件
下载安装MySql官方的Yum Repository(注意:在CentOS中默认安装有MariaDB,这个事MySQL的分支,但是为了需要,还是要在系统中,安装mysql,而且安装完之后可以直接覆盖掉MariaDB)
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
如果没有wget ,可以安装一下:
sudo yum -y install wget
使用上面的命令就直接下载了安装用的Yum Repository,然后就可以直接安装了。
(2) 安装MySQL
yum -y install mysql57-community-release-el7-10.noarch.rpm
(3)安装mysql服务器
yum -y install mysql-community-server
这可能会花费一点时间,安装完成之后就会覆盖掉之前mariaDB
如果在安装过程中出现以下错误提示:
Failing package is: mysql-community-client-5.7.40-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
则需要禁掉GPG验证检查:
yum -y install mysql-community-server --nogpgcheck
(4)启动MySQL
systemctl start mysqld.service
(5)查看MySQL状态
systemctl status mysqld.service
展示下面的内容表示,MySQL启动成功:

可能会出现的问题:启动和查看MySQL状态使用的命令无效。这样可能是因为Linux的版本太低,不支持,(4)和(5)命令仅在CentOS7以及更高版本支持。
(6)找到初始密码
可以通过下面的命令找到初始密码:
cd /var/log // 进入log文件夹
ll|grep mysqld.log
cat mysqld.log|grep password
下面显示的就是原始密码:

(7)进入MySQL
找到mysql初始密码后,进入mysql 命令:
mysql -uroot -p
Enter然后输入密码。
(8)修改密码
alter user ‘root’@’localhost‘ identified by ’新密码‘
如果你修改的密码过于简单,是不被允许的,如果你比较叛逆,非要简单的密码,你可以除这个限制:
mysql>set global validate_password_policy=0;
musql>set global validate_password_length=1;
(9)防止MySQL自动更新
因为安装了Yum Repository,以后每次Yum操作都会自动更新,所以需要卸载,命令:
yum -y remove mysql57-community-release-el7-10.noarch
(9)本地连接MySQL
- 确保你可以开了
3306端口。开通端口命令如下:
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all
- 修改权限,允许远程链接数据库。
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
刷新权限
flush privileges
我上面设置的全部IP在知道账号密码的前提下都能够连接,不太安全,你可以开放指定的IP:
GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'指定的IP' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
2.3 部署SpringBoot项目
假设你一个项目已经写好,万事俱备,只欠部署!我这里展示下最原始的部署方式:
(1)打包
找到maven

打包:


将jar包上传到服务器,上传的方式和JDK一样。
(2)启动项目
nohup java -jar 项目名称 >日志文件名.log 2>&1 &
上面的命令是后台启动并将日志文件输出到指定文件夹。
(3)访问项目
在浏览器输入服务器IP+端口号 就可以访问啦~。
三、总结:
以上就是安装JDK、MySQL并启动一个SpringBoot项目的全部内容啦~
但是在实际开发中,操作的步骤会出入很大。比如部署SpringBoot项目,不会是像我讲的这样,因为这样的方式太原始,效率太低,对于发版比较频繁的测试分支,这样搞那简直是噩梦,所以诞生了Jenkins,或者是Docker。
Jenkins的详细部署全教程我已经写过了,连接在此:Jenkins安装+Springboot项目完整部署流程(超详细)
关于使用Docker部署的,等我吃个50个汉堡再说吧~
相关文章:
Linux安装jdk、mysql、并部署Springboot项目
😜作 者:是江迪呀✒️本文关键词:Linux、环境安装、JDK安装、MySQL、MySQL安装☀️每日 一言:知行合一! 文章目录 一、前言二、安装步骤2.1 安装JDK(1)创建文件夹(便于后…...
tomcat更改端口号和隐藏端口号
因为默认端口:8080不会自动隐藏,因此为了更显格调需要将其改为:80 进入tomcat的server文件 将其改为80,之后将tomcat重新启动即可 tomcat启动流程 [rootshang ~]# cd /usr/local/tomcat/apache-tomcat-8.5.92 [rootshang apache-tomcat-8.5.92]# cd b…...
生信分析Python实战练习 2 | 视频19
开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…...
wps设置其中几页为横版
问题:写文档的时候,有些表格列数太多,页面纵向显示内容不完整,可以给它改成横向显示。 将鼠标放在表格上一页的底部,点击‘插入-分页-下一页分节符’。 将鼠标放在表格页面的底部,点击‘插入-分页-下一页分…...
如何在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境
引言 PHP是一种流行的服务器脚本语言,用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 8.1,并通过命令行设置本地编程环境。您还将安装依赖管理器Composer,并通过运行脚本来测试您…...
wazuh安装与使用
目录 一、wazuh安装 二、wazuh使用 一、wazuh安装 下载:https://wazuh.com 可以直接安装OVA这个,然后导入到Linux中就可以使用了。 导入完毕后开启,使用远程连接工具进行连接,出现以下画面则成功了。 之后可以看一下图形化界面…...
Vue 3 常见面试题汇总
前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 前言 最近两年许多大厂都在实行“降本增效”、“优化组织架构”,然后“为社会输送了大量人才”,今年(2023ÿ…...
Docker是什么?详谈它的框架、使用场景、优势
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、什么是 Docker? 二、Docker 的架构 1、Docker客户端 2、Docker守护进程 3、Docker镜像 4、Docker容器 5、Docker…...
neo4j
UNWIND 将列表里的值展开 CREATE (N0:Person {name: Anders}) CREATE (N1:Person {name: Becky}) CREATE (N2:Person {name: Cesar}) CREATE (N3:Person {name: Dilshad}) CREATE (N4:Person {name: George}) CREATE (N5:Person {name: Filipa})CREATE (N0)-[:KNOWS]->(N3)…...
【项目 计网5】 4.15 TCP通信实现(服务器端)4.16 TCP通信实现(客户端)
文章目录 4.15 TCP通信实现(服务器端)4.16 TCP通信实现(客户端) 4.15 TCP通信实现(服务器端) // TCP 通信的服务器端// TCP 通信的服务器端 #include <stdio.h> #include <arpa/inet.h> #incl…...
windows可视化界面管理服务器上的env文件
需求:在 Windows 环境中通过可视化界面编辑位于 Linux 主机上的 env 文件的情况,我现在环境是windows环境,我的env文件在linux的192.168.20.124上,用户是op,密码是op,文件绝对路径是/home/op/compose/env …...
自然语言处理在智能客服和聊天机器人中的应用
文章目录 1. 引言2. NLP基础2.1 词法分析2.2 语法分析2.3 语义理解2.4 情感分析 3. 智能客服中的应用3.1 自动问答3.2 意图识别3.3 情感分析与情绪识别 4. 聊天机器人中的应用4.1 对话生成4.2 上下文理解 5. 技术原理与挑战5.1 语言模型5.2 数据质量和多样性5.3 上下文理解 6. …...
为什么不建议使用@Async注解创建线程
1 前言 在很久很久之前,我有一段痛苦的记忆。那种被故障所驱使的感觉,在我脑海里久久无法驱散。 原因无它,有小伙伴开启了线程池的暴力使用模式。没错,就是下面这篇文章。 夺命故障 ! 炸出了投资人! 我有必要简单的…...
更新Ubuntu18.04上的CUDA和GCC
问题: 有一台服务器的GPU是1080,有八张卡,已经好久没有人用了。cuda版本是10.1,我现在拿来复现一些论文的模型,经常遇到版本依赖问题,报错Driver is too old。所以要更新一下驱动。遇到的主要问题是gcc版本也太低了&am…...
算法通过村第6关【青铜】| 如何通过中序和后序遍历恢复二叉树
中序:3 4 8 6 7 5 2 1 10 9 11 15 13 14 12 后序:8 7 6 5 4 3 2 10 15 14 13 12 11 9 1 通过这两个遍历顺序恢复二叉树 首先我们知道中序遍历顺序左中右,后序遍历顺序左右中 第一步: 由后序遍历确定根结点为1 > 由中序遍历…...
高斯牛顿法和LM算法异同示例
LM(Levenberg-Marquardt)算法和高斯牛顿(Gauss-Newton)算法是两种用于非线性最小二乘问题的优化算法,它们也有一些相似之处: 迭代优化:LM算法和高斯牛顿算法都使用迭代的方式来优化参数值&#…...
奥威BI财务数据分析方案:只做老板想看的
奥威BI财务数据分析方案是一套从老板的视角出发,做老板想看的财务数据分析报表,帮助老板更好地了解公司的财务状况和经营绩效的综合性智能财务数据分析方案,可实现财务数据分析可视化、灵活自主性,随时为老板提供最为直观的财务数…...
opencv进阶19-基于opencv 决策树cv::ml::DTrees 实现demo示例
opencv 中创建决策树 cv::ml::DTrees类表示单个决策树或决策树集合,它是RTrees和 Boost的基类。 CART是二叉树,可用于分类或回归。对于分类,每个叶子节点都 标有类标签,多个叶子节点可能具有相同的标签。对于回归,每…...
Unity通过TCP/IP协议进行通信
uinty项目中需要与C编写的硬件进行通信,因此采用TCP/IP协议进行通信,主要实现了与服务器的连接、通信内容的发送以及断开连接等功能。 根据确定好的协议格式,编写需要发送的内容,将其转为字节流(byte[])通过…...
基于VuePress搭建知识库
我这边需要搭建一个运维知识库,将项目的方方面面记录下来,方便新手接手运维。 准备环境 Nginx 1.19.0VuePress 1.xMinio RELEASE.2022-02-16T00-35-27Zvuepress-theme-vdoing主题 安装VuePress 根据官网步骤即可 # 创建目录 mkdir vuepress-starter…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
Monorepo架构: Nx Cloud 扩展能力与缓存加速
借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...
AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...
轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...
