Rocky Linux 10安装MySQL 8.0:从官方仓库部署到安全配置全指南
1. 先搞清楚为什么要在Rocky Linux 10上装MySQL 9.7如果你正在看这篇文章大概率是需要在Rocky Linux 10这个相对较新的企业级Linux发行版上部署一个稳定且功能较新的MySQL数据库。MySQL 9.7这个版本号听起来很新但需要先明确一点截至我写这篇文章时MySQL的稳定发布版是8.0系列而9.x系列如9.0, 9.1, 9.2等是创新版Innovation Release通常用于预览新功能不建议直接用于生产环境。所以这里的“MySQL 9.7”很可能是一个笔误或者是指某个特定的开发分支、测试版本。对于绝大多数实际应用场景我们追求的是稳定性和长期支持。因此本文的核心将分为两部分第一部分我会带你完成在Rocky Linux 10上安装当前最主流的稳定版MySQL 8.0的标准流程这是你未来部署生产环境的基础。第二部分我会解释如果你确实需要尝试MySQL 9.x这样的创新版应该如何去寻找和安装并告诉你其中需要特别注意的风险和步骤差异。无论你的目标是学习、测试还是为生产环境做准备第一步都不是直接运行安装命令而是先理清版本选择、准备好安装环境。Rocky Linux作为RHEL的替代品其软件仓库策略和RHEL/CentOS Stream类似默认不提供最新版的MySQL。这意味着我们通常需要从MySQL官方或第三方仓库获取安装包这个“获取来源”的选择直接关系到后续的升级、维护和安全性。2. 安装前的环境准备与关键决策在敲下任何安装命令之前有几步准备工作比安装本身更重要。这些步骤决定了你的安装过程是顺畅还是充满未知错误。2.1 系统更新与基础依赖检查首先确保你的Rocky Linux 10系统是最新的。这不是例行公事很多依赖库的冲突可以通过系统更新解决。sudo dnf update -y更新完成后安装一些基础工具和库这些是后续步骤或MySQL运行可能需要的。sudo dnf install -y wget curl vim gnupg2 policycoreutils-python-utils2.2 关键决策选择MySQL安装源这是最核心的一步。在Rocky Linux上安装MySQL主要有三个来源Rocky Linux默认AppStream仓库最省事但版本通常较旧可能是MySQL 8.0的某个小版本。适合对版本不敏感、追求极致稳定与系统其他组件兼容性最好的场景。MySQL官方Yum仓库推荐给大多数用户。由Oracle MySQL团队直接维护能第一时间获得最新稳定版8.0系列和安全更新。这是平衡“较新”和“稳定”的最佳选择。从源码编译或通用二进制包安装最灵活可以安装任何版本包括9.x但过程复杂需要自行解决所有依赖和后续的服务管理。仅适用于有特殊版本需求或深度定制的场景。对于新手和绝大多数应用我强烈建议使用MySQL官方Yum仓库。它提供了自动化的仓库配置、GPG密钥管理和便捷的升级路径。下面我们就按这个方案进行。2.3 清理可能存在的旧版本如果你的系统上曾经安装过MariaDB或旧版MySQL必须先彻底清理否则会导致冲突。执行以下命令检查和清理# 检查已安装的MySQL或MariaDB包 sudo dnf list installed | grep -E ‘mysql|mariadb’ # 如果发现有则卸载它们。注意包名可能略有不同。 sudo dnf remove -y mysql* mariadb* # 同时删除旧的数据文件和配置文件谨慎操作这会删除所有旧数据 sudo rm -rf /var/lib/mysql sudo rm -rf /etc/my.cnf /etc/my.cnf.d/注意rm -rf /var/lib/mysql会删除所有已有的MySQL数据。只有在全新安装或确认数据已备份的情况下才能执行。3. 通过MySQL官方仓库安装MySQL 8.0这是标准且可靠的操作流程。我们将从MySQL官网获取仓库配置然后进行安装和初始化。3.1 添加MySQL官方Yum仓库访问MySQL官网的Yum仓库下载页面找到对应RHEL 10Rocky Linux兼容的仓库安装包链接。通常可以使用wget直接下载。# 下载MySQL的Yum仓库安装包 sudo wget https://dev.mysql.com/get/mysql80-community-release-el10-1.noarch.rpm # 如果上述链接失效请去官网 https://dev.mysql.com/downloads/repo/yum/ 查找最新链接 # 安装该仓库包 sudo dnf install -y mysql80-community-release-el10-1.noarch.rpm安装成功后这个仓库配置文件会出现在/etc/yum.repos.d/目录下。你可以验证一下ls /etc/yum.repos.d/ | grep mysql3.2 安装MySQL服务器启用官方仓库后安装就变得非常简单。sudo dnf install -y mysql-community-server这个命令会安装MySQL服务器核心包及其所有依赖包括客户端、共享库等。安装过程可能会提示你接受GPG密钥确认即可。3.3 启动MySQL服务并设置开机自启安装完成后需要启动服务并让它随系统启动。# 启动MySQL服务 sudo systemctl start mysqld # 设置开机自启 sudo systemctl enable mysqld # 检查服务运行状态 sudo systemctl status mysqld看到active (running)的状态说明MySQL服务已经成功启动。3.4 获取初始临时密码并安全加固MySQL 8.0在首次启动后会为root用户生成一个临时随机密码并记录在日志文件中。这是重要的安全措施。# 从日志中抓取临时密码 sudo grep ‘temporary password’ /var/log/mysqld.log输出类似2024-01-01T00:00:00.000000Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost: JqweK12#asdF。记下冒号后面的密码JqweK12#asdF。接下来运行安全安装脚本进行初始化配置包括修改root密码、移除匿名用户、禁止远程root登录等。sudo mysql_secure_installation按照提示操作输入刚才获取的临时密码。提示是否更改root密码选是 (y)并设置一个强密码需包含大小写字母、数字和特殊字符。移除匿名用户选是 (y)。禁止root远程登录建议选是 (y)。如果需要远程管理应创建具有所需权限的专用账户。删除测试数据库选是 (y)。立即重新加载权限表选是 (y)。3.5 验证安装与基本连接完成安全配置后尝试用新密码登录MySQL。mysql -u root -p输入你刚设置的root密码成功后会进入MySQL命令行提示符mysql。执行一个简单命令验证SELECT VERSION();你应该能看到类似8.0.xx的版本号输出。输入exit;退出。至此一个稳定、安全的MySQL 8.0服务器已经在你的Rocky Linux 10上安装并运行起来了。4. 基础配置与远程访问设置可选但重要默认安装的MySQL只允许本地连接。如果你的应用或开发机器需要从其他服务器访问这个数据库需要进行配置。4.1 配置MySQL监听地址编辑MySQL的主配置文件sudo vim /etc/my.cnf在[mysqld]部分找到bind-address这一行。默认可能是bind-address 127.0.0.1或bind-address ::1这表示只监听本地IPv4或IPv6。要允许所有网络接口连接可以将其改为bind-address 0.0.0.0警告将bind-address设置为0.0.0.0意味着MySQL将监听所有IP地址包括公网IP。请确保你已通过防火墙和强密码策略来保护数据库否则可能带来安全风险。生产环境中更安全的做法是只监听特定的内网IP。4.2 创建远程访问用户替代远程root登录如前所述不建议直接允许root远程登录。更好的做法是创建一个有特定权限的专用用户。首先用root登录MySQLmysql -u root -p然后执行以下SQL语句请将‘your_strong_password’和‘your_app_username’替换为实际值将‘192.168.1.%’替换为允许连接的客户端IP段-- 创建一个新用户并允许从指定IP段连接 CREATE USER ‘your_app_username’‘192.168.1.%’ IDENTIFIED BY ‘your_strong_password’; -- 授予该用户对特定数据库的所有权限以‘mydatabase’为例 GRANT ALL PRIVILEGES ON mydatabase.* TO ‘your_app_username’‘192.168.1.%’; -- 或者授予所有数据库的所有权限谨慎使用 -- GRANT ALL PRIVILEGES ON *.* TO ‘your_app_username’‘192.168.1.%’; -- 立即刷新权限使更改生效 FLUSH PRIVILEGES;4.3 配置防火墙如果使用firewalldRocky Linux 10默认使用firewalld。需要开放MySQL默认的3306端口。# 永久开放3306/tcp端口 sudo firewall-cmd --permanent --add-port3306/tcp # 重新加载防火墙配置 sudo firewall-cmd --reload # 验证端口是否开放 sudo firewall-cmd --list-ports | grep 3306完成以上步骤后重启MySQL服务使监听地址的配置生效sudo systemctl restart mysqld现在你应该可以从指定IP段的客户端使用新创建的用户名和密码连接到这台MySQL服务器了。5. 关于“MySQL 9.7”探索与风险须知现在来谈谈标题中的“MySQL 9.7”。正如开头所说这不是一个广泛可用的稳定版本。如果你因为特定功能测试或学习目的确实需要尝试MySQL 9.x系列以下是你的路径和必须知道的坑。5.1 理解MySQL的版本策略长期支持版本 (LTS)如 MySQL 8.0。提供长达数年的错误修复和安全更新是生产环境的唯一选择。创新版本 (Innovation Release)如 MySQL 9.0, 9.1...。每季度发布包含最新实验性功能生命周期短约9个月不适用于生产。“MySQL 9.7”这个版本号在官方发布序列中并不常见它可能指向某个非常具体的开发快照Nightly Build。社区分支或第三方维护的版本。输入材料中的笔误。5.2 如何寻找和安装非标准版本如果你的需求是真实的可以按以下步骤尝试但请务必在虚拟机或隔离环境中进行访问MySQL开发者专区去MySQL官网的下载页面寻找“Development Releases”或“MySQL Community Server”的源码包部分。你可能需要下载对应版本的源码包Source Code或通用Linux二进制包Generic Linux。使用通用二进制包安装相对推荐下载类似mysql-9.7.0-linux-glibc2.28-x86_64.tar.xz的包。解压到目标目录例如/usr/local/mysql。创建mysql用户和组。手动初始化数据目录 (./mysqld --initialize)。手动创建配置文件(my.cnf)和服务单元文件(mysqld.service)。整个过程复杂且需要自行处理所有依赖库如libaio,numactl等。从源码编译最复杂需要安装编译工具链和所有开发库通过cmake配置make编译。除非有极特殊的定制需求否则不推荐。5.3 主要风险与挑战稳定性未知创新版可能包含未经验证的代码容易崩溃或出现数据问题。缺乏安全更新生命周期结束后将不再收到安全补丁。兼容性问题可能与现有的客户端驱动、ORM框架如Python的SQLAlchemy Java的Hibernate不兼容。升级路径困难未来很难平滑升级到未来的LTS版本可能需要数据逻辑导出/导入。文档和支持匮乏社区讨论和解决方案远不如8.0丰富。我的建议是除非你有非常明确且强烈的理由必须使用9.x的某个独有功能进行非生产环境的评估否则请坚定不移地选择MySQL 8.0 LTS。对于学习和绝大多数开发测试8.0的功能已经绰绰有余且稳定可靠。6. 安装后的基本运维与故障排查安装成功只是第一步知道如何维护和快速排错同样重要。6.1 常用管理命令# 服务管理 sudo systemctl start mysqld # 启动 sudo systemctl stop mysqld # 停止 sudo systemctl restart mysqld # 重启 sudo systemctl status mysqld # 查看状态 sudo systemctl enable mysqld # 开机自启 sudo systemctl disable mysqld # 禁用开机自启 # 查看日志实时查看尾部 sudo journalctl -u mysqld -f # 或查看日志文件 sudo tail -f /var/log/mysqld.log6.2 连接失败的常见原因排查检查清单当你无法连接MySQL时按以下顺序排查服务是否运行sudo systemctl status mysqld如果不是active (running)先看日志找原因sudo journalctl -u mysqld -n 50。用户权限是否正确是否用对了用户名和密码用户是否被创建CREATE USER执行成功了吗用户的host部分如‘%’或‘192.168.1.%’是否包含了你的客户端IP是否执行了FLUSH PRIVILEGES网络和防火墙是否通畅在服务器本地用mysql -u username -p能连上吗如果能说明是网络问题。检查服务器防火墙是否开放了3306端口sudo firewall-cmd --list-ports。检查云服务商如AWS安全组、阿里云安全组的入站规则。尝试从客户端telnet 服务器IP 3306看端口是否可达。MySQL是否监听在正确地址检查/etc/my.cnf中的bind-address。在服务器上运行sudo ss -tlnp | grep 3306看监听地址是0.0.0.0:3306还是127.0.0.1:3306。是否修改了默认端口检查配置文件中是否有port 3307之类的设置。6.3 性能与配置调优起点安装后默认配置适合小型应用。如果压力增大可以考虑调整/etc/my.cnf中的以下参数需重启服务生效[mysqld] # 缓冲池大小通常是系统内存的50%-70%但不要超过可用内存 innodb_buffer_pool_size 1G # 连接数相关 max_connections 200 thread_cache_size 10 # 日志相关 slow_query_log 1 long_query_time 2修改任何参数前最好先备份原配置文件。调整后务必通过sudo systemctl restart mysqld重启服务并观察日志和系统资源使用top,htop或mysqladmin status是否正常。7. 总结从安装到可用的务实路径在Rocky Linux 10上部署MySQL最稳妥、最高效的路径就是通过MySQL官方Yum仓库安装MySQL 8.0 LTS版本。这个过程自动化程度高后续升级方便社区支持完善。不要被非标准的版本号分散注意力除非你有极其特殊的、非生产的需求。整个流程的关键点在于准备阶段清理旧版本、安装阶段选对官方源、初始化阶段牢记改密码做安全加固、配置阶段按需开放远程访问并严守防火墙。安装完成后把日常的服务管理命令和连接故障排查清单放在手边能解决90%的初期问题。对于数据库这类有状态的核心服务我个人的习惯是在正式投入业务使用前一定会用测试数据模拟一下基本的增删改查操作并检查错误日志里是否有异常。确认一切平稳后再开始接入应用。这样能避免很多“安装成功却用不起来”的尴尬。

