跳转至

最后更新:2026-09-04 01:19

实验5 MySQL安装

难度:★☆☆ | 预估时长:__ 分钟

5.1 实验目的

  • 知识目标:理解 MySQL 目录规划(/data/software/data/mysql/usr/local/mysql)与初始化参数的作用;理解临时密码、mysql 用户与属主授权的概念。
  • 能力目标:能独立完成 MySQL 安装包下载上传、解压移动、创建 mysql 用户并授权、初始化、修改配置、启动并用临时密码登录验证。
  • 素质目标:养成记录关键凭证(临时密码)、规范规划目录、按报错信息排查问题的工程素养。

5.2 实验环境

  1. 操作系统:Linux(CentOS 7 虚拟机,IP:192.168.186.130);
  2. 文件传输工具:WinSCP(或使用 wget 直接下载);
  3. MySQL 安装包:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  4. 远程连接工具:MobaXterm。

5.3 实验重难点

重点:MySQL 目录规划(/data/software/data/mysql/usr/local/mysql);初始化参数配置。

难点:初始化时生成临时密码的记录;/etc/init.d/mysql 脚本的参数修改;登录时输入临时密码。

5.4 实验内容

5.4.1 下载 MySQL 安装包

1. 任务描述 下载 MySQL 5.7 安装包,放入 /data/software 目录。

2. 实验步骤

  • 步骤 1:下载地址(官网归档):

MySQL官网归档下载页

图 5-1:MySQL官网归档下载页
    https://downloads.mysql.com/archives/community/
  • 步骤 2:创建目录并进入:
mkdir /data/software
cd /data/software
  • 步骤 3:方式一(Windows 下载后 WinSCP 上传到 /data/software); 方式二(Linux 直接下载):
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

为什么要放 /data/software?

/data/software 就像专门放"安装原料"的仓库。把安装包统一放这里,和系统目录分开,后面解压、移动时路径清晰、不易误删系统文件。

下载/上传路径别搞错

  • 方式一(WinSCP)务必传到 /data/software,别传到 /root/tmp 等临时目录;
  • 方式二 wget 前先 cd /data/software,否则包会下到当前目录,后面找不到文件。

5.4.2 解压并移动到安装目录

1. 任务描述 解压安装包,并把目录改名为 /usr/local/mysql

2. 实验步骤

  • 步骤 1:解压:
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  • 步骤 2:移动并改名为 /usr/local/mysql
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql

解压后为什么要改名?

解压出来的文件夹名字又长又带版本号(如 mysql-5.7.17-...)。改成简短的 /usr/local/mysql,后续命令、配置文件里引用路径都更方便,也方便以后升级时切换目录。

tar 参数别漏 z

  • tar -xzvf 中的 z 用于解 .gz 压缩包,漏了会报错;
  • mv 改名前确认当前目录就是 /data/software,否则找不到源文件。

5.4.3 创建数据目录与用户

1. 任务描述 创建数据仓库目录 /data/mysql,并新建 mysql 用户、组。

2. 实验步骤

  • 步骤 1:创建数据目录:
mkdir /data/mysql
ls /data/
  • 步骤 2:新建 mysql 组:
groupadd mysql
  • 步骤 3:新建 mysql 用户(禁止登录 shell):
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql

为什么要专门建 mysql 用户?

直接用 root 跑数据库太危险(一旦被攻击就等于拿到系统最高权限)。建一个只能跑 MySQL、不能登录系统的 mysql 用户,等于给数据库配了一把"受限专用钥匙",更安全。

用户/组创建失败

  • 若提示 groupadd: group 'mysql' already exists:说明之前建过,可忽略继续;
  • useradd -r 创建的是系统用户,不会在登录界面出现,属正常现象。

5.4.4 修改目录属主并初始化

1. 任务描述 把安装目录和数据目录的属主改为 mysql,然后初始化数据库。

2. 实验步骤

  • 步骤 1:修改属主/属组:
1
2
3
4
5
cd /usr/local/mysql
pwd
chown -R mysql .
chgrp -R mysql .
chown -R mysql /data/mysql
  • 步骤 2:初始化数据库(注意:请记下输出的临时密码!):

MySQL初始化生成临时密码

图 5-2:MySQL初始化生成临时密码
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

示例输出会给出临时密码,如 dg&Mz7EWzFpd

  • 步骤 3:生成 SSL 相关文件(可选):
bin/mysql_ssl_rsa_setup --datadir=/data/mysql

初始化在做什么?

初始化就像"盖好毛坯房后做精装":生成系统表、数据字典,并随机生成一个临时密码作为第一把"门钥匙"。没有这一步,MySQL 不知道数据该存哪、用户体系也没建立。

临时密码一定要记!

