乐途乐途
主页
  • 计算机基础

    • TCP/IP协议
    • Linux命令
    • HTTP协议
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • MyBatis
    • Spring
    • Spring MVC
    • Maven 入门
    • Maven 进阶
    • Java 设计模式
  • 缓存

    • Redis
联系
阿里云
主页
  • 计算机基础

    • TCP/IP协议
    • Linux命令
    • HTTP协议
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • MyBatis
    • Spring
    • Spring MVC
    • Maven 入门
    • Maven 进阶
    • Java 设计模式
  • 缓存

    • Redis
联系
阿里云
  • 学习路径
  • 第1章 数据库基础与安装

    • MySQL 简介
    • MySQL 5.6 到 5.7 到 8.0 关键差异速查
    • 安装 MySQL 5.7
    • 连接与断开服务器
    • 创建数据库
    • 创建数据表
    • 数据库与数据表
    • 加载数据
    • 获取数据库信息
    • 批处理模式
    • SHOW 语句汇总
    • FLUSH 与 RESET 语句
    • my.cnf 核心参数
    • 字符集与排序规则
  • 第2章 SQL基础查询

    • SELECT
    • WHERE
    • ORDER BY
    • LIMIT
    • COUNT
    • 聚合函数
    • 比较运算符
    • 逻辑运算符
    • 算术运算符
    • 模式匹配
    • NULL 值处理
    • UPDATE
    • DELETE
    • REPLACE
    • SELECT INTO
  • 第3章 数据类型与运算符

    • 数值类型
    • 字符串类型
    • 日期时间类型
    • BIT 类型
    • ENUM 类型
    • SET 类型
    • JSON 类型
    • 类型转换
  • 第4章 函数与表达式

    • 字符串函数
    • 数值函数
    • 日期函数
    • 全文检索函数
  • 第5章 高级查询与子查询

    • JOIN
    • 子查询
    • UNION
    • GROUP BY
    • HAVING
    • DISTINCT
  • 第6章 表与索引

    • 数据定义语言
    • 修改表结构
    • 视图
    • 修改视图与检查选项
    • 外键
    • 索引
    • 唯一索引
    • 复合索引
    • 存储引擎对比
    • 分区表
    • 第一范式与第二范式
    • 第三范式与 BC 范式
    • 反范式设计
  • 第7章 存储过程与函数

    • 存储过程
    • 存储函数
    • 变量
    • 流程控制
    • 游标
    • 预处理语句
  • 第8章 事务与锁

    • 事务
    • 事务隔离级别
    • 锁机制
    • MVCC
    • 死锁专题分析
    • LOCK TABLES
    • XA 事务
  • 第9章 用户管理与安全

    • 用户管理
    • 权限管理
    • 角色
    • SQL 注入防范
  • 第10章 性能优化入门

    • 执行计划
    • 索引优化
    • 查询优化
    • 查询优化器提示
    • 慢查询日志
    • InnoDB 深入机制
    • InnoDB 专项优化
    • Performance Schema
    • sys Schema
  • 第11章 复制与高可用

    • 主从复制原理
    • 半同步复制配置
    • binlog 开启与 point-in-time 恢复
    • mysqldump 全库备份
    • mysqldump 单表与条件备份
    • mysqldump 恢复与导入
    • xtrabackup 全量热备
    • xtrabackup 准备与恢复
    • xtrabackup 增量与流式备份
  • 第12章 触发器与事件

    • 触发器
    • 事件调度器
  • 参考

    • MySQL 5.7 专业术语大全
    • MySQL 5.7 关键字与保留字大全

安装 MySQL 5.7

导学

在写第一条 SQL 之前,你需要先让 MySQL 5.7 跑起来。本节覆盖两种最常见的安装方式:Windows 下的图形化安装,以及 Linux 下的包管理器安装。安装完成后,你会得到一台监听 3306 端口、 ready 接受连接的 MySQL 服务器。

Windows 安装(Installer 方式)

MySQL 官方为 Windows 提供了 .msi 安装包,集成在 MySQL Installer 中,适合开发和测试环境快速搭建。

