跳转到内容

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包管理器进行安装
  • 用到的命令:rpmdnfsystemctlss

注意事项: 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 URLrpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
安装dnf仓库rpm -Uvh 包名.rpmrpm -Uvh mysql57-community-release-el9-11.noarch.rpm
安装MySQLdnf -y install 包名dnf -y install mysql-community-server
启动服务systemctl start 服务名systemctl start mysqld
设置自启systemctl enable 服务名systemctl enable mysqld
查看状态systemctl status 服务名systemctl status mysqld
登录MySQLmysql -u 用户名 -pmysql -u root -p
查看端口`ss -nltpgrep 端口`

课程总结

这节课我们学了MySQL 5.7在Rocky Linux 9上的安装。

安装步骤:

  1. 配置MySQL 5.7 yum/dnf仓库
  2. dnf install mysql-community-server - 安装MySQL
  3. systemctl start mysqld - 启动服务
  4. systemctl enable mysqld - 开机自启

安全配置:

  1. 查看临时密码: cat /var/log/mysqld.log | grep "temporary password"
  2. 登录MySQL并修改密码
  3. 运行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版本的安装方法,敬请期待!

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径