MariaDB 10061 错误原因及解决方法

MariaDB 安装后提示 10061 错误是什么原因

默认访问限制

在默认安装情况下,网络只对本地 127.0.0.1 的地址开放。

需要把上面的地址修改为 0.0.0.0 然后重启服务器就好了。

好的,我们来详细分析一下在安装 MariaDB 后遇到 错误 10061 的原因和解决方法。

这个错误代码 10061 并不是 MariaDB 特有的,它是一个标准的 Windows Sockets (Winsock) 错误。它的全称是 WSAECONNREFUSED,意思是 “Connection refused”,即 “连接被拒绝”

简单来说,当你的客户端程序(例如 HeidiSQL, Navicat, DBeaver, 或者你自己的应用程序)尝试连接 MariaDB 服务器时,服务器那端主动拒绝了你的连接请求。

可以把它想象成:你敲了服务器的门,但是服务器直接把门关上了,或者根本就没人开门。


导致 10061 错误的常见原因及排查步骤

请按照以下步骤逐一排查,绝大多数问题都可以通过这些方法解决。

1. MariaDB 服务未运行 (最常见的原因)

这是最常见的原因。服务器根本没启动,自然无法接受任何连接。

如何检查和解决:

  • 通过 Windows 服务管理器:

    1. Win + R 键,输入 services.msc 并回车。
    2. 在服务列表中,找到名为 MariaDBMySQL 的服务 (服务名称可能因你的安装选项而异)。
    3. 查看它的“状态”列。如果不是“正在运行”,就右键点击它,选择“启动”。
  • 通过任务管理器:

    1. Ctrl + Shift + Esc 打开任务管理器。
    2. 切换到“详细信息”或“进程”选项卡。
    3. 查找名为 mysqld.exe 的进程。如果找不到,说明服务没有运行。
  • 如果服务启动失败:
    如果点击“启动”后服务报错无法启动,那问题就更深层了。你需要查看 MariaDB 的错误日志来定位具体原因。日志文件通常位于 MariaDB 安装目录下的 data 文件夹中,文件名通常是 你的主机名.err

2. 防火墙拦截

Windows 防火墙或其他第三方安全软件(如 360、火绒、诺顿等)可能会阻止外部或本地对 MariaDB 端口(默认为 3306)的访问。

如何检查和解决:

  • 暂时关闭防火墙测试:

    • 为了快速诊断,可以暂时关闭 Windows 防火墙或第三方安全软件,然后再次尝试连接。如果能连上,那就确定是防火墙问题。
    • 重要提示: 测试完毕后请务必重新开启防火墙,保证系统安全。
  • 在防火墙中添加入站规则:

    1. 打开“Windows Defender 防火墙” → “高级设置”。
    2. 在左侧选择“入站规则”,然后在右侧点击“新建规则”。
    3. 选择“端口”,点击“下一步”。
    4. 选择“TCP”,在“特定本地端口”中输入 3306,点击“下一步”。
    5. 选择“允许连接”,点击“下一步”。
    6. 根据你的需要选择应用规则的网络类型(域、专用、公用),点击“下一步”。
    7. 给规则取一个名字,例如 “MariaDB Access”,然后点击“完成”。

3. MariaDB 配置问题

MariaDB 的配置文件(通常是 my.inimy.cnf)中的设置可能限制了连接。

如何检查和解决:

  1. 找到 MariaDB 的配置文件 my.ini。它通常位于 MariaDB 安装根目录下,或者在 data 目录里。
  2. 用文本编辑器打开它,检查以下两个关键配置:
  • bind-address

    • 这个配置项决定了 MariaDB 监听哪个 IP 地址的连接请求。
    • 如果设置为 bind-address = 127.0.0.1,那么 MariaDB 只接受来自本机的连接。如果你从另一台电脑连接,就会被拒绝。
    • 如果你希望允许来自任何 IP 地址的连接,可以将其设置为 bind-address = 0.0.0.0,或者直接用 # 注释掉这一行。
  • skip-networking

    • 如果这个配置项存在并且没有被注释掉,它会完全禁用 TCP/IP 网络连接,只允许通过命名管道或套接字等本地方式连接。
    • 检查文件里是否有 skip-networking 这一行。如果有,请在它前面加上 # 将其注释掉:# skip-networking

重要: 修改完 my.ini 文件后,必须重启 MariaDB 服务才能让配置生效!

4. 客户端连接参数错误

检查你用来连接的客户端工具里的设置是否正确。

如何检查和解决:

  • 主机名/IP地址: 你连接的是 localhost127.0.0.1 还是一个具体的局域网 IP?确保这个地址是正确的。如果你在 MariaDB 服务器本机上连接,使用 127.0.0.1localhost 是最稳妥的。
  • 端口号: 确认端口号是否为 3306(或其他你自定义的端口)。有时候会误写成 3308 等。

总结排查流程

当你遇到 10061 错误时,按照这个顺序来排查效率最高:

  1. 第一步:检查服务。 打开 services.msc 确认 MariaDB 服务是否“正在运行”。这是最常见的问题。如果没运行,启动它。
  2. 第二步:检查防火墙。 暂时关闭防火墙,再试一次。如果成功,就去配置防火墙的入站规则。
  3. 第三步:检查配置文件 (my.ini)。 确认 bind-addressskip-networking 的设置是否允许你想要的连接方式。修改后务必重启服务。
  4. 第四步:检查客户端。 仔细核对连接工具里的 IP 地址和端口号是否填写正确。

通过以上步骤,99% 的 10061 连接错误问题都可以得到解决。