主题
MySQL 5.7在Rocky Linux 9系统上的安装
课程介绍
通过本课程,您将:
- 了解MySQL数据库的基本概念和应用场景
- 掌握在Rocky Linux 9上安装MySQL 5.7的完整流程
- 学会启动MySQL服务并设置开机自启
- 掌握MySQL的初始配置和安全设置
- 学会配置MySQL的远程访问权限
- 了解常见安装问题的解决方法
为后续学习数据库操作和应用程序部署打下基础。
1. MySQL简介
MySQL是什么?
MySQL是一款轻量、简单且功能丰富的关系型数据库管理系统,是IT行业中的明星产品。
MySQL的应用领域
- 后端开发
- 大数据处理
- AI应用
- 运维管理
- 测试开发
MySQL的重要性
MySQL是IT从业者的必备技能,无论从事哪个领域的开发工作,都大概率会与MySQL打交道。
2. 安装前准备
环境要求
- Rocky Linux 9操作系统
- root用户权限
- 稳定的网络连接
工具准备
- 使用DNF包管理器进行安装
- 用到的命令:
rpm、dnf、systemctl、ss
注意事项: MySQL 5.7版本不在Rocky Linux 9官方dnf仓库中,需要配置额外的仓库源。
3. 安装MySQL 5.7
步骤1:导入MySQL dnf仓库密钥
bash
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022步骤2:安装MySQL dnf仓库
bash
rpm -Uvh https://repo.mysql.com/mysql57-community-release-el9-11.noarch.rpm步骤3:安装MySQL社区版
bash
dnf -y install mysql-community-server安装说明:
- 安装过程需要下载较大的软件包,耗时取决于网络速度
- 安装完成后,MySQL会自动注册为系统服务
4. 配置MySQL服务
步骤1:启动MySQL服务
bash
systemctl start mysqld步骤2:设置开机自启
bash
systemctl enable mysqld步骤3:查看服务状态
bash
systemctl status mysqld预期输出:
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-06-14 15:30:00 CST; 5min ago
...5. 配置MySQL用户
步骤1:获取初始密码
bash
cat /var/log/mysqld.log | grep "temporary password"预期输出:
2023-06-14T07:30:00.123456Z 1 [Note] A temporary password is generated for root@localhost: AbCdEfGhIjKlMnOp步骤2:登录MySQL
bash
mysql -u root -p步骤3:修改root密码
设置强密码(符合默认策略)
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySqL@123456';降低密码策略(仅用于测试环境)
sql
-- 设置密码安全级别为低
set global validate_password_policy=LOW;
-- 设置密码长度为4位
set global validate_password_length=4;
-- 设置简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';注意事项:
- 在生产环境中请使用强密码策略
- 简单密码仅适用于学习和测试环境
6. 配置远程访问
步骤1:允许root用户远程登录
允许特定IP访问
sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.88.100' IDENTIFIED BY '123456' WITH GRANT OPTION;允许所有IP访问(不推荐用于生产环境)
sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;步骤2:刷新权限
sql
FLUSH PRIVILEGES;步骤3:退出MySQL
bash
EXIT;安全提醒: 允许所有IP访问会带来安全风险,请在生产环境中限制具体的IP地址。
7. 验证MySQL服务
步骤1:检查端口占用
bash
ss -nltp | grep 3306预期输出:
tcp LISTEN 0 128 0.0.0.0:3306 0.0.0.0:* users:(("mysqld",pid=27181,fd=19))步骤2:重新登录验证
bash
mysql -u root -p输入密码后成功登录,显示MySQL提示符:
mysql>8. 实践操作:完整安装流程
综合命令汇总
安装前准备
bash# 更新系统 dnf -y update安装MySQL 5.7
bash# 导入密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 安装dnf仓库(注意:使用适用于Rocky Linux 9的仓库) rpm -Uvh https://repo.mysql.com/mysql57-community-release-el9-11.noarch.rpm # 安装MySQL dnf -y install mysql-community-server启动并配置服务
bash# 启动服务 systemctl start mysqld # 设置开机自启 systemctl enable mysqld # 查看状态 systemctl status mysqld初始化配置
bash# 获取初始密码 cat /var/log/mysqld.log | grep "temporary password" # 登录MySQL mysql -u root -p # 在MySQL中执行以下命令: -- 设置密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySqL@123456'; -- 降低密码策略(可选,仅测试环境) set global validate_password_policy=LOW; set global validate_password_length=4; ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; -- 配置远程访问(可选) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; -- 退出MySQL EXIT;验证安装
bash# 检查端口 ss -nltp | grep 3306 # 重新登录 mysql -u root -p
9. 常见问题与解决方案
| 问题 | 解决方案 |
|---|---|
| 无法连接到MySQL服务器 | 检查MySQL服务是否启动:systemctl status mysqld |
| 初始密码错误 | 重新查看日志获取正确的临时密码 |
| 密码设置失败 | 确保密码符合当前策略,或降低密码策略要求 |
| 远程连接失败 | 检查防火墙设置,确保3306端口开放 |
| dnf安装失败 | 检查网络连接,或手动下载RPM包安装 |
10. 命令速查
| 操作 | 命令 | 示例 |
|---|---|---|
| 导入密钥 | rpm --import URL | rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 |
| 安装dnf仓库 | rpm -Uvh 包名.rpm | rpm -Uvh mysql57-community-release-el9-11.noarch.rpm |
| 安装MySQL | dnf -y install 包名 | dnf -y install mysql-community-server |
| 启动服务 | systemctl start 服务名 | systemctl start mysqld |
| 设置自启 | systemctl enable 服务名 | systemctl enable mysqld |
| 查看状态 | systemctl status 服务名 | systemctl status mysqld |
| 登录MySQL | mysql -u 用户名 -p | mysql -u root -p |
| 查看端口 | `ss -nltp | grep 端口` |
课程总结
这节课我们学了MySQL 5.7在Rocky Linux 9上的安装。
安装步骤:
- 配置MySQL 5.7 yum/dnf仓库
dnf install mysql-community-server- 安装MySQLsystemctl start mysqld- 启动服务systemctl enable mysqld- 开机自启
安全配置:
- 查看临时密码:
cat /var/log/mysqld.log | grep "temporary password" - 登录MySQL并修改密码
- 运行
mysql_secure_installation
MySQL 5.7在Rocky/CentOS上使用rpm包安装,和Ubuntu的apt方式不同。 安装完成后记得开放3306端口防火墙规则。
课后练习
练习1(基础)
请执行以下操作:
- 在Rocky Linux 9系统上成功安装MySQL 5.7版本
- 启动MySQL服务并查看状态
- 获取MySQL初始密码并登录
- 设置符合默认策略的强密码
- 验证MySQL服务是否正常启动
💡 提示:使用cat /var/log/mysqld.log | grep "temporary password"获取初始密码。
练习2(进阶)
请尝试:
- 配置MySQL的root用户密码
- 降低密码策略(仅测试环境),设置为简单密码
- 配置MySQL允许特定IP地址远程访问
- 使用
ss命令验证MySQL端口3306是否正常开放
💡 提示:使用set global validate_password_policy=LOW降低密码策略,使用GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.x.x'配置远程访问。
练习3(拓展)
请尝试:
- 配置MySQL允许所有IP访问(注意安全风险)
- 比较MySQL 5.7和8.0版本的主要区别
- 尝试使用
mysqldump命令备份MySQL数据库 - 了解如何配置MySQL的主从复制
💡 提示:允许所有IP访问使用GRANT ALL PRIVILEGES ON *.* TO 'root'@'%',生产环境应限制具体IP。mysqldump -u root -p database > backup.sql备份数据库。
下节课我们将学习MySQL 8.0版本的安装方法,敬请期待!