news 2026/6/23 21:17:48

OpenEuler 系统中安装 MySQL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 端口,才能实现外部工具连接。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 19:15:52

VBA会被Python代替吗

VBA不会完全被Python取代、但Python在自动化、数据分析与跨平台开发等方面的优势使其越来越受欢迎、两者将长期并存且各具优势。 Python以其易于学习的语法、强大的开源生态系统和跨平台支持,逐渐成为自动化和数据分析领域的主流工具。然而,VBA依旧在Exc…

作者头像 李华
网站建设 2026/6/23 10:18:17

python与nodejs哪个性能高

在一般的Web开发和高并发场景中,Node.js的性能通常优于Python,特别是在处理大量异步任务和实时应用时更具优势;而在数据分析、机器学习及计算密集型任务中,Python则表现出更高的性能优势。 Node.js以事件驱动的非阻塞I/O模型著称&…

作者头像 李华
网站建设 2026/6/23 17:09:00

【含文档+PPT+源码】基于小程序的智能停车管理系统设计与开发

选题的背景城市化进程的不断加快以及城市居民汽车保有量的持续增加,造成城市道路上停车难的问题更加突出。目前城市的停车主要存在停车难、停车管理效率低、停车体验差等状况,传统的停车管理手段已不能够应付越来越大的停车需求[1]。 本课题的目的是以小…

作者头像 李华
网站建设 2026/6/23 17:19:22

Doris的自增列介绍

好的,我们来介绍 Doris 中的 自增列 功能。 在 Doris(一个开源的、基于 MPP 架构的分布式 SQL 数据仓库)中,自增列 是一种特殊的列类型,其主要目的是为表中的每一行数据自动生成一个全局唯一且单调递增的整数值(BIGINT 类型)。这个特性在分布式数据库环境中尤其有价值,…

作者头像 李华
网站建设 2026/6/23 19:12:42

C++编程实践——多线程变量共享问题展开分析

一、问题现象描述 在C编程的技术点中,多线(进)程的编程是一个非常让人上头的内容。这种情况其实还可以拓展到一些抽象的场景,比如信号、消息和异步等情况。它们看上去和多线程关系不大,但其实内部和多线程都有着密不可…

作者头像 李华
网站建设 2026/6/23 7:31:19

【Android FrameWork】第三十六天:随机数EntropyMixer

Android EntropyService 在 Android 系统中,EntropyService(后更名为 EntropyMixer) 是保障随机数安全性的核心服务之一。 它通过维护内核熵池(Entropy Pool),解决了系统启动初期随机数可预测的问题&#x…

作者头像 李华