Fedora 作为基于 RPM 的先进 Linux 发行版,自带了非常完善的软件包管理工具 DNF,这使得在系统中部署数据库变得异常简单。很多开发者第一次接触 Fedora 时,往往会遇到软件源配置、服务启动或者权限设置的小问题。本教程将跳过所有复杂的编译过程,直接使用官方仓库完成 MySQL 的安装与基础配置,确保你能在短时间内得到一个安全可用的数据库环境。
第一步:更新系统并清理冲突软件
在安装任何新软件之前,保持系统处于最新状态是避免依赖冲突的最佳实践。打开终端,输入 sudo dnf update -y 命令。这条指令会刷新软件源缓存,并将现有的系统组件升级到最新版本。如果你的机器上曾经尝试过 MariaDB 或者旧版本的 MySQL,建议先执行 sudo dnf remove mariadb-server mysql-server 进行清理。Fedora 默认预装的是 MariaDB,它虽然兼容 MySQL,但在某些企业级场景下需要严格的 MySQL 协议支持,因此彻底移除旧包能防止端口占用和配置文件混乱。
第二步:启用官方软件源并安装
Fedora 的核心仓库中并不直接包含 MySQL 的最新稳定版,我们需要添加 MySQL 官方提供的软件源。首先下载官方源配置包,执行 curl -O https://dev.mysql.com/get/mysql80-community-release-fc38.noarch.rpm 。注意如果你的 Fedora 版本不是 38,请将 fc38 替换为对应的版本号,例如 fc37 或 fc39。下载完成后,使用 sudo dnf install -y ./mysql80-community-release-fc*.noarch.rpm 导入源。接下来,运行 sudo dnf install -y mysql-community-server 开始正式安装。DNF 会自动解析所有依赖关系,期间只需按 y 确认即可。安装速度取决于你的网络状况,通常几分钟内就能完成。
第三步:启动服务并设置开机自启
安装完成后,数据库并不会自动运行。MySQL 使用 systemd 管理服务,你需要执行 sudo systemctl start mysqld 来手动启动守护进程。为了确保每次服务器重启后数据库都能自动上线,请执行 sudo systemctl enable mysqld。你可以用 sudo systemctl status mysqld 查看当前状态,如果看到 active running 以及绿色的进度条提示,说明服务已经健康运行。此时数据库的数据目录会在首次启动时自动初始化,生成默认的临时密码和基础表结构。
第四步:获取临时密码并完成安全加固
初次启动后,MySQL 会在日志文件中生成一个随机的高强度临时密码。要找到这个密码,执行 sudo grep temporary password /var/log/mysqld.log。复制输出的那串字符,然后运行 sudo mysql_secure_installation 进入交互式安全设置向导。程序会依次询问是否修改 root 密码、删除匿名用户、禁止 root 远程登录以及移除测试数据库。强烈建议全部选择 yes。在设置新密码时,务必遵循大小写字母、数字和特殊符号组合的规则,MySQL 8.0 默认启用了强密码插件,弱密码会被直接拒绝。
第五步:开放防火墙与配置远程访问
如果你打算从其他电脑连接这台 Fedora 服务器上的 MySQL,还需要调整防火墙策略。默认情况下,firewalld 会拦截所有非本地请求。执行 sudo firewall-cmd --permanent --add-service=mysql 将 MySQL 默认端口三三零六加入白名单,随后运行 sudo firewall-cmd --reload 使配置生效。接着,登录数据库执行 mysql -u root -p,输入刚才设置的密码进入命令行界面。在 mysql 提示符下,依次输入 create user your_username at percent identified by your_password 创建新用户,再输入 grant all privileges on dot star to your_username at percent with grant option 赋予远程访问权限,最后执行 flush privileges 刷新权限表。至此,外部客户端就可以通过 IP 地址和三三零六端口成功连接了。
日常维护与常见问题排查
数据库跑起来之后,日常的运维工作主要集中在日志监控和资源管理上。如果遇到连接数爆满或者查询缓慢的情况,可以使用 top 和 vmstat 观察内存与 CPU 负载。MySQL 的配置文件位于 etcmy.cnf,大多数参数可以通过修改该文件中的 datadir 路径来调整数据存储位置。定期备份是底线操作,推荐使用 mysqldump 导出核心业务库,结合 cron 定时任务实现自动化归档。当系统升级或内核更换导致服务无法启动时,优先检查 varlogmysqldlog 中的报错信息,绝大部分的问题都能在日志里找到明确线索。掌握这些基础操作后,你就能在 Fedora 平台上稳定运行高可用的 MySQL 环境。



