MySQL 8 本地开发环境快速部署指南:Windows与macOS安装配置详解
2026/7/25 6:21:32 网站建设 项目流程

这次我们来看 MySQL 8 的安装和使用。对于开发者、数据分析师或者任何需要本地数据库环境的人来说,MySQL 8 是目前最主流的选择之一。它性能强、功能丰富,但很多人在初次安装配置时,容易被官网下载、环境变量、服务启动、密码设置和时区问题这几个环节卡住,导致“10分钟”变成“一上午”。

这篇文章的目标很直接:让你在10分钟内,从零开始,完成 MySQL 8 的下载、安装、配置,并成功连接使用。我们会重点关注 Windows 和 macOS 两大主流桌面系统的安装流程,并解决安装后最常见的几个连接和配置问题。无论你是为了学习 Java Web 开发、搭建个人项目,还是进行数据分析,一个稳定可用的本地 MySQL 环境都是第一步。

1. 核心能力速览

在动手之前,先快速了解 MySQL 8 的核心特性和本次部署的关键信息。

能力项说明
项目类型开源关系型数据库管理系统 (RDBMS)
最新稳定版MySQL 8.0.x (建议安装最新稳定版,如 8.0.37)
核心功能数据存储、SQL查询、事务处理、用户权限管理、主从复制等
系统支持Windows, macOS, Linux 等主流操作系统
安装方式官方安装包(MSI/DMG)、压缩包、Docker 容器
内存需求基础运行约 200MB+,根据数据量和连接数增长
管理工具命令行mysql,图形化工具如 MySQL Workbench, Navicat, DBeaver
本文演示Windows 10/11 及 macOS 通过官方安装包进行安装和基础配置

2. 适用场景与使用边界

MySQL 8 是一个通用型数据库,但在开始前,需要明确它最适合什么,以及需要注意什么。

适合场景:

  1. 本地学习与开发:学习 SQL 语法、进行 Java/Python/PHP 等后端开发练习、搭建个人博客或小型项目。
  2. 原型验证与测试:在将应用部署到生产环境前,在本地进行功能测试和数据模型验证。
  3. 数据分析与处理:本地处理中小规模数据集,进行数据清洗、转换和查询分析。
  4. 微服务或组件依赖:某些需要数据库支撑的软件(如某些 CMS、论坛系统)可以在本地快速搭建环境。

使用边界与注意事项:

  1. 非生产环境:本文的安装配置主要面向本地开发测试环境。生产环境的部署涉及高可用、备份、监控和安全加固,复杂得多。
  2. 数据安全:安装后务必设置强密码,并理解 root 用户的权限。不要在公网服务器上使用弱密码或默认配置。
  3. 版本兼容性:MySQL 8.0 与旧版(如 5.7)在默认身份验证插件、字符集等方面有差异,老项目迁移时需注意。
  4. 资源占用:虽然轻量,但长期运行的服务仍需内存和磁盘空间。如果只是偶尔用,可以考虑用 Docker 临时启动。

3. 环境准备与前置条件

安装前,请确保你的系统满足基本条件,并做好准备工作。

1. 操作系统确认:

  • Windows: Windows 10 或 Windows 11 系统。确保有管理员权限。
  • macOS: macOS 10.14 或更高版本。同样需要管理员权限。

2. 磁盘空间:

  • 安装程序本身约 500MB - 1GB。
  • 建议预留至少 2GB 的可用空间用于数据库文件和日志。

3. 网络连接:

  • 需要网络以下载 MySQL 安装包。如果网络环境特殊,可提前下载好安装包。

4. 端口确认:

  • MySQL 默认使用3306端口。安装前,检查该端口是否被占用。
    • Windows: 打开命令提示符或 PowerShell,运行netstat -ano | findstr :3306
    • macOS/Linux: 打开终端,运行lsof -i :3306
  • 如果端口被占用(常见于已安装的 MySQL 或其他服务),安装时可以选择其他端口,或先停止占用端口的服务。

5. 卸载旧版本(如有):

  • 如果系统里存在旧版本的 MySQL(如 5.7),建议先彻底卸载,包括删除数据目录,以避免冲突。卸载过程请参考官方文档。

4. Windows 系统安装 MySQL 8

我们首先演示在 Windows 系统上通过官方安装包进行安装,这是最直观的方式。

