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 端口,才能实现外部工具连接。

相关推荐
张人玉1 小时前
c# Data相关类
数据库·oracle
wniuniu_1 小时前
ceph中的rbd的稀疏写入
java·服务器·数据库
科技块儿2 小时前
如何使用IP数据云数据库接入流量监控?
数据库·网络协议·tcp/ip
为什么不问问神奇的海螺呢丶2 小时前
SFTP搭建-自动检测上传文件修改权限-rsync 自动同步到其他服务器
运维·服务器
山沐与山2 小时前
【Docker】Docker容器技术详解
运维·docker·容器
梦想的旅途22 小时前
探索界面自动化技术在企业微信外部群管理中的应用场景与实现思路
运维·自动化·企业微信
叮咚侠2 小时前
Ubuntu 24.04.3 LTS如何扩容逻辑卷
linux·数据库·ubuntu
张人玉2 小时前
c#DataTable类
数据库·c#
风月歌2 小时前
基于微信小程序的学习资料销售平台源代码(源码+文档+数据库)
java·数据库·mysql·微信小程序·小程序·毕业设计·源码