linux(redhat8)如何安装mysql8.0之rpm&tar双版本(最新版)(内网)(离线)

一.环境

系统版本:Red Hat 8.5.0-20

Java环境:build 1.8.0_181-b13

MYSQL:8.x版本

二、查看内核版本

#查看内核版本,根据内核版本下载对应的安装包

cat /proc/version

三、安装方式

一、rpm包方式

一、下载安装包
1. 登录网站

https://www.mysql.com/downloads/

2. 点击MySQL Community (GPL) Downloads
3. 点击MySQL Community Server
4. 按自己需求选择版本
5. 我这里下载了
powershell 复制代码
mysql-community-server-8.0.34-1.el8.x86_64.rpm
mysql-community-libs-8.0.34-1.el8.x86_64.rpm
mysql-community-common-8.0.34-1.el8.x86_64.rpm
mysql-community-client-8.0.34-1.el8.x86_64.rpm
二、卸载现有版本
1. 下完传至linux主机上(rz,ftp)
2. 查询服务器上已经安装的mysql
powershell 复制代码
rpm -aq|grep mysql
3. 如果有旧版本将其卸载
powershell 复制代码
# 不理会依赖关系,删除所有上一步查出来的相同的mysql
rpm -e mysql --nodeps --allmatches
4. 将老版本的几个文件手工删除
powershell 复制代码
rm -f /etc/my.cnf
rm -rf /var/lib/mysql
rm -rf /var/share/mysql
rm -rf /usr/bin/mysql*
三、安装&配置
1. 安装依赖包
powershell 复制代码
sudo yum install mysql-community-{server,client,common,libs}-*
2. 执行
powershell 复制代码
systemctl start mysqld
3. 查看生成的默认密码
powershell 复制代码
sudo grep 'temporary password' /var/log/mysqld.log
比如:
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: V>OklK40mnC(
4. 修改密码
powershell 复制代码
mysql -uroot -p
5. 然后输入默认自动生成的密码后
powershell 复制代码
# 注意:默认密码策略validate_password要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且总密码长度至少为8个字符。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

二、tar包方式

一、下载安装包

官网下载安装包

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

  • 如图示,选择MySQL Community Server

  • 如图示,选择对应版本进行下载,此处我的选择是8.0.33

  • 点击下载按钮弹出下图,点击红框中的连接,跳过登录,直接下载

二、安装mysql
  • 使用命令查看是否存在mysql
powershell 复制代码
rpm -qa|grep -i mysql

如果运行命令之后没有出现任何内容,表示没有安装过mysql,如果有出现,则删除。

  • 停止mysql服务,删除所有关于mysql的文件
powershell 复制代码
service mysql stop
find / -name mysql
  • rm 掉上面命令的结果即可

  • 解压安装mysql

    将压缩包上传至要进行安装的服务器

    使用下方的命令进行解压,根据实际安装包名称进行修改

powershell 复制代码
tar xvJf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
  • 可选是否重命名和移动到其他目录
    这里因我嫌名字长,就改了名称和移动到了其他目录
powershell 复制代码
mv mysql-8.0.33-linux-glibc2.12-x86_64 /usr/MYSQL/mysql-8.0.33
  • 创建data文件夹
    进入解压后的mysql根目录,创建data文件夹
powershell 复制代码
cd /usr/MYSQL/mysql-8.0.33
mkdir data
三、配置MYSQL
  • 创建mysql组和用户
powershell 复制代码
# 创建mysql组
groupadd mysql
# 创建mysql用户
useradd -g mysql mysql
  • 赋权
    将安装的MySQL权限给mysql用户
powershell 复制代码
# 命令,chown -R "mysql组名"."mysql用户名" "mysql安装根目录
chown -R mysql.mysql /usr/MYSQL/mysql-8.0.33
  • mysql初始化
powershell 复制代码
./mysqld --user=mysql --basedir=/usr/MYSQL/mysql-8.0.33 --datadir=/usr/MYSQL/mysql-8.0.33/data --lower-case-table-names=1 --initialize
  • 运行结束后如图示,请记住临时密码
powershell 复制代码
A temporary password is generated for root@localhost: 临时密码
  • 修改MySQL配置文件
    将此文件改为以下全部内容
powershell 复制代码
vim /etc/my.cnf

[mysqld]
port=3306
basedir=/usr/MYSQL/mysql-8.0.33/ # MySQL根目录
datadir=/usr/MYSQL/mysql-8.0.33/data/ # MySQL的data目录
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
symbolic-links=0
lower_case_table_names=1
#解决"java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list,references column"
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
四、添加服务到系统
  • 按顺序执行命令

  • 进入MySQL根目录,直接复制粘贴命令即可。

powershell 复制代码
cp -a ./support-files/mysql.server /etc/init.d/mysql
  • 授权
powershell 复制代码
chmod +x /etc/init.d/mysql
  • 添加服务,直接复制
powershell 复制代码
chkconfig --add mysql
五、启动mysql
powershell 复制代码
service mysql start
  • 将MySQL命令添加到服务,这一步是为了能在任何地方通过用户名和密码登录MySQL
powershell 复制代码
ln -s /usr/MYSQL/mysql-8.0.33/bin/mysql /usr/bin
  • 登录mysql
powershell 复制代码
mysql -uroot -p 输入上面的临时密码
  • 修改临时密码
powershell 复制代码
ALTER USER USER() IDENTIFIED BY '123456';
  • 刷新,使新密码生效
powershell 复制代码
FLUSH PRIVILEGES;

四、参考文章

相关推荐
Starry-sky(jing)34 分钟前
Win11 装 ESP32 Arduino 库卡 3 小时?我把官方 3.3.10 全平台 522MB 搬到了蓝奏云,解压即用
运维·windows·esp32·arduino·离线安装
小此方1 小时前
Re:Linux系统篇(四十二)通信篇·七:SystemV标准三部曲其之三:信号量与并发编程初步认识
linux·运维·驱动开发
画中有画8 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化
Piko61410 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
JAVA面经实录91710 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
万联WANFLOW13 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
SkyWalking中文站15 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
艾莉丝努力练剑15 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间16 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R16 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库