本地 mysql 仅在 Windows 上连接 ECONNREFUSED
Posted
技术标签:
【中文标题】本地 mysql 仅在 Windows 上连接 ECONNREFUSED【英文标题】:local mysql connect ECONNREFUSED only on windows 【发布时间】:2021-05-10 17:02:00 【问题描述】:我已经尝试了一切,但只是在 Windows 上拒绝任何与数据库的连接,我使用了 xampp、manp、easyphp 和 mysql 工作台,但每个人都有同样的问题。 linux中的xampp可以完美地使用相同的代码,但是在windows中并被拒绝,我也尝试关闭防火墙并授予权限,但这也没有帮助,我看到有mysql进程,但仍然没有。
我使用以下代码只是为了测试它是否正在连接。
var mysql = require('mysql');
var con = mysql.createConnection(
host:"localhost",
user:"root",
port: 3306,
password:""
);
con.connect(function(err)
if (err) throw err;
console.log("Connected!");
);
还有出口
/mnt/d/Projetos/EstudoNode/teste.js:11
if (err) throw err;
^
Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
--------------------
at Protocol._enqueue (/mnt/d/Projetos/EstudoNode/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/mnt/d/Projetos/EstudoNode/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at Connection.connect (/mnt/d/Projetos/EstudoNode/node_modules/mysql/lib/Connection.js:116:18)
at Object.<anonymous> (/mnt/d/Projetos/EstudoNode/teste.js:10:5)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 3306,
fatal: true
我正在尝试使其与 xampp 一起工作,我尝试更改端口,但在这种情况下,Windows Defender 会阻止 myql 启动。
这两天我一直在尝试各种解决方案,但我不知道该怎么做
edit1:我刚刚注意到它在xampp中也出现了这个错误,我不知道它是否会影响连接。
edit2:我尝试用下面的php代码连接,连接成功,所以我认为是windows上的nodejs有问题。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$conn = mysqli_connect($servername, $username, $password);
if (!$conn)
die("Connection failed: " . mysqli_connect_error());
echo "Connected successfully";
mysqli_close($conn);
?>
【问题讨论】:
首先尝试将 t´ 与 mysql 客户端连接,如果这也可以正常工作,则必须检查配置和 wtat 授予用户 rt 的权限。您还可以尝试使用 127.0.0.0.1 insteqad f localhost 已经用 127.0.0.1 尝试过如何连接 mysql 客户端? 只需使用mysql -h 127.0.0.1 -u root -p
Windows cmd 无法识别 mysql 命令
它在那里,你必须找到它的安装位置,比如C:\Program Files\MySQL Server xxx\bin
。 chdir 进入该路径并使用连接参数 ***.com/questions/14805567/… 运行 mysql.exe
【参考方案1】:
问题不在于 xampp 或任何数据库。问题和不允许连接的 Windows WSL
【讨论】:
以上是关于本地 mysql 仅在 Windows 上连接 ECONNREFUSED的主要内容,如果未能解决你的问题,请参考以下文章
Winsock 连接失败并显示 WSAEFAULT |仅在 Windows 11 上出现错误
Windows平台使用Navicat for MySQL通过SSH密钥认证连接远程MySQL数据库