要在Windows系统中成功连接MySQL数据库,必须先确保MySQL服务已正确安装并正在运行,否则任何连接尝试都会失败;接着按步骤启动服务、检查端口占用、配置环境变量、使用命令行或Workbench连接,并注意认证插件兼容性及远程访问权限设置。

要在Windows系统中成功连接MySQL数据库,必须先确保MySQL服务已正确安装并正在运行,否则任何连接尝试都会失败。
确认MySQL服务已启动
按 Win + R 输入 services.msc → 在服务列表中找到名称为 MySQL80(或你安装时自定义的服务名,如 MySQL57、MySql)的服务 → 右键选择“启动”,若状态已是“正在运行”则跳过此步。
⚠️ 如果服务启动失败,常见原因是端口 3306 被其他程序(如 Skype、另一实例的 MySQL)占用。此时需在命令行执行 netstat -ano | findstr :3306 查出 PID,再用任务管理器结束对应进程,或修改 MySQL 配置文件 my.ini 中的 port=3307 后重启服务。
使用命令行客户端直连本地数据库
打开 CMD 或 PowerShell → 输入命令:mysql -h 127.0.0.1 -u root -p → 回车后输入安装时设置的 root 密码。
如果提示 'mysql' 不是内部或外部命令,说明环境变量未配置。此时需将 MySQL 的 bin 目录路径(例如 C:\Program Files\MySQL\MySQL Server 8.0\bin)添加到系统 Path 变量中,然后重新打开 CMD 窗口再试。
连接成功后会显示类似 mysql> 提示符,表示已进入 MySQL 交互式命令行。
用 MySQL Workbench 图形化连接
方法一:首次启动自动弹出“Setup New Connection”窗口 → 在 Connection Name 填写任意标识名(如 LocalRoot)→ Hostname 保持 127.0.0.1 → Port 填 3306(若改过端口请同步修改)→ Username 填 root → 点击右下角 Test Connection → 输入密码 → 显示 “Connection successful!” 即可保存并双击连接。
方法二:已存在连接 → 左侧导航栏右键连接名 → 选择 Edit Connection → 检查 Hostname、Port、Username 是否匹配实际配置 → Test Connection 验证。
注意:若安装时选择了 Use Legacy Authentication Method,Workbench 才能正常连接;若选了默认强认证方式(caching_sha2_password),而 Workbench 版本较旧(如 8.0.19 之前),可能报错。此时需在 MySQL 命令行中执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
在 C# 程序中通过代码连接
第一步:在 Visual Studio 项目中,通过 NuGet 包管理器安装 MySql.Data(推荐 8.3.0+)或组合 Dapper + MySql.Data。
第二步:编写连接字符串。关键字段必须准确:
Server=127.0.0.1;Port=3306;Database=testdb;Uid=root;Pwd=your_password_here;
第三步:在代码中建立连接并测试:
using var conn = new MySqlConnection(connectionString);
conn.Open();
Console.WriteLine("Connected successfully!");
⚠️ 若抛出异常 Authentication plugin 'caching_sha2_password' cannot be loaded,说明驱动不兼容认证插件。解决方案有两个:【要么降级认证方式】(执行上一节的 ALTER USER 语句),【要么升级驱动】(确保 MySql.Data ≥ 8.0.23)。
允许远程主机连接(非本地)
第一步:以 root 登录 MySQL 命令行 → 执行:USE mysql;
第二步:查看当前 root 用户绑定的 host:SELECT host, user FROM user WHERE user='root';
第三步:若只显示 localhost,则 root 无法从其他机器连接。执行以下命令开放权限(谨慎操作):
CREATE USER 'root'@'%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
第四步:检查 Windows 防火墙是否放行 3306 端口 → 控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则 → 端口 → TCP 3306 → 允许连接 → 应用于所有配置文件。
第五步:在远程机器上用客户端(如 Navicat、Workbench 或命令行)连接,Host 填写 Windows 主机的局域网 IP(如 192.168.1.100),而非 127.0.0.1。











