因为要修复漏洞的原因,这两天将麒麟v10操作系统的服务器上的MySQL版本由5.7.27升级到8.0.35(mysql安装包下载地址:MySQL :: Download MySQL Community Server (Archived Versions)),mysql的安装过程主要参考了这个博主的文章:
https://www.cnblogs.com/milkbox/p/17956298
但是在操作过程中还是几个地方需要注意一下:
1.在安装之前需先检查本机是否有安装, 是否有安装残留,如有则卸载。
- 停止
mysql
服务
sudo systemctl stop mysqld
- 卸载旧版本
mysql
#查看现有版本,mariadb和mysql都要查:
rpm -qa|grep mariadb
rpm -qa|grep mysql
- 卸载
rpm -e --nodeps 文件名(不要带后缀)
- 再次检查是否卸载干净
rpm -qa|grep mariadb
rpm -qa|grep mysql
- 查找
mysql
的目录并全部删除
find / -name mysql
2.其中在安装过程中可能遇到其他依赖不存在的问题这步操作下载的依赖和博文中的不一样,搜索关键字可以直接搜索 "compat-openssl10",网址:RPM resource compat-openssl10
搜索出来的结果才能下载到 openssl10-1.0.2o-4.el8.aarch64.rpm
这个依赖。
3.初始化 mysql 时要注意设置数据库不区分大小写,因为一开始我没设置,到后面运行java项目的时候,项目报错大写字母的数据表不存在。
4. java 项目配置文件中的数据库连接参数需要修改如下:
server:
port: 8080
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123456
在这个配置中,useSSL=false
表示不使用SSL连接,serverTimezone=Asia/Shanghai
设置服务器时区为Asia/Shanghai,allowPublicKeyRetrieval=true
是MySQL 8.0驱动的参数,确保兼容性和安全性。
mysql8.0和之前版本区别是:驱动换了,不是com.mysql.jdbc.Driver而是com.mysql.cj.jdbc.Driver,此外mysql8.0是不需要建立ssl连接的,你需要显示关闭。最后你需要设置CST。所以我们需要在之前我们熟悉的java连接数据库代码的基础之上做改动。
同时,maven中的驱动版本也要使用8.0的:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
总结:以上就是安装mysql8.0.35需要注意的事项。