因为openEuler 默认仓库推荐的是 MySQL 8.0。由于是离线环境,我们需要提前在联网机上准备好所有依赖包。
以下是为步骤指南:
一、 准备工作(联网环境)
首先,下载官方的 Bundle 包(包含所有核心组件)。
访问 MySQL 官网下载页。
选择版本:5.7.x(建议最新版如 5.7.44)。
操作系统选择:Red Hat Enterprise Linux / Oracle Linux。
操作系统版本选择:Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)。
注:虽然是 openEuler,但 MySQL 5.7 官方主要维护的是 EL7 版本,在 openEuler 上通常通过安装
compat-openssl10来兼容运行。
下载 Bundle 压缩包(文件名类似
mysql-5.7.xx-1.el7.x86_64.rpm-bundle.tar)网址:https://downloads.mysql.com/archives/community/

二、 清理环境(目标离线机器)
openEuler 预装了 mariadb-connector-c,这会与 MySQL 冲突,必须卸载。
# 检查是否存在冲突包
rpm -qa | grep mariadb
# 卸载它们(根据查出的具体名称卸载)
rpm -e --nodeps mariadb-connector-c三、 安装步骤
将下载好的 .tar 包拷贝到离线服务器上,并解压:
mkdir /opt/mysql-offline && cd /opt/mysql-offline
# 下面解压命令文件名称要替换为你上传的文件名称
tar -xvf mysql-5.7.xx-1.el7.x86_64.rpm-bundle.tar1. 安装依赖
MySQL 5.7 在 CentOS 8 上需要旧版的 OpenSSL 兼容库:
从 CentOS 8 安装镜像或官方 Repo 下载对应的 compat-openssl10.rpm,拷贝到离线服务器上。
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
2. 按顺序安装 RPM 包
安装时必须遵守依赖顺序,建议按以下顺序执行:
执行命令:
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-client-*.rpm --nodeps
rpm -ivh mysql-community-server-*.rpm# 1. 链接 ncurses 库 (解决客户端登录问题)
ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5四、 初始化与启动
初始化数据库:
为了安全,MySQL 5.7 默认会生成一个临时随机密码。
mysqld --initialize --user=mysql启动服务:
systemctl start mysqld
systemctl enable mysqld
获取临时密码:
grep 'temporary password' /var/log/mysqld.log
修改初始密码:
使用查到的密码登录并修改:
mysql -u root -p
# 进入后执行 SQL:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;
-- 开启远程访问
USE mysql;
UPDATE user SET host = '%' WHERE user = 'root';
FLUSH PRIVILEGES;
-- 退出
EXIT;
如何修改配置文件
打开配置文件:
vi /etc/my.cnf配置常用参数:
将配置添加到 [mysqld] 标签下方例如:
[mysqld]
# --- 基础设置 ---
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
port=3306
user=mysql
# --- 字符集设置 (防止中文乱码) ---
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# --- 连接与安全 ---
max_connections=500
# 禁用符号链接以防安全风险
symbolic-links=0
# --- 慢查询日志 (可选,方便性能调优) ---
slow_query_log=1
slow_query_log_file=/var/log/mysql-slow.log
long_query_time=2
# --- 区分大小写设置 (可选) ---
# 0: 区分, 1: 不区分。注意:在初始化后修改此项可能导致表找不到
lower_case_table_names=1
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
生效与验证
修改完配置文件后,必须重启服务才能生效:
# 检查配置文件语法(防止写错导致无法启动)
mysqld --verbose --help > /dev/null
# 重启 MySQL
systemctl restart mysqld避坑指南
防火墙:如果需要远程连接,记得开启 3306 端口:
firewall-cmd --add-port=3306/tcp --permanent && firewall-cmd --reload
评论