初始化时系统会生成一个随机的临时密码(形如 dg&Mz7EWzFpd),第一次登录 MySQL 必须用它。忘记就只能重新初始化

初始化报错排查

  • 若提示目录不存在或权限不足:确认上一步 chown 已对 /usr/local/mysql/data/mysql 执行成功;
  • 临时密码含特殊字符(如 &#),复制时别漏字符,登录时建议手动输入避免转义问题。

5.4.5 修改配置文件

1. 任务描述 复制配置文件与启动脚本,并修改启动脚本中的路径参数。

2. 实验步骤

  • 步骤 1:复制配置文件:
1
2
3
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
  • 步骤 2:编辑启动脚本:
vim /etc/init.d/mysql
  • 步骤 3:修改其中的 basedirdatadir 为:
basedir=/usr/local/mysql
datadir=/data/mysql

保存退出(:wq)。

为什么要改 basedir/datadir?

启动脚本默认不知道 MySQL 装在哪、数据放哪。把 basedir(安装目录)和 datadir(数据目录)改成我们的实际路径,脚本才能正确找到程序和数据来启动服务。

改错路径起不来

  • basedir 必须是 /usr/local/mysqldatadir 必须是 /data/mysql,写错会导致启动失败;
  • vim 改完记得 :wq 保存退出,只改不存等于白改。

5.4.6 启动并登录验证

1. 任务描述 启动 MySQL 服务,使用临时密码登录。

2. 实验步骤

  • 步骤 1:启动 MySQL:
/etc/init.d/mysql start
  • 步骤 2:登录 MySQL(输入临时密码):
mysql -uroot -p
  • 步骤 3:出现 mysql> 提示符即登录成功。

  • 步骤 4:(可选)修改 root 密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
FLUSH PRIVILEGES;

mysql -uroot -p 是啥意思?

mysql 是客户端程序;-uroot 指定用 root 用户登录;-p 表示"等下我要输入密码"(回车后会提示输入)。这是登录 MySQL 最标准的一条命令。

登录/启动常见坑

  • mysql -uroot -p 提示密码错误:用初始化时记下的临时密码,注意特殊字符;
  • start 卡住或失败:检查 5.4.5 的 basedir/datadir 是否改对、数据目录属主是否为 mysql;
  • 改完新密码记得 FLUSH PRIVILEGES; 生效。

5.5 实验总结

本次实验完成了 MySQL 5.7 在 CentOS 上的部署,要点如下:

  1. 一是下载安装包并规划目录(/data/software 放包、/usr/local/mysql 安装、/data/mysql 存数据)(对应知识/能力目标);
  2. 二是创建 mysql 用户并授权,完成初始化(牢记临时密码)与配置文件修改(对应能力目标);
  3. 三是启动 MySQL 并用临时密码登录验证成功(对应能力目标)。MySQL 是绝大多数被测系统(业务系统)的数据库,后面做接口测试、性能测试时经常要连它查数据。

5.6 作业提交

  1. 提交地点:吾爱作业网
  2. 提交资料:
  3. /data/software 安装包截图;
  4. 初始化时生成临时密码的截图;
  5. mysql -uroot -p 登录成功(mysql> 提示符)截图。
  6. 不会做时填写"心得感悟"(1~50 字)。

5.7 知识检测

  • [ ] (填空)MySQL 初始化后会生成一个 临时密码,第一次登录必须使用它。
  • [ ] (填空)本实验中 MySQL 的数据目录(datadir)设置为 /data/mysql
  • [ ] (选择)初始化数据库、生成临时密码使用的命令是( )。
  • A. bin/mysql_ssl_rsa_setup B. bin/mysqld --initialize C. /etc/init.d/mysql start D. mysql -uroot -p
  • 正确答案:B
查看解析

bin/mysqld --initialize 用于初始化数据库并生成临时密码;start 是启动服务,mysql 是登录客户端,mysql_ssl_rsa_setup 仅生成 SSL 文件。

  • [ ] (选择)将安装与数据目录的属主改为 mysql 用户,主要目的是( )。
  • A. 提升运行速度 B. 让 mysql 用户有读写权限 C. 美化路径 D. 关闭防火墙
  • 正确答案:B
查看解析

MySQL 以 mysql 用户运行,属主改为 mysql 后它才能正常读写安装与数据目录,否则会因权限不足启动失败。

本课相关资源

序号 资源名称 类型 说明
1 任务1.3 MySQL搭建与配置.pptx 课件 MySQL 安装完整图解
2 配套mysql5.7_软件测试安装方法全代码.txt 代码 安装全代码(含【必做】/【可选】版本)

实验素材下载

点击下方链接获取本节课全部资源(含课件、任务清单、安装包等): 🔗 夸克网盘

本站总访问 次 | 访客 人 | 本页阅读