相关新闻

全向应急广播系统在新疆哈密铜矿区上的应用

全向应急广播系统在新疆哈密铜矿区上的应用

新疆哈密地区矿产资源丰富,铜矿开采是该区域工业经济的重要支柱。随着矿山安全生产要求的不断提升和智能化矿山建设的深入推进,全向应急广播系统作为矿山“六大系统”中通信联络系统的核心组成部分,正在哈密铜矿等矿山中应用,构筑…

2026/8/11 9:42:26 阅读更多 →
家里镜子千万别乱放!这5个位置是“禁区”,很多人第一个就踩坑了

家里镜子千万别乱放!这5个位置是“禁区”,很多人第一个就踩坑了

镜子家家都有,但你知道镜子放不对位置,不仅影响心情,还可能影响睡眠和健康吗?今天用大白话讲清楚镜子摆放的5个“禁区”,附赠自查方法和调整方案,花3分钟看完,回家就能用。|开篇&…

2026/8/11 9:42:26 阅读更多 →
单片机毕设选题推荐:基于 51 单片机的多传感器采集与继电器联动智能环境系统实现 基于 STM32 的室内安防与环境参数一体化监测控制系统设计(017902)

单片机毕设选题推荐:基于 51 单片机的多传感器采集与继电器联动智能环境系统实现 基于 STM32 的室内安防与环境参数一体化监测控制系统设计(017902)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/11 9:42:26 阅读更多 →