下载与安装步骤

  1. 访问 https://dev.mysql.com/downloads/installer/,选择MySQL Installer for Windows(推荐 mysql-installer-community-5.7.x.x.msi)
  2. 运行安装程序,选择Server only或Full(开发机选 Full 可同时获得 Workbench、Shell 等工具)
  3. 在Type and Networking步骤:
    • Config Type 选Development Machine(内存占用较小)
    • 端口号保持默认3306
    • 勾选Open Firewall port for network access(如需远程连接)
  4. 在Authentication Method步骤:选择Use Strong Password Encryption(MySQL 5.7 默认)
  5. 在Accounts and Roles步骤:设置root密码,并可选添加普通用户
  6. 在Windows Service步骤:勾选Configure MySQL Server as a Windows Service,服务名默认 MySQL57
  7. 点击Execute完成安装

安装后验证

# 打开命令提示符(以管理员身份),查看服务状态
sc query MySQL57

# 连接服务器
mysql -u root -p

输入安装时设置的 root 密码,看到 mysql> 提示符即表示成功。

常见问题

现象原因解决
安装卡在 "Starting Server"旧版本残留或端口被占卸载旧版,删除 C:\ProgramData\MySQL,检查 3306 端口占用
忘记 root 密码—停止服务,以 --skip-grant-tables 启动,重置密码
命令行找不到 mysql未加入 PATH将 C:\Program Files\MySQL\MySQL Server 5.7\bin 加入系统环境变量 PATH

Linux 安装(YUM / APT 方式)

生产环境绝大多数运行在 Linux 上。YUM(CentOS/RHEL)和 APT(Ubuntu/Debian)是最主流的两种包管理安装方式。

CentOS / RHEL(YUM)

# 1. 添加 MySQL 官方 YUM 源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

# 2. 安装服务端和客户端
yum install -y mysql-community-server mysql-community-client

# 3. 启动服务并设为开机自启
systemctl start mysqld
systemctl enable mysqld

# 4. 查看初始临时密码(安装时自动生成)
grep 'temporary password' /var/log/mysqld.log
# 输出示例:2024-01-15T06:25:00.123456Z 1 [Note] A temporary password is generated for root@localhost: Abc9!xyz#def

# 5. 使用临时密码登录并修改密码
mysql -u root -p
# 进入后执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewSecurePass123!';

Ubuntu / Debian(APT)

# 1. 添加 MySQL APT 源
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
dpkg -i mysql-apt-config_0.8.22-1_all.deb
apt-get update

# 2. 安装
apt-get install -y mysql-server mysql-client

# 3. 启动服务
systemctl start mysql
systemctl enable mysql

# 4. 运行安全初始化脚本(设置 root 密码、删除匿名用户、关闭远程 root 登录等)
mysql_secure_installation

安装后验证

# 检查进程
ps aux | grep mysqld

# 检查端口
ss -tlnp | grep 3306

# 连接测试
mysql -u root -p -e "SELECT VERSION();"

预期输出:5.7.xxx

安装后的目录结构(Linux)

路径用途
/var/lib/mysql数据文件目录(.ibd、.frm、ibdata 等)
/etc/my.cnf主配置文件
/var/log/mysqld.log错误日志(含临时密码)
/usr/bin/mysql客户端命令
/usr/sbin/mysqld服务器进程

常见误区

误区正解
"安装完直接用空密码登录"MySQL 5.7 安装后会生成随机临时密码,必须修改后才能操作。
"YUM 安装的是 MariaDB"CentOS 7+ 默认源中 mysql 包可能是 MariaDB。务必使用官方 MySQL YUM 源。
"Windows 和 Linux 的配置文件一样"Windows 主配置通常是 my.ini(安装目录或 C:\ProgramData\MySQL);Linux 是 /etc/my.cnf。

面试考点

Q:MySQL 5.7 安装后第一步该做什么?

  1. 找到临时密码并修改 root 密码;2. 运行 mysql_secure_installation(Linux)或手动删除匿名用户、测试库;3. 确认 my.cnf / my.ini 中字符集为 utf8mb4;4. 检查防火墙和端口。

Q:YUM 安装时如何确保装的是 MySQL 而非 MariaDB?

使用官方 MySQL YUM 源(mysql57-community-release),而不是系统默认源。安装前用 yum info mysql-community-server 确认包名和版本。

小结

  • Windows 用 .msi Installer,适合开发和测试环境快速搭建
  • Linux 用 YUM(CentOS)或 APT(Ubuntu),生产环境标准做法
  • MySQL 5.7 安装后会生成临时密码,首次登录必须修改
  • 安装完成后确认服务状态、端口监听、版本号

下一章引子:安装完成后,真正决定 MySQL 行为的是配置文件——my.cnf(Linux)或 my.ini(Windows)。

上一页
MySQL 5.6 到 5.7 到 8.0 关键差异速查
下一页
连接与断开服务器