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;

四、参考文章

相关推荐
Yana.nice几秒前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月5 分钟前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
小白跃升坊33 分钟前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey1 小时前
【Linux】线程同步与互斥
linux·笔记
杨江1 小时前
seafile docker安装说明
运维
舰长1151 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀1 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng1 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.1 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独1 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3