最新新闻

3分钟快速部署:Simple Server本地HTTP服务器终极指南

3分钟快速部署:Simple Server本地HTTP服务器终极指南

3分钟快速部署:Simple Server本地HTTP服务器终极指南 【免费下载链接】simple-server 项目地址: https://gitcode.com/gh_mirrors/simpl/simple-server 在数字化开发时代,你是否曾为复杂的服务器配置而烦恼?想要一个简单、快速、免费…

2026/8/11 19:42:06 阅读更多 →
Video-Use开源AI视频编辑框架:如何实现300%创作效率提升?

Video-Use开源AI视频编辑框架:如何实现300%创作效率提升?

Video-Use开源AI视频编辑框架:如何实现300%创作效率提升? 【免费下载链接】video-use Edit videos with coding agents 项目地址: https://gitcode.com/GitHub_Trending/vid/video-use 你还在为视频剪辑而烦恼吗?传统视频编辑需要逐帧…

2026/8/11 19:42:06 阅读更多 →
如何安全备份重要对话?微信聊天记录恢复的终极解决方案

如何安全备份重要对话?微信聊天记录恢复的终极解决方案

如何安全备份重要对话?微信聊天记录恢复的终极解决方案 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 你是否曾经因为误删微信聊天记录而懊恼不已?那些珍贵的对话、重要的文件、美好的回忆&#xf…

