前言
本文主要讲述在 CentOS 7 下通过 yum 软件源安装 MySQL 8.0。
还介绍了通过对 MySQL 服务器的日志的分析,获取了安装时生成的密码,而且还运行 Bash Shell 命令 mysql_secure_installation 更改了 MySQL 原密码并且进行初始化操作,在初始化操作时配置了一些基本的设置,如禁止远程登录、移除匿名用户等等。
既然当前 MySQL 9.0 已经发布,为什么安装的是 8.0?因为 CentOS 7 仅能适配到 8.0。
介绍
基本概念
MySQL 是属于 Oracle 公司的一款高性能、可扩展、多平台和多种编程语言的支持,以及能处理高并发重量级的开源数据库软件。它包含服务器端和客户端,服务器端负责处理、管理并储存数据,而客户端则只负责访问服务器,执行 SQL 语句来管理数据库及获取和操作数据。
SQL 包含数据操作命令(DML)、数据定义语言(DDL)和数据控制语言(DCL)三种类型的命令和操作。
以上三种数据处理命令使得这款数据库功能得到最大化的强大。
生命周期
经过无数岁月的迭代开发和用户使用情况,MySQL 有几个经典的版本,其中包括 v5.5.5、v5.7.x 和 v8.0,这三个版本分别具有当时对于 MySQL 重大意义的更新升级。
| 版本 | 生命周期终止日期 | 划时代的更新 |
|---|---|---|
| 5.5.x | 2018-12 | v5.5.5 首次默认数据库引擎为 InnoDB 等 |
| 5.7.x | 2023-10 | 开始对 JSON 格式数据的支持等 |
| 8.x | 2026-04 | 新增 caching_sha2_password 认证插件等 |
于上图可看出, 5.7 及其以下的 MySQL 版本都已经终止了生命周期,意味着它们不会再获得更新和 Bug 的修复,使用它们会有一定的安全风险。而 8.0 距离终止周期还有一段时间,期间将会继续获得安全更新。
为了使应用 MySQL 的程序跑得更久更安全,最好是采用 8.0 版本。
CentOS 7 的生命周期已经结束,很多镜像源已经不能使用,这意味着不更改可能安装不了软件,关于更改镜像源请参考站内文章《CentOS 7 编译安装 Python 3.12_升级Python版本》。
下载 Yum 软件源仓库
一般有两个渠道下载 MySQL 社区版 RPM 仓库文件:
然后到 /tmp 目录执行以下命令获取密码:
cat /tmp/mysql-init-password.txt
执行上面的命令会出现类似于下面的结果:
2023-12-16T14:56:51.328754Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 5+*MLqrsDjra
上面文本中最末尾的“5+*MLqrsDjra”就是 MySQL 生成的密码。
初始化配置
# 按需配置
mysql_secure_installation
Enter password for user root:: 输入文件 /tmp/mysql-init-password.txt 里面的密码;-
New password::输入新密码; -
Re-enter new password:: 确定新密码; -
Change the password for root ?:输入n就行; -
Remove anonymous users?:移除匿名用户,输入y或Y; -
Disallow root login remotely?:是否允许root用户远程登录,如果你希望是的话,便输入Y或y,否则输入其他任意键,比如n; -
Remove test database and access to it?:是否移除测试数据库以及访问它,一般情况下输入y或Y即可; -
Reload privilege tables now?:重载权限表,输入y或Y实际上相当于执行flush privileges;命令,从而使以上的配置立即生效,而不用重启 MySQL 服务器进程。
也可以配置好后重启 MySQL。
systemctl restart mysqld
systemctl status -l mysqld
总结
本文详细介绍了在 CentOS 7 系统上通过 yum 安装 MySQL 8.0 的全过程。首先配置 MySQL 官方 Yum 仓库(国内用户可使用清华镜像源加速下载),然后执行安装命令并启动服务。重点讲解了如何获取数据库 root 用户的初始密码,并通过运行命令 mysql_secure_installation 完成安全配置,包括修改 root 密码、移除匿名用户、禁止远程 root 登录等关键操作。
鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。
本文章可以转载,但是需要说明来源出处!
本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@icxzl.com

