在 华为欧拉系统(openEuler) 上安装 MySQL 与在 CentOS 上安装 MySQL 的过程非常相似,因为 openEuler 是基于 RPM 包管理系统 的 Linux 发行版,与 CentOS、RHEL 等 Red Hat 系发行版兼容性较好。不过,两者在一些细节上仍存在差异,主要体现在:
✅ 一、系统背景差异
| 项目 | 华为 openEuler | CentOS |
|---|---|---|
| 开发者 | 华为 | 社区(Red Hat 赞助) |
| 基础 | 基于 RHEL 源码 | 基于 RHEL 源码 |
| 包管理器 | dnf / yum |
yum / dnf |
| 默认仓库 | 华为官方仓库 | CentOS 官方仓库 |
| 适用场景 | 国产化替代、服务器、云原生 | 通用服务器、开发测试 |
✅ 二、MySQL 安装方式对比
1. 使用系统仓库安装
openEuler:
sudo dnf install mysql-server
- 默认安装的是 MariaDB(兼容 MySQL 的开源分支),除非你手动添加 MySQL 官方仓库。
- openEuler 的官方仓库中通常不包含 MySQL 社区版本,而是提供 MariaDB。
CentOS:
sudo yum install mysql-server
- CentOS 7 默认安装的是 MariaDB。
- CentOS 8 默认使用
dnf,也倾向于使用 MariaDB。
⚠️ 两者默认仓库中都没有 MySQL 社区版本,需要手动添加 MySQL 官方仓库才能安装。
2. 使用 MySQL 官方仓库安装(推荐)
添加 MySQL 官方仓库(适用于 openEuler 和 CentOS)
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
注意:虽然仓库名为
el7,但也可以在 openEuler 或 CentOS 8/Stream 中使用,但需要确认兼容性。
安装 MySQL:
sudo dnf install mysql-server
✅ 三、配置和启动流程基本一致
sudo systemctl enable mysqld
sudo systemctl start mysqld
sudo systemctl status mysqld
- 安装完成后,首次启动会生成临时密码(在日志中查看):
sudo grep 'temporary password' /var/log/mysqld.log
✅ 四、主要区别总结
| 对比项 | openEuler | CentOS |
|---|---|---|
| 默认仓库是否包含 MySQL | ❌(MariaDB) | ❌(MariaDB) |
| 官方支持 MySQL 的程度 | 一般,需手动添加仓库 | 一般,需手动添加仓库 |
| 包管理器 | dnf/yum | yum/dnf |
| 系统服务管理 | systemd | systemd |
| SELinux 支持 | 无(默认使用 AppArmor) | 有(默认使用 SELinux) |
| 日志路径 | /var/log/mysqld.log | /var/log/mysqld.log |
| 安全加固策略 | AppArmor | SELinux |
| 国产化适配 | ✔️(适配鲲鹏、麒麟、统信等生态) | ❌ |
✅ 五、注意事项
-
AppArmor vs SELinux
- openEuler 默认使用 AppArmor,而 CentOS 使用 SELinux。
- 如果你使用的是 MySQL 官方 RPM 包,注意 SELinux 策略文件可能不适用于 AppArmor。
-
国产化适配
- openEuler 更适合用于国产化替代场景(如华为鲲鹏芯片、麒麟操作系统等)。
- CentOS 更适合通用服务器环境。
-
MySQL 版本控制
- 推荐使用 MySQL 官方仓库,避免版本差异。
✅ 六、建议安装流程(通用)
# 添加 MySQL 官方仓库(适用于 openEuler 和 CentOS)
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
# 安装 MySQL
sudo dnf install mysql-server
# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 查看临时密码
sudo grep 'temporary password' /var/log/mysqld.log
# 初始化安全设置
sudo mysql_secure_installation
✅ 总结
| 项目 | openEuler | CentOS |
|---|---|---|
| 安装命令 | 类似 | 类似 |
| 默认 MySQL 支持 | ❌(提供 MariaDB) | ❌(提供 MariaDB) |
| 适配国产生态 | ✅ | ❌ |
| 安全模块 | AppArmor | SELinux |
| 适用场景 | 国产服务器、云平台 | 通用服务器、测试环境 |
如你是在国产化替代项目中部署 MySQL,建议使用 openEuler;如是通用项目,CentOS 仍然适用。
如需我提供一个 openEuler 下安装 MySQL 8 的完整脚本或步骤,也可以告诉我,我可以为你写一份。
云知识