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;

如下图所示:

重新登录即可。

到此安装完毕。

相关推荐
DYWorker00128 分钟前
Linux驱动:RK3568 GMAC + YT8531C 千兆以太网全流程解剖
linux
lisanmengmeng2 小时前
NRPE 添加命令(一)
linux·运维·服务器
树下水月3 小时前
Typora破解
linux·服务器·前端
沫璃染墨3 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
写后端的胖头鱼3 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
wuminyu3 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
路远的数据库笔记4 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰4 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
深念Y4 小时前
rime-雾凇拼音-配置记录
linux·junit·软件·拼音·kde
kaiyou20264 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习