MySQL: MySQL安装与配置全平台指南

最后更新:2026-08-26

安装 MySQL 是学习的第一步——选对方式能让你少走很多弯路。

本课覆盖全平台安装方案,推荐 Docker 方式快速上手。

100%
graph TB
    A{选择安装方式} -->|推荐| B[Docker]
    A -->|Windows| C[官方Installer]
    A -->|macOS| D[Homebrew]
    A -->|Linux| E[apt / dnf]
    A -->|高级用户| F[源码编译]
    B --> G[30秒启动]
    C --> H[图形向导配置]
    D --> I[命令行安装]
    E --> J[包管理器安装]
    G --> K[连接验证]
    H --> K
    I --> K
    J --> K

1. 你将学到


2. 一个新手的真实故事

(1) 痛点:安装就劝退

一个前端开发者想学后端,第一步装 MySQL:

"下载了官方安装包,Windows 上装了 20 分钟,配置向导看不懂,最后报错'服务启动失败'。搜了半天 Stack Overflow,还是没搞定。"

这种情况太常见了——安装配置是新手劝退率最高的环节。

(2) Docker 的解法

BASH
# 一行命令,30秒搞定
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=Root123! mysql:8.0

收益: 不污染系统、秒级启停、版本随意切换、卸载干净无残留。

安装方式 耗时 难度 推荐度
Docker 1 分钟 ⭐⭐⭐
官方安装包 15 分钟 ⭐⭐ ⭐⭐
包管理器 5 分钟 ⭐⭐ ⭐⭐
源码编译 30+ 分钟 ⭐⭐⭐

3. Docker 安装(推荐)

(1) 安装 Docker Desktop

平台 下载地址
Windows https://docs.docker.com/desktop/install/windows-install/
Mac (Intel) https://docs.docker.com/desktop/install/mac-install/
Mac (M1/M2) https://docs.docker.com/desktop/install/mac-install/
Linux https://docs.docker.com/engine/install/

▶ 示例:Docker 启动 MySQL

BASH
# 1. 拉取镜像
docker pull mysql:8.0

# 2. 启动容器(设置 root 密码为 Root123!)
docker run -d \
  --name mysql-tutorial \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=Root123! \
  -v mysql_data:/var/lib/mysql \
  mysql:8.0

# 3. 查看容器状态
docker ps

# 4. 进入 MySQL 命令行
docker exec -it mysql-tutorial mysql -u root -pRoot123!

输出:

TEXT 📖 仅展示
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.
mysql>

▶ 示例:Docker 常用管理命令

BASH
# 启动已停止的容器
docker start mysql-tutorial

# 停止容器
docker stop mysql-tutorial

# 重启容器
docker restart mysql-tutorial

# 查看日志
docker logs mysql-tutorial

# 删除容器(需先停止)
docker stop mysql-tutorial && docker rm mysql-tutorial

# 删除数据卷(彻底清除数据)
docker volume rm mysql_data

输出:

TEXT 📖 仅展示
mysql-tutorial

4. Windows 安装

(1) 下载安装包

访问 https://dev.mysql.com/downloads/installer/ 下载 MySQL Installer。

▶ 示例:Windows 安装步骤

TEXT 📖 仅展示
1. 运行 mysql-installer-community-8.0.x.msi
2. 选择 "Custom" 安装类型
3. 选择 MySQL Server 8.0 + MySQL Workbench
4. 配置:
   - Config Type: Development Computer
   - Port: 3306(默认)
   - Authentication Method: Use Strong Password Encryption
   - Root Password: 设置密码(记住它!)
5. 点击 Execute 完成安装

▶ 示例:验证 Windows 安装

BASH
# 打开 CMD 或 PowerShell
mysql --version

# 连接 MySQL
mysql -u root -p

输出:

TEXT 📖 仅展示
mysql  Ver 8.0.36 for Win64 on x86_64 (MySQL Community Server - GPL)

5. macOS 安装

▶ 示例:Homebrew 安装

BASH
# 1. 更新 Homebrew
brew update

