OpenEuler 系统中安装 MySQL

本教程适用于 OpenEuler 20.03 LTS、22.03 LTS 等主流版本,全程使用 root 权限操作(也可通过sudo提升权限)。

一、环境准备

1.1 检查系统版本与权限

首先登录 OpenEuler 系统,执行以下命令确认系统版本,确保符合安装要求:

bash

运行

查看OpenEuler系统版本

cat /etc/openEuler-release

确认当前用户为root(非root用户需在命令前加sudo)

whoami

输出示例(符合要求):

plaintext

openEuler release 22.03 LTS

root

1.2 清理系统残留组件

OpenEuler 默认可能预装 MariaDB(与 MySQL 冲突),需先清理残留的 MySQL/MariaDB 相关组件:

bash

运行

查看已安装的MySQL/MariaDB相关组件

rpm -qa | grep -E 'mysql|mariadb'

卸载相关组件(将查询结果中的组件名替换到命令中,示例如下)

rpm -e --nodeps mariadb-libs-5.5.68-1.oe1.x86_64

再次检查,确保无残留

rpm -qa | grep -E 'mysql|mariadb'

若输出为空,说明清理完成。

1.3 配置系统依赖与网络

确保系统可访问互联网,并安装必要的依赖包:

bash

运行

更新系统软件包(可选,建议执行)

dnf update -y

安装wget、net-tools等基础工具(用于后续操作)

dnf install -y wget net-tools

二、配置 MySQL 官方 YUM 源

OpenEuler 的默认源中没有 MySQL 8.0,需手动添加 MySQL 官方 YUM 源:

bash

运行

进入yum源配置目录

cd /etc/yum.repos.d/

下载MySQL 8.0的yum源配置文件(适配RHEL 8/9的版本,兼容OpenEuler)

wget https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm

安装yum源配置包

rpm -ivh mysql80-community-release-el8-3.noarch.rpm

检查yum源是否生效

dnf repolist enabled | grep mysql

输出中出现mysql80-community说明源配置成功。

三、安装 MySQL 8.0

执行以下命令安装 MySQL 服务器包:

bash

运行

安装MySQL 8.0服务器

dnf install -y mysql-community-server

安装过程中会自动解决依赖,等待安装完成即可。

四、初始化与配置 MySQL

4.1 启动 MySQL 服务并设置开机自启

bash

运行

启动MySQL服务

systemctl start mysqld

设置开机自启

systemctl enable mysqld

查看MySQL服务状态

systemctl status mysqld

若输出中出现active (running),说明服务启动成功。

4.2 获取初始密码并修改

MySQL 8.0 安装后会生成临时初始密码,存储在日志文件中:

bash

运行

查找初始密码(注意密码包含特殊字符)

grep 'temporary password' /var/log/mysqld.log

输出示例:

plaintext

2025-05-20T08:12:34.567890Z 6 Note MY-010454 Server A temporary password is generated for root@localhost: Abc123!@#

其中Abc123!@#就是初始密码,接下来登录 MySQL 并修改密码:

bash

运行

登录MySQL(输入上述初始密码)

mysql -uroot -p

修改root密码(密码需满足:至少8位,包含大小写字母、数字和特殊字符)

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';

刷新权限

FLUSH PRIVILEGES;

4.3 配置远程访问(可选)

默认情况下,MySQL 的 root 用户仅允许本地访问,若需要远程连接(如用 Navicat、DBeaver),需执行以下配置:

sql

-- 允许root用户从任意主机远程访问(%表示任意主机,也可替换为具体IP)

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'MyNewPass123!' WITH GRANT OPTION;

-- 刷新权限

FLUSH PRIVILEGES;

-- 退出MySQL

EXIT;

同时,需开放 OpenEuler 的 3306 端口(MySQL 默认端口):

bash

运行

临时开放3306端口(重启网络后失效)

firewall-cmd --add-port=3306/tcp --permanent

重新加载防火墙规则

firewall-cmd --reload

查看端口是否开放

firewall-cmd --query-port=3306/tcp

输出yes说明端口开放成功。

五、验证 MySQL 安装与使用

5.1 本地连接验证

bash

运行

重新登录MySQL(使用新设置的密码)

mysql -uroot -pMyNewPass123!

查看MySQL版本

SELECT VERSION();

退出MySQL

EXIT;

输出 MySQL 8.0 的版本号,说明本地连接正常。

5.2 远程连接验证(可选)

使用远程数据库工具(如 Navicat),输入以下信息连接:

主机:OpenEuler 系统的 IP 地址

端口:3306

用户名:root

密码:你设置的新密码

若能成功连接,说明远程访问配置生效。

六、常见问题解决

安装时提示 "GPG 密钥验证失败":

执行命令导入 MySQL 官方 GPG 密钥:

bash

运行

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

忘记 MySQL 密码:

可通过停止 MySQL 服务,跳过权限表验证的方式重置密码(具体步骤可参考 MySQL 官方文档)。

3306 端口无法访问:

检查防火墙是否开放端口,或云服务器的安全组是否放行 3306 端口。

总结

在 OpenEuler 中安装 MySQL 8.0 的核心步骤为:清理残留组件→配置官方 YUM 源→安装 MySQL→启动服务→修改初始密码→配置远程访问(可选)。

MySQL 的初始密码存储在/var/log/mysqld.log中,新密码需满足复杂度要求(大小写字母 + 数字 + 特殊字符)。

远程访问需授权root@%并开放 3306 端口,才能实现外部工具连接。

相关推荐
广州灵眸科技有限公司5 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
大耳朵-小飞象7 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技7 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
Cloud云卷云舒7 小时前
云卷云舒:从Oracle/MySQL迁移到HaishanDB:迁移评估工具核心技术拆解
mysql·oracle·ai-native·haishandb·信创数据库替换
憧憬成为web高手8 小时前
皮卡丘靶场速通--sql 2
数据库·sql·mybatis
段一凡-华北理工大学8 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
oradh10 小时前
Oracle XTTS实现跨版本迁移和升级(Oracle 11g单库升级至19C RAC集群)
数据库·oracle·11g升级19c·xtts跨版本迁移和升级
生活爱好者!10 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
用户713335851562410 小时前
MySQL - 事务、redo/undo 日志与 MVCC
mysql
z1234567898611 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程