4.1 下载安装包

  1. 访问 MySQL 官方网站的下载页面:https://dev.mysql.com/downloads/mysql/
  2. 在 “MySQL Community (GPL) Downloads” 部分,点击MySQL Community Server
  3. 在 “Select Operating System” 下拉菜单中,选择Microsoft Windows
  4. 你会看到两个主要的安装包选项:
    • MySQL Installer for Windows (大小约 400MB+): 这是一个图形化安装工具,可以安装 MySQL Server、Workbench、Shell 等多种产品。推荐新手使用。
    • Windows (x86, 64-bit), ZIP Archive: 这是压缩包,需要手动配置,更灵活但步骤稍多。
  5. 本文以MySQL Installer为例。点击对应的 “Download” 按钮。通常网站会提示你登录或注册,你可以直接点击下方的 “No thanks, just start my download.” 链接开始下载。

4.2 运行安装向导

  1. 双击下载好的mysql-installer-web-community-*.msi文件。
  2. 如果系统弹出用户账户控制(UAC)提示,点击“是”。
  3. 安装向导启动后,在 “Choosing a Setup Type” 页面,选择Developer Default。这个选项会安装 MySQL Server 和常用的客户端工具(如 MySQL Workbench)。
  4. 点击 “Next”,安装程序会检查所需依赖。如果有缺失的组件(如 .NET Framework, Python),它会提示你安装,按照提示操作即可。
  5. 在 “Installation” 页面,点击 “Execute” 开始安装。这个过程会下载并安装所选组件,需要一些时间,请保持网络畅通。

4.3 产品配置

安装完成后,会自动进入配置向导。

  1. High Availability: 选择Standalone MySQL Server / Classic MySQL Replication。我们只需要单机版。
  2. Type and Networking:
    • Config Type: 选择Development Computer
    • Connectivity: 确保TCP/IP被选中,端口是3306。可以勾选 “Open Windows Firewall ports for network access” 以便其他机器连接(仅测试环境建议)。
  3. Authentication Method:重要!这里选择Use Strong Password Encryption for Authentication (RECOMMENDED)。这是 MySQL 8 默认的caching_sha2_password插件,安全性更高,大多数现代客户端都支持。
  4. Accounts and Roles:
    • 这是设置 root 用户密码的地方。输入一个你记得住的强密码,并牢记它。例如:MyStrongPass123!
    • 可以点击 “Add User” 创建额外用户,这里我们先跳过。
  5. Windows Service:
    • 确保Configure MySQL Server as a Windows Service被选中。
    • Windows Service Name 保持默认MySQL80
    • 建议选择Start the MySQL Server at System Startup,这样开机后服务会自动运行。
  6. Apply Configuration: 点击 “Execute”,让安装程序应用上述所有配置。完成后点击 “Finish”。

4.4 验证安装

  1. 打开 Windows 搜索,输入 “服务”,打开“服务”应用。
  2. 在服务列表中找到MySQL80(或你自定义的服务名),查看其状态是否为“正在运行”
  3. 打开命令提示符(CMD)或 PowerShell。
  4. 输入以下命令尝试连接数据库:
    mysql -u root -p
  5. 按回车后,会提示你输入密码。输入刚才设置的 root 密码。
  6. 如果成功,你会看到 MySQL 的命令行提示符mysql>。输入SELECT VERSION();并回车,如果显示 MySQL 8.0.x 的版本号,则说明安装成功。
    mysql> SELECT VERSION(); +-----------+ | VERSION() | +-----------+ | 8.0.37 | +-----------+ 1 row in set (0.00 sec)
  7. 输入exit;退出。

5. macOS 系统安装 MySQL 8

在 macOS 上,我们通常使用官方 DMG 安装包或 Homebrew。这里介绍 DMG 安装包方式。

5.1 下载安装包

  1. 同样访问https://dev.mysql.com/downloads/mysql/
  2. 在 “Select Operating System” 下拉菜单中,选择macOS
  3. 你会看到适用于 Apple Silicon (ARM) 和 Intel 芯片的不同版本。根据你的 Mac 芯片类型选择正确的 DMG 文件下载。通常文件名会包含arm64x86_64
  4. 点击 “Download” 按钮,并选择 “No thanks, just start my download.”。

