【问题标题】:Error in insertion:connect ECONNREFUSED插入错误:连接 ECONNREFUSED
【发布时间】:2012-08-07 11:58:57
【问题描述】:

我正在尝试将一个值插入到我的数据库中,即 mydb 并且该表使用 2 个字段用户名和密码登录。我正在使用 express.js 和 MySQL。插入查询的代码是

exports.insert = function(req,res){
    client.query('insert into' +TABLE+ ' SET username=?,password=?' 
                , [req.body.txtUser,req.body.txtPassword]
                ,          
                  function(err,result){  
                     if(err){
                             console.log("error in insertion:"+ err.message);   
                             }
                     else{
                          console.log("query executed");
                          res.json("data inserted");
                          }
                      } 
                 );
             }

当我启动服务器时,它会正常启动;y 并显示消息:

Express 服务器在开发模式下监听 3000 端口

但是,当我访问注册页面并插入值并按提交时,会生成以下错误

插入错误:连接 ECONNREFUSED

谁能帮帮我?

【问题讨论】:

  • 您似乎没有连接到您的 MySQL 服务器,可能是端口错误或主机错误
  • 请检查我的插入查询是否正确
  • ECONNREFUSED 错误表示您没有连接到 MySQL 服务器。这与您的查询无关。
  • 如果此代码打算在客户端浏览器中运行,则必须在 js 中的某处包含有权更新身份验证表的数据库帐户的登录名/密码。您的 JS 代码将允许任何想要窃取所有其他用户密码的人。你真的不想使用这种架构。
  • @j0ntech 但我已经使用 npm 包含了 mysql,我需要安装以连接 mysql,以及我如何检查 mysql 是否正常运行

标签: mysql node.js express


【解决方案1】:

这不是 Node.js 问题。一般情况下,您无法连接到 MySQL 客户端。

您需要在 MySQL 中向您用于连接的用户名授予访问权限。授予访问权限,然后尝试使用 MySQL 客户端或管理工具(例如 MySQL Admin)或命令行mysql 客户端手动登录以测试此连接。请记住,在 MySQL 中,您必须设置 localhost 以及远程。我相信它仍然默认为localhost。例如您需要为其他主机名显式设置admin@*。阅读 MySQL 手册here

一旦您的客户端工作,那么您的 node.js 客户端应该使用相同的用户名和设置工作。

【讨论】:

  • thanku @Ehevutov 问题已经解决了,我来自 windows n 工作 n php 使用 wamp 自动安装 mysql 服务器但在 ubuntu 中我们必须安装 mysql 服务器,我在安装 mysql 后没有这样做服务器问题解决了thanx
猜你喜欢
  • 1970-01-01
  • 2019-04-15
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2019-08-07
  • 2019-03-15
  • 2015-07-27
  • 2014-05-20
相关资源
最近更新 更多