Windows Server 2019在腾讯云上如何正确安装MySQL数据库?

在腾讯云 Windows Server 2019 实例上正确安装 MySQL 数据库,推荐采用 官方 MSI 安装包 + 手动配置 的方式(比 ZIP 解压版更稳定、服务管理更规范),并遵循安全最佳实践。以下是详细、可落地的操作指南:


✅ 前置准备

  1. 确认系统环境

    • 腾讯云 CVM 已成功启动,操作系统为 Windows Server 2019(64位)
    • 已使用管理员权限登录(建议通过「远程桌面」连接)
    • 确保已关闭或配置好 Windows 防火墙(或放行 MySQL 端口)
    • 网络安全组(腾讯云控制台)已放行 TCP 3306 端口(如需网络访问,强烈不建议直接开放3306到公网,见安全提示)
  2. 下载官方安装包

    • 访问 MySQL 官网下载页面
    • 选择:MySQL Community Server → Windows (x86, 64-bit), MSI Installer
    • ✅ 推荐版本:MySQL 8.0.x LTS(如 8.0.33 或最新 8.0.x,避免使用 5.7,因已停止维护)
    • 下载后上传至服务器(如 C:mysql-installer.msi

🛠 步骤一:运行 MySQL Installer(图形化安装)

⚠️ 必须以 管理员身份运行(右键 → “以管理员身份运行”)

  1. 双击 mysql-installer.msi,启动安装向导
  2. 选择安装类型:
    • Server only(仅安装 MySQL Server)
      (若需 Workbench 等工具,可选 "Full",但生产环境建议最小化安装)
  3. 检查依赖(Installer 会自动下载并安装 Visual C++ Redistributable 等必要组件)
  4. 点击 Execute 安装依赖 → 完成后点击 Next

🛠 步骤二:配置 MySQL Server(关键步骤!)

  1. 进入 Configuration 页面 → 点击 Next
  2. Type and Networking
    • Server Configuration: Standalone MySQL Server
    • Connectivity:
      • TCP/IP Enabled
      • Port: 3306(默认,可自定义但需同步修改防火墙/安全组)
      • Skip Networking Configuration(不要勾选!否则禁用网络连接)
      • 🔐 Use Strong Password Encryption(必须勾选,启用 caching_sha2_password 插件)
  3. Authentication Method
    • Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)

      ⚠️ 注意:MySQL 8.0 默认使用 caching_sha2_password,但部分旧客户端(如某些.NET驱动、老版Navicat)可能不兼容。
      生产建议:保持默认(Strong Password),并在客户端升级支持后再使用;若必须兼容,再选 Legacy。

  4. Accounts and Roles
    • 设置 root 密码(务必强密码!如 My$qlP@ss2024!
    • 可添加其他管理用户(非必需,root 足够)
  5. Windows Service
    • Configure MySQL Server as a Windows Service
    • Service Name: MySQL80(默认,可自定义但勿含空格)
    • Start the MySQL Server at System Startup(开机自启)
  6. Apply Configuration → 点击 Execute,等待初始化完成(约1–2分钟)
  7. 点击 Finish 完成安装

✅ 验证安装是否成功

  1. 检查服务状态

    • Win + R → 输入 services.msc → 查找服务名 MySQL80 → 状态应为 正在运行
  2. 命令行测试连接

    cd "C:Program FilesMySQLMySQL Server 8.0bin"
    mysql -u root -p
    # 输入安装时设置的 root 密码

    成功进入 mysql> 提示符即表示安装成功。

  3. 查看基础信息

    SELECT VERSION(); 
    SHOW VARIABLES LIKE 'port'; 
    SHOW VARIABLES LIKE 'basedir'; 
    EXIT;

🔐 关键安全加固(腾讯云环境必做!)

风险点 操作 说明
❌ 默认允许所有IP连接 编辑 my.ini(路径:C:ProgramDataMySQLMySQL Server 8.0my.ini [mysqld] 下添加:
bind-address = 127.0.0.1
✅ 仅本地连接(最安全)
如需内网其他CVM访问,改为 bind-address = 0.0.0.0 + 严格限制安全组仅允许可信内网IP段(如 10.0.1.0/24
❌ root 远程登录 登录 MySQL 后执行: sql<br>USE mysql;<br>DELETE FROM user WHERE Host NOT IN ('localhost', '127.0.0.1') AND User='root';<br>FLUSH PRIVILEGES;<br>
❌ 弱密码 / 空密码 强制修改(如已泄露): sql<br>ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'YourStrongPass123!';<br>FLUSH PRIVILEGES;<br>
❌ 未限制安全组 腾讯云控制台 → 云服务器 CVM → 安全组 → 编辑规则 删除或禁用 33060.0.0.0/0 入站规则!仅保留:
– 内网访问:10.0.0.0/8(或具体子网)
– 本地调试:你的办公IP(临时)

💡 连接建议(开发/运维)

  • 内网连接(推荐):
    其他腾讯云 CVM 使用内网 IP(如 10.0.1.100)+ 3306 端口连接(需安全组放行)

  • 远程管理(谨慎):
    ✅ 使用 腾讯云堡垒机SSH隧道(Windows 可用 PuTTY + OpenSSH)转发 3306
    ❌ 禁止直接将 3306 暴露到公网!

  • 客户端工具

    • 推荐:MySQL Workbench(官方,支持 8.0+)
    • 替代:DBeaver(开源)、Navicat(需 ≥15.0 版本支持 caching_sha2_password

❌ 常见错误及解决

现象 原因 解决方案
Can't connect to MySQL server on '127.0.0.1' (10061) 服务未启动 / 端口被占 services.msc 检查 MySQL80 服务状态;netstat -ano | findstr :3306 查端口占用
Access denied for user 'root'@'localhost' 密码错误 / 认证插件不匹配 重置密码(官方文档)或检查安装时选的认证方式
安装卡在 "Starting the server…" 杀毒软件拦截 / UAC 权限不足 临时关闭 Defender 实时防护;确保以管理员运行安装程序
The service already exists 之前安装残留 运行 sc delete MySQL80(管理员CMD),删除 C:ProgramDataMySQL 目录,重装

✅ 最佳实践总结

  • ✅ 使用 MySQL 8.0.x LTS + MSI 官方安装包
  • 禁用公网 3306,仅通过内网或跳板机访问
  • bind-address = 127.0.0.1 + 安全组最小化授权
  • ✅ root 仅限本地登录,创建专用应用账号(CREATE USER 'appuser'@'10.0.1.%' IDENTIFIED BY '...'
  • ✅ 定期备份(使用 mysqldump + 腾讯云 COS 存储)
  • ✅ 启用 MySQL 错误日志与慢查询日志(my.ini 中配置 log-error, slow_query_log

如需自动化部署(例如配合腾讯云脚本或 Ansible),我可提供 PowerShell 一键安装脚本(含静默安装、安全配置、服务注册)。欢迎继续提问!

需要我为你生成该 PowerShell 脚本,或指导如何配置主从复制、读写分离? 😊

未经允许不得转载:ECLOUD博客 » Windows Server 2019在腾讯云上如何正确安装MySQL数据库?