5.2 安装与配置

  1. 双击下载好的.dmg文件,会打开一个包含mysql-8.0.37-macos13-arm64.pkg(名称可能不同)的窗口。
  2. 双击这个.pkg文件,启动安装程序。
  3. 跟随安装向导的提示进行操作,大部分步骤只需点击“继续”、“同意”、“安装”。
  4. 安装过程中会提示你输入 macOS 的管理员密码。
  5. 安装完成后,会弹出一个对话框,提示你root 用户的临时密码务必立即复制或记下这个密码!这个密码是随机生成的,只会显示这一次。
  6. 关闭安装程序。

5.3 配置环境变量与启动服务

安装包通常会自动安装一个“MySQL”偏好设置面板,并尝试启动服务。但我们仍需配置命令行环境。

  1. 启动/停止服务

    • 打开“系统设置”,找到并打开“MySQL”面板。你可以在这里启动、停止 MySQL 服务,以及设置是否开机自启。
    • 或者使用终端命令:
      # 启动 MySQL 服务 sudo /usr/local/mysql/support-files/mysql.server start # 停止 MySQL 服务 sudo /usr/local/mysql/support-files/mysql.server stop # 查看状态 sudo /usr/local/mysql/support-files/mysql.server status
  2. 配置环境变量(方便在任意目录使用mysql命令):

    • 打开终端。
    • 根据你使用的 Shell(通常是 zsh),编辑对应的配置文件。
      # 如果是 zsh (macOS Catalina 及以后默认) nano ~/.zshrc # 如果是 bash nano ~/.bash_profile
    • 在文件末尾添加以下行(请根据你的实际安装路径调整,通常是/usr/local/mysql):
      export PATH=$PATH:/usr/local/mysql/bin
    • Ctrl + O保存,按Ctrl + X退出 nano。
    • 让配置生效:
      source ~/.zshrc # 或 source ~/.bash_profile

5.4 修改 root 密码并验证

由于安装时给的是随机密码,第一步是修改它。

  1. 使用临时密码登录:
    mysql -u root -p
    输入之前记下的临时密码。
  2. 登录成功后,立即修改密码:
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
    例如:ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewStrongPass456!';
  3. 执行刷新权限命令:
    FLUSH PRIVILEGES;
  4. 验证安装和连接:
    SELECT VERSION();
    看到版本号即表示成功。输入exit;退出。

6. 基础使用与核心操作

安装完成后,我们来快速过一遍最核心的数据库操作。这些命令在 Windows 和 macOS 的 MySQL 命令行客户端中通用。

6.1 数据库操作

-- 1. 显示所有数据库 SHOW DATABASES; -- 2. 创建一个新的数据库,并指定字符集为 utf8mb4(支持存储Emoji等字符) CREATE DATABASE mytestdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 3. 使用(切换)到某个数据库 USE mytestdb; -- 4. 删除数据库(谨慎操作!) -- DROP DATABASE mytestdb;

6.2 表操作

假设我们要创建一个用户表。

-- 在使用 `USE mytestdb;` 后,执行以下命令 -- 1. 创建表 CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, -- 自增主键 username VARCHAR(50) NOT NULL UNIQUE, -- 用户名,不能为空且唯一 email VARCHAR(100) NOT NULL, age INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 创建时间,默认为当前时间 ); -- 2. 显示当前数据库中的所有表 SHOW TABLES; -- 3. 查看表的结构 DESCRIBE users; -- 或 SHOW CREATE TABLE users;

6.3 数据操作(增删改查 - CRUD)

-- 1. 插入数据 (Create) INSERT INTO users (username, email, age) VALUES ('alice', 'alice@example.com', 25); INSERT INTO users (username, email, age) VALUES ('bob', 'bob@example.org', 30); -- 2. 查询数据 (Read) -- 查询所有列 SELECT * FROM users; -- 查询特定列 SELECT username, email FROM users; -- 带条件的查询 SELECT * FROM users WHERE age > 26; -- 排序 SELECT * FROM users ORDER BY created_at DESC; -- 限制结果数量 SELECT * FROM users LIMIT 1; -- 3. 更新数据 (Update) UPDATE users SET age = 26 WHERE username = 'alice'; -- 4. 删除数据 (Delete) DELETE FROM users WHERE username = 'bob'; -- 清空表(删除所有数据,但保留表结构) -- TRUNCATE TABLE users;

7. 使用图形化工具连接(MySQL Workbench)

命令行适合快速操作,但图形化工具更直观。MySQL 官方提供的 Workbench 是一个强大的选择。

  1. 打开/安装 Workbench
    • 如果在 Windows 上使用了Developer Default安装类型,Workbench 应该已经安装好了。
    • 也可以在官网单独下载安装。
  2. 创建新连接
    • 打开 MySQL Workbench。
    • 点击 “+” 图标,添加一个新的连接。
  3. 配置连接参数
    • Connection Name: 任意,如My Local MySQL
    • Hostname:127.0.0.1localhost
    • Port:3306
    • Username:root
    • Password: 点击 “Store in Vault…”,输入你的 root 密码并保存。
  4. 测试连接
    • 点击 “Test Connection”。如果出现 “Successfully made the MySQL connection”,说明配置正确。
  5. 连接并使用
    • 双击新创建的连接,进入主界面。
    • 在左侧 “Navigator” 的 “Schemas” 选项卡中,你可以看到所有数据库。
    • 右键点击数据库或表,可以进行创建、查询、修改等所有操作。
    • 在中间的查询编辑器里,你可以编写 SQL 语句,点击闪电图标执行。

8. 必须解决的常见配置问题

安装后,以下几个问题几乎一定会遇到,提前解决可以避免后续开发中的坑。

8.1 时区问题

使用 JDBC 或其他编程语言连接时,如果遇到时间差 8 小时的问题,需要设置时区。

解决方案:

  1. 临时设置(每次连接):在连接字符串或配置中指定时区。
    • JDBC URL 示例:jdbc:mysql://localhost:3306/mytestdb?serverTimezone=Asia/Shanghai
  2. 永久设置(修改MySQL配置)
    • 找到 MySQL 的配置文件my.ini(Windows) 或my.cnf(macOS/Linux)。
      • Windows: 通常在C:\ProgramData\MySQL\MySQL Server 8.0\下。
      • macOS: 可能在/usr/local/mysql-8.0.37-macos13-arm64/support-files/下有模板,或已存在于/etc/my.cnf/etc/mysql/my.cnf
    • [mysqld]部分添加一行:
      default-time-zone = '+08:00'
    • 保存文件,并重启 MySQL 服务。
  3. 通过SQL命令设置(无需重启)
    SET GLOBAL time_zone = '+08:00'; SET time_zone = '+08:00'; -- 验证 SELECT @@global.time_zone, @@session.time_zone;

8.2 身份验证插件问题

如果你用旧的客户端或驱动连接 MySQL 8,可能会报错caching_sha2_password相关错误,因为 MySQL 8 默认使用了新的插件。

解决方案:

  1. 推荐:升级客户端/驱动。确保你的应用(如 Navicat、DBeaver、Python的mysql-connector-python、Java的 Connector/J)版本支持caching_sha2_password
  2. 修改用户插件(不推荐,降低安全性):如果必须使用旧客户端,可以修改 root 用户的认证插件为旧的mysql_native_password
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES;

8.3 忘记 root 密码

这是一个常见问题,可以通过“跳过授权表”的方式重置。

重置步骤(Windows/macOS 思路类似):

  1. 停止 MySQL 服务
    • Windows: 在服务管理器中停止MySQL80,或以管理员运行CMD:net stop MySQL80
    • macOS:sudo /usr/local/mysql/support-files/mysql.server stop
  2. 以安全模式(跳过权限检查)启动 MySQL
    • 打开命令行终端。
    • Windows: 导航到 MySQL 的bin目录,例如cd C:\Program Files\MySQL\MySQL Server 8.0\bin,然后执行:
      mysqld --console --skip-grant-tables --shared-memory
    • macOS: 执行:
      sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
    • 此时终端会挂起,表示服务已以特殊模式启动。不要关闭这个窗口
  3. 打开另一个新的命令行终端,无密码登录 MySQL。
    mysql -u root
  4. 在 MySQL 命令行中,清空 root 密码并刷新权限
    -- 先切换到 mysql 系统数据库 USE mysql; -- 更新 root 用户的密码为空(注意,MySQL 8.0 后密码存储在 authentication_string 字段) UPDATE user SET authentication_string='' WHERE user='root'; -- 刷新权限 FLUSH PRIVILEGES; -- 退出 exit;
  5. 关闭第一步中启动的 MySQL 服务进程。回到第一个终端窗口,按Ctrl + C终止进程。
  6. 正常启动 MySQL 服务
  7. 再次登录 MySQL,此时无需密码mysql -u root
  8. 重新设置一个强密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码'; FLUSH PRIVILEGES; exit;
  9. 完成。之后使用新密码登录。

