一、适用范围
- 操作系统:CentOS 7(无网络环境)
- 数据库版本:MySQL 8.4.6(RPM 安装包)
- 使用方式:手动安装 + 自动化脚本部署
二、准备阶段
1. 浏览器下载 RPM 包(在联网的电脑上)
访问官网 RPM 下载页面:
访问云盘下载页面:
选择以下配置:
- Product Version: 8.4.6
- Operating System: Red Hat Enterprise Linux / Oracle Linux 7 (x86, 64-bit)
点击 “Download” 下载以下 6 个必须的 .rpm
包:
mysql-community-common-8.4.6-1.el7.x86_64.rpm
mysql-community-libs-8.4.6-1.el7.x86_64.rpm
mysql-community-libs-compat-8.4.6-1.el7.x86_64.rpm
mysql-community-client-8.4.6-1.el7.x86_64.rpm
mysql-community-client-plugins-8.4.6-1.el7.x86_64.rpm
mysql-community-server-8.4.6-1.el7.x86_64.rpm
将这 6 个文件拷贝至无网络环境下的 CentOS 服务器中,比如放入:
/root/mysql_rpms/
三、手动部署步骤(推荐先了解再自动化)
1. 进入 RPM 存放目录
cd /root/mysql_rpms
2. 安装 MySQL 所有依赖包
sudo rpm -Uvh --nodeps --force *.rpm
⚠️ 注意:
--nodeps
用于忽略依赖检查,--force
可覆盖 mariadb-libs。
3. 启动 MySQL 服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
4. 获取初始密码
sudo grep 'temporary password' /var/log/mysqld.log
5. 登录并修改密码(注意,需要复杂密码,简单密码不符合有要求)
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassw0rd!';
四、自动部署脚本(适用于已准备好 .rpm
文件的环境)
1. 创建脚本文件
保存以下内容为 mysql_offline_install.sh
#!/bin/bash
set -e
RPM_DIR="/root/mysql_rpms"
echo "==> 开始 MySQL 离线部署..."
cd $RPM_DIR
# 安装 RPM 包
rpm -Uvh --nodeps --force *.rpm
# 启动 MySQL 服务
systemctl start mysqld
systemctl enable mysqld
# 显示初始密码
echo "==> MySQL 初始密码:"
grep 'temporary password' /var/log/mysqld.log
echo "==> 部署完成!请使用以上密码登录并修改。"
2. 设置执行权限并运行
chmod +x mysql_offline_install.sh
./mysql_offline_install.sh
五、FAQ 常见问题
Q1: 提示 yum 无法解析依赖?
- 请勿使用
yum localinstall
,因为它仍会尝试联网。使用rpm -Uvh
即可。
Q2: mariadb-libs 冲突?
rpm -Uvh --force
可自动替换mariadb-libs
,MySQL 官方建议这样操作。
Q3: 忘记初始密码怎么办?
- 请参考 MySQL 文档使用
--skip-grant-tables
启动服务后重置密码。
六、部署后建议
- 登录后修改 root 密码
- 设置 MySQL 字符集、端口等配置项(修改
/etc/my.cnf
) - 安全配置(如关闭远程 root、设置防火墙白名单)