# 2. 安装 MySQL
brew install mysql

# 3. 启动 MySQL 服务
brew services start mysql

# 4. 安全初始化
mysql_secure_installation

# 5. 连接测试
mysql -u root -p

输出:

TEXT 📖 仅展示
==> Downloading https://homebrew.bintray.com/bottles/mysql-8.0.36.arm64_sonoma.bottle.tar.gz
==> Pouring mysql-8.0.36.arm64_sonoma.bottle.tar.gz
==> Starting `mysql`...
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

6. Linux 安装

▶ 示例:Ubuntu/Debian 安装

BASH
# 1. 更新包索引
sudo apt update

# 2. 安装 MySQL Server
sudo apt install mysql-server

# 3. 启动服务
sudo systemctl start mysql

# 4. 安全初始化
sudo mysql_secure_installation

# 5. 连接测试
sudo mysql -u root -p

▶ 示例:CentOS/RHEL 安装

BASH
# 1. 添加 MySQL Yum 仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm

# 2. 安装 MySQL Server
sudo dnf install mysql-server

# 3. 启动服务
sudo systemctl start mysqld

# 4. 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

# 5. 安全初始化(使用临时密码)
mysql_secure_installation

7. MySQL Workbench 连接

▶ 示例:Workbench 配置连接

TEXT 📖 仅展示
1. 打开 MySQL Workbench
2. 点击 "+" 创建新连接
3. 配置:
   - Connection Name: Local MySQL
   - Hostname: 127.0.0.1
   - Port: 3306
   - Username: root
   - Password: 点击 "Store in Vault" 保存密码
4. 点击 "Test Connection" 测试
5. 点击 "OK" 保存

连接成功标志: 显示 "Successfully made the MySQL connection"。


8. 安全配置

(1) root 密码策略

策略 说明
长度 至少 8 位
复杂度 包含大小写 + 数字 + 特殊字符
避免 不要用 root123456password

▶ 示例:修改 root 密码

SQL
-- 登录 MySQL 后执行
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';

-- 刷新权限
FLUSH PRIVILEGES;
▶ 试一试

▶ 示例:创建普通用户(推荐)

SQL
-- 创建开发用户,只允许本地连接
CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'DevPass123!';

-- 授予所有数据库权限
GRANT ALL PRIVILEGES ON *.* TO 'dev_user'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;
▶ 试一试

输出:

TEXT 📖 仅展示
Query OK, 0 rows affected (0.01 sec)

❓ 常见问题

Q Docker 安装的 MySQL 数据会丢失吗?
A 如果使用了 -v mysql_data:/var/lib/mysql 数据卷,数据会持久化保存。不加数据卷的话,删除容器数据就没了。
Q 3306 端口被占用怎么办?
A 改用其他端口:-p 3307:3306,连接时指定 mysql -h 127.0.0.1 -P 3307 -u root -p
Q 忘记 root 密码怎么办?
A Docker 方式直接删除容器重建。其他方式需跳过权限验证重置密码,具体步骤搜索 "MySQL reset root password"。
Q MySQL 5.7 和 8.0 选哪个?
A 新项目选 8.0(支持窗口函数、JSON 增强)。维护老项目用 5.7。两者语法 95% 兼容。
Q 安装后命令行找不到 mysql 命令?
A 需要把 MySQL 的 bin 目录加入 PATH 环境变量。Windows:系统属性→环境变量→Path→添加 C:\Program Files\MySQL\MySQL Server 8.0\bin。Mac/Linux:export PATH=$PATH:/usr/local/mysql/bin

📖 小节


📝 作业

  1. 基础题(难度⭐):使用 Docker 安装 MySQL 8.0,成功连接后执行 SHOW DATABASES; 查看默认数据库列表。

  2. 进阶题(难度⭐⭐):创建一个新用户 test_user,密码为 TestPass123!,授予 mydb 数据库的所有权限,并验证连接。

  3. 挑战题(难度⭐⭐⭐):配置 MySQL 允许远程连接(修改 bind-address),并从另一台机器成功连接。

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