CentOS 7 yum 安装 MySQL教程

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
重要提示:
本教程仅为演示目的,请在实际应用中务必使用强密码精确限制访问来源。 以下命令 默认使用 root 用户执行,如果使用 普通用户,请在 命令前加上 sudo

步骤 1:添加 MySQL Yum 仓库

1. 下载 MySQL Yum 仓库的 RPM 包:
wget https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm

(注意: 如果将来此特定版本链接失效,请访问 MySQL 官方 Yum 仓库页面 (https://dev.mysql.com/downloads/repo/yum/) 找到适用于 RHEL/CentOS 7最新链接并替换上面的 URL)

2. 安装 RPM 包:
rpm -ivh mysql84-community-release-el7-1.noarch.rpm
3. 导入最新的 MySQL GPG 密钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023

(提示: 如果上述 URL 无效,请去 MySQL 官网查找最新的 GPG Key URL)

4. (可选) 清理 Yum 缓存:
yum clean all

步骤 2:安装 MySQL 服务器

yum install mysql-community-server -y

提示安装 GPG 密钥时,输入 y 并按 Enter 键确认安装。

等待安装过程完成,确保最后没有 GPG 错误并显示 Complete!

步骤 3:启动并设置开机自启 MySQL 服务

1. 启动 MySQL 服务:
systemctl start mysqld
2. 检查 MySQL 服务状态:
systemctl status mysqld
3. 设置 MySQL 服务开机自启:
systemctl enable mysqld

步骤 4:初始化安全设置与远程连接配置

1. 查找临时密码: MySQL 8.x首次启动时会为 root 用户 生成一个临时密码,并记录在日志文件中。

bash grep 'temporary password' /var/log/mysqld.log

注意 临时密码是 在冒号 : 后面的那串 随机字符请仔细复制,不要找错了。



2. 首次登录并修改密码: MySQL 8.x默认密码策略要求 首次登录后必须 立即修改密码,并且 新密码必须符合复杂性要求。

bash mysql -u root -p
(在提示符后 粘贴您刚刚找到的 临时密码)

登录后,你 不能执行任何其他操作, 必须先修改密码

root 用户设置一个新的强密码。例如: MyNewPass_123! (请替换为您自己的强密码)。
sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass_123!';
此时,您已经可以用新密码正常操作了。 3.调整密码策略:

如果你确实需要在开发或测试环境中使用简单密码 (例如 123456),在设置了一个符合策略的强密码之后,你才可以降低密码策略

SET GLOBAL validate_password.policy = 0;
SET GLOBAL validate_password.length = 6;
  • validate_password.policy = 0: 设置为最低策略 (仅检查长度)。
  • validate_password.length = 6: 设置最小长度为6。
现在,你可以将密码修改为简单的 123456 了:
sql ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

4. 创建并授权远程访问用户:

为了安全最佳实践不要直接使用 root 用户进行远程连接。我们应该创建一个新用户授权 root 从特定IP访问。但为了演示方便,这里展示如何允许 root 从任何主机 (%) 访问。

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 第一行:为所有主机 (%) 创建一个名为 root 的用户,并设置密码 (这里我们用了刚才设定的简单密码 123456,生产环境应使用强密码!)。
  • 第二行:授予这个远程 root 用户所有数据库所有表上的所有权限,并允许他将权限授予其他用户 (WITH GRANT OPTION)。
  • 第三行刷新权限,使更改立即生效。
5. 退出 MySQL:
exit;

重要提示: 如果您的CentOS 7启用了防火墙 (firewalld),您需要开放 MySQL 的端口 (默认为 3306) 以允许远程连接。

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

步骤 5:在客户端任意主机上测试连接

另一台安装了MySQL客户端的机器上运行:

你的服务器IP 替换为CentOS 7服务器实际IP地址

mysql -h 你的服务器IP -u root -p

(按提示输入您为 'root'@'%' 用户设置的密码,即 123456)

如果成功连接并看到 MySQL 的欢迎信息和提示符,说明您的远程连接配置成功了

目录
相关文章
|
5天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1118 2
|
4天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
617 11
|
14天前
|
人工智能 运维 安全
|
5天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
309 0
|
12天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
822 23
|
5天前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。