📢📢📢📣📣📣
哈喽!大家好,我是【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 终结者】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!
版权归原作者 Bug 终结者 所有, 如有侵权,请联系我们删除。