0


【Linux 基础】彻底搞懂阿里云服务器部署MySQL并整合Spring Boot

📢📢📢📣📣📣

哈喽!大家好,我是【Bug 终结者,【CSDN新星创作者】🏆,阿里云技术博主🏆,51CTO人气博主🏆,INfoQ写作专家🏆

一位上进心十足,拥有极强学习力的【Java领域博主】😜😜😜

🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。 偶尔会分享些前端基础知识,会更新实战项目,面向企业级开发应用
🏅 如果有对【后端技术】、【前端领域】感兴趣的【小可爱】,欢迎关注【Bug 终结者】💞💞💞

❤️❤️❤️ 感谢各位大可爱小可爱! ❤️❤️❤️

在这里插入图片描述

文章目录

一、什么是MySQL?

百度百科

MySQL是一个 关系型数据库管理系统 ,由瑞典[MySQL AB](https://baike.baidu.com/item/MySQL AB/2620844) 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

**MySQL是一个

关系型数据库

!免费开源!**

二、MySQL与Redis的区别

⚡数据库类型

MySQL是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢.

Redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限.

⚡数据库作用

MySQL用于持久化的存储数据到硬盘,功能强大,但是速度较

Redis用于存储使用较为频繁的数据到缓存中,读取速度.

⚡数据库需求

MySQL和Redis因为需求的不同,一般都是配合使用

☁️总结

数据库MySQLRedis类型关系型数据库非关系型数据库作用持久化到硬盘,但读写速度慢将数据存储到缓存中,读取速度快存放位置数据存储到硬盘数据存储到内存
MySQL和Redis结合使用,才会更好的发挥自己独特的性能,从而快速开发高性能,高可用系统!

三、MySQL的好处

  • 使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。
  • 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
  • 为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • 支持多线程,充分利用 CPU 资源
  • 优化的 SQL 查询算法,有效地提高查询速度
  • 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
  • 提供多语言支持,常见的编码如中文的 GB 2312、BIG 5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
  • 提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
  • 提供用于管理、检查、优化数据库操作的管理工具。
  • 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • 支持多种存储引擎

非关系型数据库,将数据持久化到数据库,可以保证高可用性!

四、阿里云服务器部署MySQL

♻️安装MySQL8.0

**

检测服务器是否有MySQL数据库

**

安装之前,先查看Linux服务器是否有MySQL

rpm -qa |grep mysql

删除软件包

rpm -e --nodeps $(rpm -qa |grep mysql)

**可使用

rpm -qa | grep mysql

再次查看,确保没有软件包**

查询MySQL相关文件

find / -name mysql

直接删除文件

rm -rf $(find / -name mysql)

**可使用

find / -name mysql

再次查看是否删除成功~**


安装MySQL,首先下载MySQL安装包,这里下载MySQL8.0

**进入

usr/local

新建MySQL目录**

cd usr/local

mkdir mysql

**以下操作在

mysql

目录下操作**

下载MySQL

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

也可以去官网直接下载

安装成功后查询下载好的文件

ll

在这里插入图片描述

解压下载好的文件

tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

再次查看文件

在这里插入图片描述

**文件太长,我们修改文件名为

mysql-8.0

**

mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql8.0

修改完毕后我们再次查看文件名

在这里插入图片描述

**

进入 mysql8.0 目录

**

在这里插入图片描述

新建 data 目录存放核心文件

mkdir data

在这里插入图片描述

**添加

mysql 组

和用户组密码**

groupadd mysql

useradd -g mysql mysql

在这里插入图片描述

修改MySQL文件名

mv mysql8.0 mysql-8.0

在这里插入图片描述

授权用户

chown -R mysql.mysql /usr/local/mysql/mysql-8.0

在这里插入图片描述

回到bin目录初始化信息

cd bin 
# 初始化基础信息
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize

在这里插入图片描述

**

保存临时密码后面我们测试时要用

**

编写 MySQL my.cnf 配置文件

vim etc/my.cnf

**按下

i

键 写入内容**

**

注意:一开始配置为空,我们将下面配置文件复制到 my.cnf文件中

**

[client]port=3306socket=/tmp/mysql.sock
[mysqld]basedir=/usr/local/mysql/mysql-8.0/
datadir=/usr/local/mysql/mysql-8.0/data/
# 设置字符编码集
character-set-server=utf8
# 日志存放目录
log-err=/usr/local/mysql/mysql-8.0/data/mysqld.log
pid-file=/usr/local/mysql/mysql-8.0/data/mysqld.pid

**主要区分

[client]

[mysqld]

**

修改完毕后退出并保存

esc # 取消编辑
:wq # 保存并退出

回到mysql-8.0目录,将mysqld添加到服务

cp -a ./support-files/mysql.server /etc/init.d/mysql

授权和添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

在这里插入图片描述


启动MySQL服务

service mysql start

查看 MySQL服务是否启动

service mysql status

在这里插入图片描述

连接MySQL

mysql -uroot -p

Enter Pwd: 刚刚保存的密码,复制到此,回车即可成功

在这里插入图片描述

修改密码

ALTER USER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

刷新

flush privileges;

在这里插入图片描述

启动MySQL远程连接并生效

update user sethost='%' where user='root';

flush privileges;

MySQL连接成功~

❇️MySQL 建库 建表 及插入测试数据

新建数据库

createdatabase db_demo

使用数据库

use db_demo

新建 employee 员工表

createtable t_employee(-> id int,-> name varchar(32),-> sex char(4),-> birthday date,-> job varchar(64));

在这里插入图片描述

插入测试数据

INSERTINTO t_employee (id, NAME, sex, birthday, job)VALUES('1','小王','男','2022-04-04','工程师');INSERTINTO t_employee (id, NAME, sex, birthday, job)VALUES('2','小李','男','2022-03-20','工程师');

插入数据成功!

五、SQLyog 连接 阿里云服务器MySQL

📜下载SQLyog

打开SQLyog官网

在这里插入图片描述

填写注册免费试用即可

📋获取注册码

如果到期后,可以去淘宝或者官网购买正品,在这里我们拒绝盗版哦~

♻️测试连接远程阿里云服务器MySQL

连接阿里云服务器MySQL

在这里插入图片描述

**这里如果连接不上,请关闭

Linux防火墙并在阿里云控制台打开允许访问3306端口

**

关闭 Linux 防火墙

查看防火墙状态

systemctl status firewalld

关闭防火墙,暂时关闭防火墙

systemctl stop firewalld

**再次通过

systemctl status firewalld

查看防火墙状态**

在这里插入图片描述

已关闭防火墙

阿里云服务器允许访问3306端口

实例 --> 安全组,添加安全组访问规则

在这里插入图片描述

再次连接测试

在这里插入图片描述

连接成功~

六、Spring Boot 整合MySQL

✅效果图

在这里插入图片描述

🗂️核心源码

pom.xml依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.20</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

application.yml 配置文件

MySQL8.0 必须配置时区!

datasource:driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://您的ip地址:3306/db_demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=trueusername: root
    password:123456type: com.alibaba.druid.pool.DruidDataSource
    initialSize:2minIdle:2maxActive:120maxWait:60000timeBetweenEvictionRunsMillis:60000minEvictableIdleTimeMillis:300000validateQuery: SELECT 1 FROM DUAL
    testWhileIdle:truetestOnBorrow:falsetestOnReturn:falsepoolPreparedStatements:truemaxPoolPreparedStatementPerConnectionSize:20filters: stat,wall,log4j
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

EmployeeMapper

packagecom.wanshi.mapper;importcom.wanshi.entity.Employee;importorg.apache.ibatis.annotations.Insert;importorg.apache.ibatis.annotations.Mapper;importorg.apache.ibatis.annotations.Select;importjava.util.List;@MapperpublicinterfaceEmployeeMapper{@Insert("insert into t_employee (id, name, sex, birthday, job) values(#{id}, #{name}, #{sex}, #{birthday}, #{job})")Integerinsert(Employee param);@Select("select * from t_employee")List<Employee>list();}

Test测试类

@RunWith(SpringRunner.class)@SpringBootTest(classes =MainApplication.class)publicclassTest1{@AutowiredprivateEmployeeMapper employeeMapper;@Testpublicvoidt1(){Employee employee =newEmployee(3,"小美","男",newDate(),"测试工程师");
        employeeMapper.insert(employee);List<Employee> employeeList = employeeMapper.list();
        employeeList.forEach((emp)->{System.out.println(emp);});}}

♨️往期精彩热文回顾

✈️ **3分钟带你搞懂Vue双向绑定原理及问题剖析 **
✈️ **Netty进阶 – WebSocket长连接开发 **
✈️ **Netty进阶 – 非阻塞网络编程 实现群聊+私聊+心跳检测系统 **

✈️ **Postman测试工具调试接口详细教程【向后端发送Json数据并接收返回的Json结果】 **

✈️ **Java面向对象 — 吃货联盟订餐系统(完整版) **
✈️ **一分钟教你快速 搭建Vue脚手架(Vue-Cli)项目并整合ElementUI **

⛵小结

以上就是【Bug 终结者】对阿里云服务器部署MySQL并整合Spring Boot简单的概述,MySQL是一个关系型数据库,可以持久化数据到硬盘中,MySQL是企业中比较常用的数据库,它和Redis搭配使用,方可展示出更优越的性能,提高系统的可用性
如果这篇【文章】有帮助到你,希望可以给【Bug 终结者】点个赞👍,创作不易,如果有对【后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【Bug 终结者】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!

标签: java spring boot mysql

本文转载自: https://blog.csdn.net/weixin_45526437/article/details/123964321
版权归原作者 Bug 终结者 所有, 如有侵权,请联系我们删除。

“【Linux 基础】彻底搞懂阿里云服务器部署MySQL并整合Spring Boot”的评论:

还没有评论