CentOS 7 下安装 MySQL 8.0 详细教程
MySQL版本:8.0.x
操作系统:CentOS 7(演示环境为 CentOS Linux release 7.9.2009)
安装方式:MySQL Yum 仓库
前置要求:安装之前先确保没有 MySQL 服务正在运行,建议在没有安装过 MySQL 的机器上进行全新安装。
目录
- 确认系统版本
- 添加 MySQL Yum 源
- 选择发布系列
- 安装 MySQL
- 启动 MySQL 服务器
- 查看 MySQL 服务状态
- 开启自启动
- 登录 MySQL
- 修改密码
1. 确认系统版本
登录系统并切换至 root 账号(否则执行命令时需要用sudo命令),在终端中运行以下命令查看系统版本:
cat/etc/redhat-release输出示例:
CentOS Linux release 7.9.2009 (Core)2. 添加 MySQL Yum 源
2.1 访问 MySQL 开发者专区
- 下载页面:https://dev.mysql.com/downloads/repo/yum
2.2 根据当前系统选择对应的发布包
发布包命名规则:
{mysql80}-community-release-{platform}-{version-number}.noarch.rpm| 字段 | 含义 |
|---|---|
{mysql80} | MySQL 版本号,默认是 MySQL 8.0 版本 |
{platform} | 平台(系统)号,用来描述系统的版本 |
{version-number} | MySQL 仓库配置 RPM 包的版本号 |
示例:mysql80-community-release-el7-10.noarch.rpm
el7:el是 Enterprise Linux 的缩写,7表示 Linux 大版本号(el6= Linux 6,el7= Linux 7,el8= Linux 8,el9= Linux 9,fc= Fedora)el7-10:表示 MySQL 仓库配置 RPM 包的第 10 次更新
选择方式:针对当前演示系统 Linux 7 以及 MySQL 8.0,选择对应 RPM 包的最近一次更新,下载mysql80-community-release-el7-10.noarch.rpm即可。
其他版本 RPM 包可通过 http://repo.mysql.com/ 查找。
2.3 下载后上传到 Linux 服务器
安装rz工具以支持拖拽上传:
yum-yinstalllrzsz上传完成后查看是否成功:
ll输出示例:
-rwxrw-rw-. 1 root root 11472 Aug 25 01:12 mysql80-community-release-el7-10.noarch.rpm2.4 安装发布包
yum-yinstallmysql80-community-release-el7-10.noarch.rpm输出示例(省略部分):
Loaded plugins: fastestmirror, langpacks Examining mysql80-community-release-el7-10.noarch.rpm: mysql80-community-release-el7-10.noarch Marking mysql80-community-release-el7-10.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mysql80-community-release.noarch 0:el7-10 will be installed --> Finished Dependency Resolution ... Installed: mysql80-community-release.noarch 0:el7-10 Complete!2.5 检查是否成功添加 MySQL Yum 源
yum repolist enabled|grepmysql.*-community输出示例:
mysql-connectors-community/x86_64 MySQL Connectors Community 227 mysql-tools-community/x86_64 MySQL Tools Community 100 mysql80-community/x86_64 MySQL 8.0 Community Server 4263. 选择发布系列
查看所有可用的 MySQL 仓库:
yum repolist all|grepmysql确认以下三个仓库为enabled(启用)状态即可:
mysql80-community/x86_64mysql-connectors-community/x86_64mysql-tools-community/x86_64
4. 安装 MySQL
yuminstallmysql-community-server安装过程提示是否继续,输入y即可。
该命令将安装 MySQL 服务器包以及运行服务器所需的组件:
| 包名 | 说明 |
|---|---|
mysql-community-server | 服务器程序 |
mysql-community-client | 客户端包 |
mysql-community-common | 客户端和服务器常见错误消息和字符集 |
mysql-community-libs | 共享客户端库 |
输出示例(省略部分):
Installed: mysql-community-server.x86_64 0:8.0.34-1.el7 Dependency Installed: mysql-community-client.x86_64 0:8.0.34-1.el7 mysql-community-client-plugins.x86_64 0:8.0.34-1.el7 mysql-community-common.x86_64 0:8.0.34-1.el7 mysql-community-icu-data-files.x86_64 0:8.0.34-1.el7 mysql-community-libs.x86_64 0:8.0.34-1.el7 Complete!5. 启动 MySQL 服务器
systemctl start mysqld6. 查看 MySQL 服务状态
systemctl status mysqld输出示例:
● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2023-08-29 00:39:04 PDT; 2min 6s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 4107 (mysqld) Status: "Server is operational" Tasks: 37 CGroup: /system.slice/mysqld.service └─4107 /usr/sbin/mysqld服务管理命令速查:
systemctl stop mysqld# 停止systemctl start mysqld# 启动systemctl restart mysqld# 重启systemctl status mysqld# 查看状态7. 开启自启动
# 设置自启动systemctlenablemysqld# 查看自启动状态systemctl list-unit-files|grepmysqld输出示例:
mysqld.service enabled8. 登录 MySQL
首次安装成功后,MySQL 会把 root 用户的默认密码保存在错误日志中。
查看默认密码:
grep'temporary password'/var/log/mysqld.log输出示例:
2023-08-25T08:32:10.905479Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: IRDMJQ_.v566使用密码登录:
mysql-uroot-p输出示例:
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 8.0.34 MySQL Community Server - GPL mysql>9. 修改密码
提示:
validate_password组件默认安装,密码策略要求至少包含 1 个大写字母、1 个小写字母、1 个数字和 1 个特殊字符,总长度至少为 8 个字符。
9.1 查看默认密码策略
密码策略分为LOW、MEDIUM(默认)和STRONG,分别用0、1(默认)、2表示。
LOW:只校验密码长度,最小为 8MEDIUM:校验长度 + 大小写 + 数字 + 特殊字符STRONG:在 MEDIUM 基础上增加字典检查
相关系统变量:
validate_password.policy:密码策略validate_password.length:密码长度限制
-- 查看当前密码策略SHOWVARIABLESLIKE'validate_password.policy';-- 输出:MEDIUM-- 查看当前密码长度限制SHOWVARIABLESLIKE'validate_password.length';-- 输出:89.2 设置简单密码(开发环境)
-- 策略设置为 LOWSETGLOBALvalidate_password.policy=0;-- 密码长度最少为 4 位(系统限制不能小于 4 位)SETGLOBALvalidate_password.length=4;9.3 设置新密码
ALTERUSER'root'@'localhost'IDENTIFIEDBY'123456';或使用符合默认策略的强密码:
ALTERUSER'root'@'localhost'IDENTIFIEDBY'Qs1!Ed3#';9.4 恢复密码策略
-- 恢复密码策略为 MEDIUMSETGLOBALvalidate_password.policy=1;-- 恢复密码长度限制SETGLOBALvalidate_password.length=8;验证设置:
SHOWVARIABLESLIKE'validate_password.policy';SHOWVARIABLESLIKE'validate_password.length';最后,用新密码重新登录 MySQL 即可。
相关链接汇总
| 说明 | 链接 |
|---|---|
| MySQL 安装程序下载(Windows) | https://dev.mysql.com/downloads/ |
| MySQL Yum 仓库下载(CentOS) | https://dev.mysql.com/downloads/repo/yum |
| MySQL RPM 包仓库 | http://repo.mysql.com/ |
| MySQL systemd 文档 | http://dev.mysql.com/doc/refman/en/using-systemd.html |