3 Sigma离群值检测实战:从数学原理到工程避坑指南
2026/10/17 0:27:23
适用系统:CentOS 7 / RHEL 7
目标版本:MySQL 5.7(官方社区版)
安装方式:通过 MySQL 官方 Yum 仓库
特点:自动导入 GPG 密钥、跳过重复安装、获取初始密码、验证服务状态
在 Linux 环境下部署 MySQL 是大数据、Web 开发或数据库运维的常见任务。手动配置仓库、处理 GPG 密钥、查找临时密码等步骤繁琐且易错。本文提供一个全自动 Bash 脚本,只需一条命令即可完成 MySQL 5.7 的完整安装与基础验证。
GPG check FAILED错误)mysql-community-server/var/log/mysqld.log)将以下内容保存为install_mysql57.sh:
#!/bin/bash# 自动安装 MySQL 5.7set-eecho"=== MySQL 5.7 自动安装脚本 ==="# 检查是否为 root 用户if["$EUID"-ne0];thenecho"❌ 请以 root 用户运行此脚本。"exit1fi# 检查 MySQL 是否已安装ifcommand-v mysql&>/dev/null;thenecho">>> 检测到 MySQL 已安装,跳过安装步骤。"mysql --versionexit0fi# 导入 MySQL 官方 GPG 公钥(防止 GPG check FAILED)echo">>> 导入 MySQL 官方 GPG 公钥..."rpm--import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装 MySQL yum repositoryif!rpm-qa|grep-q mysql57-community-release;thenecho">>> 安装 MySQL yum 仓库..."yuminstall-y https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmelseecho">>> 已安装 MySQL yum 仓库,跳过..."fi# 安装 MySQL serverecho">>> 安装 MySQL server..."yuminstall-y mysql-community-server# 开机自启并启动echo">>> 配置开机自启并启动 MySQL..."systemctlenablemysqld systemctl start mysqld# 获取初始 root 密码MYSQL_TEMP_PASSWORD=$(grep'temporary password'/var/log/mysqld.log|awk'{print $NF}')echo">>> MySQL 安装完成!"echo"初始 root 密码:$MYSQL_TEMP_PASSWORD"# 验证 MySQL 可用性ifmysqladminping&>/dev/null;thenecho"✅ MySQL 服务运行正常!"mysql --versionelseecho"⚠️ MySQL 服务未能正常启动,请检查日志 /var/log/mysqld.log"fiecho"=== MySQL 5.7 安装完成 ==="sudoviminstall_mysql57.sh# 粘贴上述脚本内容chmod+x install_mysql57.shsudo./install_mysql57.sh⚠️ 注意:必须使用 root 或 sudo,否则无法写入系统仓库和启动服务。
脚本输出示例:
初始 root 密码: sK7#mP!9xQr2该密码由 MySQL 在首次初始化时自动生成,仅用于首次登录。
mysql -u root -p# 输入上面显示的临时密码# 登录后立即修改密码(MySQL 5.7 要求强密码策略)ALTERUSER'root'@'localhost'IDENTIFIED BY'YourNewStrongPassword123!';💡 密码需包含大小写字母、数字、特殊字符,长度 ≥ 8。
mysql_secure_installation进行安全配置:mysql_secure_installationA:Yum 默认启用 GPG 校验。若不导入官方公钥,安装 RPM 包时会报错:
GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql"A:当前脚本专为CentOS 7设计(使用el7仓库包)。
若用于 CentOS 8,请替换仓库 URL 为mysql80-community-release-el8-*.noarch.rpm,但注意:MySQL 5.7 官方已停止对 EL8 的支持,建议升级到 MySQL 8.0。
A:检查日志文件:
sudogrep'temporary password'/var/log/mysqld.log若无输出,可能是 MySQL 初始化失败,查看完整日志排查:
sudotail-n50/var/log/mysqld.log本脚本极大简化了 MySQL 5.7 在 CentOS 7 上的部署流程,特别适合:
📌后续建议:安装完成后,配置
my.cnf、创建专用 Hive Metastore 用户、授权远程访问(如需),并定期备份数据。