CentOS7下载安装MySQL 8.0.33
作者:mmseoamin日期:2023-12-05

一、安装环境处理

1. MariaDB

在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。

CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。

如果直接安装MySQL,会和MariaDB的文件冲突。

因此,需要先卸载自带的MariaDB,再安装MySQL。

1)查看MariaDB是否安装
rpm -qa | grep mariadb

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第1张

2)存在则卸载mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

2. libaio

1) 检查安装依赖包libaio是否存在
rpm -qa | grep libaio

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第2张

2)不存在执行下载安装
yum install libaio

3. net-tools

1) 检查安装依赖包net-tools是否存在
rpm -qa | grep net-tools

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第3张

2)不存在执行下载安装
yum install net-tools

二、官网下载MySQL

1.官网下载

https://dev.mysql.com/downloads/mysql/

选择下载版本

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第4张

三、安装MySQL

1. 通过工具上传安装包到/opt目录下

ll /opt

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第5张

2. 创建解压目录

#也可以直接解压在/opt目录下,安装MySQL会默认安装在/usr/bin/mysql下
mkdir /usr/local/mysql 
cd /usr/local/mysql

3. 解压安装包到mysql目录

tar -xvf /opt/mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第6张

4. 安装MySQL

1) 安装common
rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm  --nodeps --force

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第7张

2) 安装libs
rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm --nodeps --force

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第8张

3) 安装client
rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm --nodeps --force

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第9张

4) 安装server
rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm --nodeps --force

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第10张

5) 安装完成
rpm -qa | grep mysql

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第11张

四、初始化MySQL配置

1. 通过以下命令,完成对 mysql 数据库的初始化和相关配置

mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl  enable mysqld;

2. 修改MySQL登录密码

1) 查看当前密码
cat /var/log/mysqld.log | grep password

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第12张

2) 使用查获的初始密码登录MySQL数据库
mysql -uroot -p

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第13张

3) 修改密码
#新密码:123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
#通过exit退出后重新登录
exit
4) 远程访问授权
#将localhost更换成%表示不限制ip,若限制只能某一ip访问可以将%换成具体的ip地址
#此处的用户名root和密码123456为新的用户名和密码并非当前登录的用户名和密码,可以随意替换
#此处需用新建的用户名和密码进行指定的IP地址进行登录
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
5) 修改加密规则

MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 
flush privileges;
6) 配置防火墙
#在linux命令窗口执行
#1、查看防火墙状态
firewall-cmd --state
#若未启动,则启动防火墙
systemctl start firewalld
#2、开放端口
# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
# 配置立即生效
firewall-cmd --reload
#查看防火墙所有开放端口
firewall-cmd --zone=public --list-ports

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第14张

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第15张

CentOS7下载安装MySQL 8.0.33,在这里插入图片描述,第16张

注:项目代码配置jdbc驱动连接MySQL8数据库与MySQL5数据库存在差异

第一:mysql的驱动包需要升级到高版本,此处我升到了8.0.27版本

第二:配置的驱动名称不同

MySQL5用的是 driver = com.mysql.jdbc.Driver

MySQL8需要变更为 driver = com.mysql.cj.jdbc.Driver

第三:在访问mysql的url后加入时区设置

url = jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=UTC

UTC表示标准时区