《Linux篇》02.超详细SpringBoot项目部署教程(附脚本自动部署)(二)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: 《Linux篇》02.超详细SpringBoot项目部署教程(附脚本自动部署)(二)

1.4 安装MySQL

1.4.1 MySQL安装

对于MySQL数据库的安装,我们将要使用前面讲解的第二种安装方式rpm进行安装。那么首先我们先了解一下什么rpm?


**RPM:**全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。


我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:


1). 检测当前系统是否安装过MySQL相关数据库


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


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


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




通过查询,我们发现在当前系统中存在mariadb数据库,是CentOS7中自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。


2). 卸载现有的MySQL数据库


在rpm中,卸载软件的语法为:


rpm -e --nodeps  软件名称

那么,我们就可以通过指令,卸载 mariadb,具体指令为:


rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64

image.png


我们看到执行完毕之后, 再次查询 mariadb,就查不到了,因为已经被成功卸载了。


3). 将资料中提供的MySQL安装包上传到Linux并解压


A. 上传MySQL安装包


在课程资料中,提供的有MySQL的安装包 ,我们需要将该安装包上传到Linux系统的根目录 / 下面。


image.png


B. 解压到/usr/local/mysql


执行如下指令:


mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

image.png


4). 安装顺序安装rpm安装包


rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
yum install libncurses*
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

说明:


因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。

安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)

可以通过指令(yum update)升级现有软件及系统内核

image.png


1.4.2 MySQL启动

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


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

image.png


说明:


可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令:


systemctl enable mysqld


我们可以通过如下两种方式,来判定mysql是否启动:

netstat -tunlp      查看已经启动的服务
netstat -tunlp | grep mysql  查看mysql的服务信息
ps –ef | grep mysql    查看mysql进程


image.png

备注:


A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。


参数说明:


-l或–listening:显示监控中的服务器的Socket;

-n或–numeric:直接使用ip地址,而不通过域名服务器;

-p或–programs:显示正在使用Socket的程序识别码和程序名称;

-t或–tcp:显示TCP传输协议的连线状况;

-u或–udp:显示UDP传输协议的连线状况;


B. ps命令用于查看Linux中的进程数据。


1.4.3 MySQL登录

1.4.3.1 查阅临时密码

MySQL启动起来之后,我们就可以测试一下登录操作,但是我们要想登录MySQL,需要一个访问密码,而刚才在安装MySQL的过程中,并没有看到让我们设置访问密码, 实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中,我们可以查看这份日志文件,从而获取到访问密码。


可以执行如下指令:


1). cat /var/log/mysqld.log



image.png

这种方式,可以看到所有的日志数据,文件比较大时,很不方便查看数据。我们可以通过管道符 | 配合grep来对数据进行过滤。


2). cat /var/log/mysqld.log | grep password


我们可以通过上述指令,查询日志文件内容中包含password的行信息。


image.png


1.4.3.2 登录MySQL

获取到root用户的临时密码之后,我们就可以登录mysql数据库,修改root的密码,为root设置一个新的密码。并且我们还需要开启root用户远程访问该数据库的权限,这样的话,我们就可以在windows上来访问这台MySQL数据库。


执行如下指令(依次输入指令即可):


①. 登录mysql(复制日志中的临时密码登录)
  mysql -uroot -p        
②. 修改密码
    set global validate_password_length=4;    设置密码长度最低位数
    set global validate_password_policy=LOW;  设置密码安全等级低,便于密码可以修改成root
    set password = password('root');    设置密码为root
③. 开启访问权限
    grant all on *.* to 'root'@'%' identified by 'root';
    flush privileges;

操作完上述的指令之后,数据库root用户的密码以及远程访问我们就配置好了,接下来,可以执行exit退出mysql,再次通过新的密码进行登录。


image.png


当然我们也可以使用安装在windows系统中的sqlyog或者Navicat来远程连接linux上的MySQL。


可以看我的博客:超详细Navicat远程连接教程


注意: 要想在windows上能够访问MySQL,还需要开放防火墙的3306端口,执行如下指令:


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


image.png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
782 3
Linux系统初始化脚本
|
8月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
724 9
|
8月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
740 2
|
9月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
10月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
1798 7
ERPNext 搭建教程:Linux 一键部署与维护
|
10月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
938 13
|
10月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
1148 1
|
12月前
|
Java Linux
自定义linux脚本用于快速jar包启动、停止、重启
自定义linux脚本用于快速jar包启动、停止、重启
458 29
|
9月前
|
Ubuntu 网络协议 Unix
Linux教程(Ubuntu为蓝本)之Linux介绍篇
SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。[1-2]
|
9月前
|
Ubuntu Linux 数据安全/隐私保护
Win10安装Linux子系统教程!如何在Win10系统中安装Ubuntu!
登录系统后,输入cd /返回上一级,然后再输入“ls”查看一下系统文件目录,看看对不对!