2026/8/11 19:42:06 阅读更多 →
5分钟学会naniar的gg_miss_var:变量缺失模式可视化终极技巧

5分钟学会naniar的gg_miss_var:变量缺失模式可视化终极技巧

5分钟学会naniar的gg_miss_var:变量缺失模式可视化终极技巧 【免费下载链接】naniar Tidy data structures, summaries, and visualisations for missing data 项目地址: https://gitcode.com/gh_mirrors/na/naniar naniar是一个专注于缺失数据探索的R包&…

2026/8/11 19:42:06 阅读更多 →
Switch手柄PC适配完全指南:免费实现完美游戏体验的5个步骤

Switch手柄PC适配完全指南:免费实现完美游戏体验的5个步骤

Switch手柄PC适配完全指南:免费实现完美游戏体验的5个步骤 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.…

2026/8/11 19:42:06 阅读更多 →
WinThumbsPreloader-V2:终极Windows缩略图加速方案,让你的图片文件夹打开速度提升300%

WinThumbsPreloader-V2:终极Windows缩略图加速方案,让你的图片文件夹打开速度提升300%

WinThumbsPreloader-V2:终极Windows缩略图加速方案,让你的图片文件夹打开速度提升300% 【免费下载链接】WinThumbsPreloader-V2 WinThumbsPreloader V2 is a powerful open source tool for quickly preloading thumbnails in Windows Explorer. 项目地…

2026/8/11 19:41:06 阅读更多 →

日新闻

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南

如何用Video2X实现专业级视频画质提升:AI视频增强完整指南 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/8/11 0:00:02 阅读更多 →
前后端分离项目中控制台与接口工具数据差异排查指南

前后端分离项目中控制台与接口工具数据差异排查指南

1. 问题现象解析:控制台与Apifox的数据差异 最近在调试一个前后端分离项目时,遇到了一个典型问题:后端服务在本地开发环境控制台能正常输出查询数据,但通过Apifox测试时却返回空结果。这种"控制台有数据,接口工具…

2026/8/11 0:00:03 阅读更多 →
AI编程实战:从Claude Code踩坑到游戏开发入门

AI编程实战:从Claude Code踩坑到游戏开发入门

1. 从“AI能帮我做游戏”到“AI让我重新学编程”最近身边不少朋友,尤其是一些非技术背景、但对游戏开发有浓厚兴趣的朋友,都在问我同一个问题:“听说现在用Claude Code这种AI编程工具,小白也能做游戏了,是真的吗&#…

2026/8/11 0:00:03 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/11 1:08:05 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/11 1:08:05 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/11 1:08:05 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/11 1:08:06 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →