凌峰创科服务平台

Windows如何搭建MySQL服务器?

为什么选择在 Windows 上使用 MySQL?

虽然 Linux 是 MySQL 最常见和推荐的服务器环境,但在 Windows 上使用 MySQL 也有其合理性:

Windows如何搭建MySQL服务器?-图1
(图片来源网络,侵删)
  1. 技术栈统一:如果你的整个应用生态(如后端 API、前端、数据库)都在 Windows 上开发和运行(例如使用 .NET Framework/.NET, IIS),在本地使用 MySQL 可以简化开发和测试流程。
  2. 团队技能:如果团队成员更熟悉 Windows 操作系统,在 Windows 上管理数据库会更方便。
  3. 特定软件依赖:某些商业软件或内部工具可能只支持 Windows,需要将数据库部署在 Windows 服务器上。
  4. 快速原型开发:对于个人开发者或小型团队,Windows 提供了一个图形化的、易于上手的环境。

安装 MySQL 服务器

这里我们介绍两种主流的安装方式:MySQL Installer (图形化)ZIP 压缩包 (手动),对于大多数用户,推荐使用 MySQL Installer。

使用 MySQL Installer (推荐)

这是最简单、最省心的方式,尤其适合初学者。

  1. 下载安装程序

  2. 运行安装程序

    Windows如何搭建MySQL服务器?-图2
    (图片来源网络,侵删)
    • 管理员身份 运行下载的 .msi 文件。
    • 在初始界面,选择 "Full" (完整安装) 或 "Custom" (自定义安装),对于新手,Full 是一个不错的选择,因为它包含了 MySQL Server、MySQL Workbench、MySQL Shell 等常用工具。
  3. 选择产品

    • 在产品选择列表中,确保勾选了 "MySQL Server",你可以选择最新的稳定版本(如 8.0.x)。
    • 你也可以选择性地安装 "MySQL Workbench"(一个强大的图形化管理工具)和 "MySQL Shell"(命令行工具)。
  4. 配置服务器

    • 这是最关键的一步,安装程序会进入 "Type and Networking" (类型和网络) 界面。
    • Config Type (配置类型)
      • Development Machine (开发机):仅接受本地连接,内存占用小,适合个人开发。
      • Server Machine (服务器机):为 MySQL 服务分配更多系统资源,接受远程连接,适合测试或生产环境。
      • Dedicated Machine (专用机):将几乎所有可用内存都分配给 MySQL,性能最高,适合纯数据库服务器。
    • Port Number (端口号):默认为 3306,除非有特殊冲突,否则保持默认。
    • Networking Options (网络选项)
      • 勾选 "Enable TCP/IP Networking" (启用 TCP/IP 网络),这是允许远程连接的基础。
      • 如果需要远程连接,在 "Add Firewall Exception for port 3306" 前打勾,安装程序会自动配置 Windows 防火墙。
  5. 设置账户和密码

    • 接下来是 "Accounts and Roles" (账户和角色) 界面。
    • Root Password (root 密码)root 是 MySQL 的超级管理员。请务必设置一个强密码并牢记
    • Confirm (确认):再次输入密码。
    • 你可以在这里创建额外的用户,但初期保持使用 root 即可。
  6. 应用配置并完成安装

    Windows如何搭建MySQL服务器?-图3
    (图片来源网络,侵删)
    • 点击 "Execute" 开始应用配置,等待进度条完成。
    • 配置成功后,点击 "Finish" 完成安装。

安装完成后,MySQL 服务会自动作为 Windows 服务启动。

使用 ZIP 压缩包 (高级/手动)

这种方式更灵活,适合需要将 MySQL 部署在特定目录或进行高度定制化的用户。

  1. 下载 ZIP 包

  2. 解压并准备目录

    • 将 ZIP 文件解压到一个不含空格和中文的路径,C:\mysql-8.0.xx
  3. 配置环境变量

    • C:\mysql-8.0.xx\bin 添加到系统的 PATH 环境变量中,这样你就可以在任何命令行目录下直接使用 mysql, mysqld 等命令。
  4. 创建配置文件

    • C:\mysql-8.0.xx 目录下,创建一个名为 my.ini 的文本文件。
    • 基本配置内容如下:
      [mysqld]
      # 设置 MySQL 的安装目录
      basedir=C:/mysql-8.0.xx
      # 设置 MySQL 的数据存储目录
      datadir=C:/mysql-8.0.xx/data

    端口号

    port=3306

    允许远程连接

    bind-address=0.0.0.0

    字符集

    character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci

  5. 初始化数据目录

    • 管理员身份 打开命令提示符或 PowerShell。
    • 进入 bin 目录:cd C:\mysql-8.0.xx\bin
    • 执行初始化命令:mysqld --initialize --console
    • 重要:命令行输出的最后一行会显示一个临时生成的 root 密码,请务必复制并保存
  6. 安装并启动服务

    • 在同一个管理员命令行窗口中,执行以下命令将 MySQL 安装为 Windows 服务:
      mysqld --install MySQL80

      MySQL80 是服务名,可以自定义)

    • 启动服务:
      net start MySQL80
  7. 修改 root 密码

    • 使用临时密码首次登录:mysql -u root -p
    • 登录成功后,执行以下 SQL 命令修改密码(将 'your_new_password' 替换为你自己的密码):
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
      FLUSH PRIVILEGES;
      EXIT;

基本管理与操作

连接到 MySQL 服务器

  • 使用 MySQL Workbench (图形化)

    • 安装后打开 MySQL Workbench。
    • 点击 号添加新的连接,输入连接名称(如 "Local MySQL Server"),主机名默认为 localhost,用户名 root,然后输入你设置的密码。
    • 点击 "Test Connection" 测试,成功后点击 "OK" 并双击连接即可进入管理界面。
  • 使用命令行

    • 打开命令提示符或 PowerShell。
    • 输入:mysql -u root -p
    • 输入密码,即可进入 mysql> 命令行界面。

常用 SQL 命令

-- 显示所有数据库
SHOW DATABASES;
-- 创建一个新数据库
CREATE DATABASE my_test_db;
-- 使用该数据库
USE my_test_db;
-- 创建一个新表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 插入数据
INSERT INTO users (username, email) VALUES ('john_doe', 'john@example.com');
-- 查询数据
SELECT * FROM users;
-- 更新数据
UPDATE users SET email = 'john.doe@example.com' WHERE username = 'john_doe';
-- 删除数据
DELETE FROM users WHERE username = 'john_doe';
-- 删除表
DROP TABLE users;
-- 删除数据库
DROP DATABASE my_test_db;

配置远程访问 (重要)

默认情况下,MySQL 只允许 localhost (本机) 连接,如果需要从另一台电脑访问,需要进行配置。

  1. 允许 root 用户远程连接

    • 登录到 MySQL 命令行。
    • 执行以下命令,将 root 用户的 通配符授权,表示允许任何 IP 地址连接(注意:有安全风险,生产环境应指定具体 IP)。
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_root_password';
      FLUSH PRIVILEGES;
  2. 检查 Windows 防火墙

    • 打开 Windows Defender 防火墙。
    • 点击 “允许应用或功能通过 Windows Defender 防火墙”。
    • 确保你勾选了 “MySQL” 或你在安装时添加的规则,并且对于“专用”和“公共”网络类型都允许,如果安装时没有自动添加,你需要手动添加一个入站规则,允许 TCP 端口 3306
  3. 检查 MySQL 配置文件 (my.inimy.cnf)

    • 确保在 [mysqld] 部分有 bind-address = 0.0.0.0,这告诉 MySQL 监听所有可用的网络接口。
    • 如果设置为 bind-address = 127.0.0.1localhost,则只能本机访问。

完成以上步骤后,你就可以从网络中的另一台电脑使用 MySQL 客户端连接了,连接字符串格式为:主机名/IP地址:3306


常见问题与解决方案

问题 1:服务无法启动,错误代码 1067

  • 原因:通常是 my.ini 配置文件有语法错误或路径错误。
  • 解决
    1. 检查 my.ini 文件,确保 basedirdatadir 路径正确,且路径中没有中文字符或空格。
    2. 使用命令行查看详细错误日志:打开命令提示符,进入 bin 目录,运行 mysqld --console,日志会直接打印在控制台,根据错误信息定位问题。

问题 2:忘记 root 密码

  1. 停止 MySQL 服务

    • 打开“服务”(在开始菜单搜索 services.msc)。
    • 找到名为 "MySQL80" 的服务,右键选择“停止”。
  2. 以安全模式跳过权限表启动

    • 管理员身份 打开命令提示符。
    • 进入 MySQL 的 bin 目录。
    • 执行命令:mysqld --skip-grant-tables --console
  3. 登录并修改密码

    • 保持这个命令行窗口开启,再打开一个新的命令提示符窗口。
    • 直接输入 mysql 即可登录,无需密码。
    • 执行以下命令(MySQL 8.0+):
      -- 先刷新权限,否则可能无法修改
      FLUSH PRIVILEGES;

    -- 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

  4. 重启服务

    • 关闭两个命令行窗口。
    • 在“服务”中重新启动 MySQL 服务。
    • 使用新密码尝试登录。

问题 3:连接被拒绝 (10061)

  • 原因:MySQL 服务未启动、防火墙阻止、或 IP 地址/端口错误。
  • 解决
    1. 检查 MySQL 服务是否正在运行。
    2. 检查防火墙是否允许 3306 端口。
    3. 确认客户端连接的 IP 地址和端口号是否正确。

在 Windows 上部署 MySQL 服务器是完全可行的,尤其适合开发环境和特定业务场景,通过 MySQL Installer 可以轻松完成安装和初始配置,日常管理中,MySQL Workbench 是一个非常友好的图形化工具,强烈推荐使用。

记住几个关键点:

  • 设置强密码
  • 定期备份数据
  • 谨慎配置远程访问,遵循最小权限原则。
  • 善用日志mysqld --console 是排查启动问题的利器。

希望这份指南能帮助您顺利地在 Windows 上使用 MySQL 服务器!

分享:
扫描分享到社交APP
上一篇
下一篇