9. 进阶配置与优化建议

当你的项目开始变得复杂,或者需要更好的性能时,可以考虑以下调整。

9.1 配置文件 (my.ini/my.cnf) 基础调整

找到配置文件后,你可以调整以下常用参数(在[mysqld]部分):

[mysqld] # 设置默认字符集,避免中文乱码 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci # 设置最大连接数,默认151,可根据需要调高 max_connections=200 # 设置查询缓存(注意:MySQL 8.0 已移除查询缓存,此配置无效) # query_cache_type=0 # InnoDB 缓冲池大小,对于开发机,可以设置为物理内存的 50%-70% # 例如,8GB内存的机器可以设置为 4G innodb_buffer_pool_size=4G # 表名大小写敏感。0-敏感(Unix默认),1-不敏感(Windows默认),2-按文件系统 # 建议开发环境统一设置为2,避免跨平台问题 lower_case_table_names=2

注意:修改lower_case_table_names必须在初始化数据库之前。如果数据库已存在数据,修改此参数可能导致问题。修改任何配置后,都需要重启 MySQL 服务生效。

9.2 创建专用应用用户

永远不要在生产环境或重要项目中直接使用 root 用户。为每个应用创建独立的数据库用户,并授予最小必要权限。

-- 1. 创建新用户,并设置密码 CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'AppUserPass123!'; -- 2. 授予用户对特定数据库的所有权限 GRANT ALL PRIVILEGES ON mytestdb.* TO 'myapp_user'@'localhost'; -- 3. 刷新权限 FLUSH PRIVILEGES; -- 4. 此后,你的应用就可以使用 myapp_user 这个账号连接 mytestdb 数据库了。

9.3 定期备份数据

对于重要数据,备份是必须的。最简单的备份方式是使用mysqldump工具。

# 备份整个数据库到文件 mysqldump -u root -p mytestdb > mytestdb_backup_$(date +%Y%m%d).sql # 备份单个表 mysqldump -u root -p mytestdb users > users_backup.sql # 恢复数据库 # 首先,在MySQL中创建一个空数据库(如果需要) # CREATE DATABASE mytestdb_restore; # 然后,使用mysql命令恢复 mysql -u root -p mytestdb_restore < mytestdb_backup_20240527.sql

10. 总结与下一步

通过以上步骤,你应该已经成功在 Windows 或 macOS 上安装并运行了 MySQL 8,掌握了通过命令行和图形化工具进行基本操作的方法,并解决了时区、身份验证等初期常见问题。

最值得尝试的下一步:

  1. 连接你的第一个项目:尝试用 Python (pymysqlmysql-connector-python)、Java (JDBC)、Node.js (mysql2) 或 PHP (PDO) 写一段简单的代码,连接你刚创建的数据库,执行一次插入和查询操作。这是从“安装”到“使用”的关键一步。
  2. 探索图形化工具:花点时间熟悉 MySQL Workbench 的“数据建模”、“性能仪表板”、“用户管理”等功能,它们能极大提升效率。
  3. 理解事务:在命令行中尝试BEGIN;COMMIT;ROLLBACK;,理解数据库事务的基本概念。

最容易踩的坑:

  • 安装后忘记 root 密码:务必在安装完成后立即用mysql -u root -p测试登录,并考虑将密码保存在安全的地方。
  • 时区不一致:在开始任何涉及时间字段的开发前,先按本文方法统一时区设置。
  • 端口冲突:如果 3306 端口被占用,安装或启动会失败。学会用netstatlsof命令检查端口。

MySQL 8 的功能远不止于此,包括窗口函数、通用表表达式 (CTE)、JSON 支持、性能模式等高级特性,都值得在后续深入探索。但对于本地开发和测试环境,你现在已经拥有了一个完全可用的起点。建议将本文中关于配置修改和问题排查的部分收藏,在遇到问题时快速回顾。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询