Rocky Linux 9.0 安装 MySQL8.x详细教程

1.安装 MySQL 官方 Yum 源

下载 MySQL 8.0 仓库 RPM:

bash 复制代码
cd /opt

wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

安装:

bash 复制代码
dnf install mysql80-community-release-el9-1.noarch.rpm -y

检查仓库:

bash 复制代码
dnf repolist | grep mysql

如下图所示:

  1. MySQL 8.0.46 使用了新的 GPG key,Rocky 9 缓存了旧 key,得删除掉

2.1 删除旧 MySQL key

查看:

bash 复制代码
rpm -qa gpg-pubkey*

找到如下,例如:

gpg-pubkey-3a79bd29-xxxx

删除:

bash 复制代码
rpm -e gpg-pubkey-3a79bd29-xxxx

注意:gpg-pubkey-3a79bd29-xxxx,是你自己的

2.2 导入新的 MySQL key

bash 复制代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql


rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

2.3 清理 dnf 缓存

bash 复制代码
dnf clean all
rm -rf /var/cache/dnf

2.4 安装

bash 复制代码
dnf install mysql-community-server -y

2.5 查看安装的版本

bash 复制代码
mysql --version

3.启动服务

3.1 启动mysql 服务

bash 复制代码
systemctl start mysqld

3.2 设置开机启动:

bash 复制代码
systemctl enable mysqld

3.3 查看状态:

bash 复制代码
systemctl status mysqld
  1. 获取 MySQL 临时 root 密码

MySQL 8 初始化会生成随机密码

bash 复制代码
grep 'temporary password' /var/log/mysqld.log

内容如下:

2026-07-13T08:58:57.396996Z 6 Note MY-010454 Server A temporary password is generated for root@localhost: .0qbp,.a>l8N

可以看到:localhost: 后面的是密码

5.初始化安全配置

bash 复制代码
mysql_secure_installation

输入上面的临时密码,并且设置新的密码:

注意:MySQL 8 默认密码策略较强,密码例如:Mysql@123456

再输入密码之后,会有一系列的操作,例如:

5.1 删除匿名用户

Remove anonymous users? =》y

5.2 禁止 root 远程登录

Disallow root login remotely? =》N

5.3 删除测试库

Remove test database? =》Y

6.登录测试

bash 复制代码
mysql -uroot -p

7.配置远程访问

vim /etc/my.cnf

bash 复制代码
[mysqld]

bind-address=0.0.0.0

保存,重启。

bash 复制代码
systemctl restart mysqld

再次重新登录,访问即可

8.登录密码太繁琐,可以简化密码设置

MySQL 8 的密码策略限制可以降低。

8.1 登录mysql数据库

mysql -uroot -p

8.2 查看当前策略:

bash 复制代码
SHOW VARIABLES LIKE 'validate_password%';

如下图所示:

改成 LOW

bash 复制代码
SET GLOBAL validate_password.policy=LOW;

然后降低长度:

bash 复制代码
SET GLOBAL validate_password.length=6;

设置密码:

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

退出mysql,重新登录即可。

9.修改 root用户的远程访问

复制代码
use mysql;

select User,host from user;

update user set host='%' where User='root';

flush privileges;

select User,host from user;

如下图所示:

重新登录即可。

到此安装完毕。

相关推荐
猿与禅1 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim
前端世界1 小时前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮1 小时前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶
九皇叔叔1 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
云和恩墨1 小时前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
MetaLite2 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Wang's Blog4 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
蓝速科技6 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析6 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
泡泡鱼(敲代码中)6 小时前
MySQL基础学习笔记:从数据模型到DDL全掌握
开发语言·数据库·笔记·学习·mysql