【问题标题】:local mysql connect ECONNREFUSED only on windows本地 mysql 仅在 Windows 上连接 ECONNREFUSED
【发布时间】: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 进入该路径并使用连接参数 stackoverflow.com/questions/14805567/… 运行 mysql.exe

标签: mysql node.js windows xampp


【解决方案1】:

问题不在于 xampp 或任何数据库。问题和不允许连接的 Windows WSL

【讨论】:

    猜你喜欢
    • 2015-07-27
    • 2014-05-20
    • 2021-02-27
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 2018-01-06
    相关资源
    最近更新 更多