mysql - 将 MySQL 与 WebStorm 结合使用不起作用

标签 mysql node.js macos webstorm

我有一台 Mac 电脑。我已经成功安装MySQL了。我知道这一点是因为我可以从终端使用 mysql。我什至运行查询,它工作得很好。

我正在尝试使用 WebStorm 学习 Node.js。因此,在 WebStorm 中,我使用 package.json

创建项目
{
  "dependencies":{
    "mysql":"~2.0.0"
  }
}

然后我运行npm install来安装mysql模块。我运行以下代码,该代码不断记录未定义结果。知道缺少什么吗?

'use strict';

var mysql = require('mysql');
var connection = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'myPassword'
});

connection.query(
    'SELECT "foo" as first_field, "bar" as second_field',
    function(err,results,fields){
        console.log(results);
        connection.end();
    }
);

当我记录错误时,我得到以下跟踪:

resutls is:: undefined
{ Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)
    at Handshake.Sequence._packetToError (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/sequences/Sequence.js:30:14)
    at Handshake.ErrorPacket (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/sequences/Handshake.js:67:18)
    at Protocol._parsePacket (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:197:24)
    at Parser.write (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Parser.js:62:12)
    at Protocol.write (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:37:16)
    at Socket.ondata (_stream_readable.js:555:20)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    --------------------
    at Protocol._enqueue (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:110:26)
    at Protocol.handshake (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/protocol/Protocol.js:42:41)
    at Connection.connect (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/Connection.js:81:18)
    at Connection._implyConnect (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/Connection.js:222:10)
    at Connection.query (/Users/mename/WebstormProjects/nodesql/node_modules/mysql/lib/Connection.js:137:8)
    at Object.<anonymous> (/Users/mename/WebstormProjects/nodesql/index.js:10:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
  code: 'ER_ACCESS_DENIED_ERROR',
  errno: 1045,
  sqlState: '28000',
  fatal: true }

最佳答案

我认为您的问题与 WebStorm 无关。您登录 MySQL 的凭据似乎有误。

您是否尝试过使用命令行使用您的凭据登录?它有效还是您的登录也被拒绝?也许 root 登录被禁止。

如果可以进行 CLI 登录,也许以下答案之一会对您有所帮助:

https://superuser.com/questions/603026/mysql-how-to-fix-access-denied-for-user-rootlocalhost

关于mysql - 将 MySQL 与 WebStorm 结合使用不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535159/

相关文章:

node.js - 如何在 Promise 中设置 body?

javascript - 在 Bluebird Promise 中使用一个函数的结果调用另一个函数

node.js - 如何在 NestJs 中使用 Fastify 忽略特定的路由日志记录?

macos - DevTools 在 Intellij 中重启两次

php - 登录表单中的未定义索引错误

php - 将数组保存到数据库 mysql/php

php - JSON 平面文件与数据库查询

mysql - 如何在 Yii2 框架中 ping mysql 服务器

c# - 如何在发布版本中附加第三方库

适用于 MacOS 的 Java 应用程序安装程序