【问题标题】:Node + MySQL [ECONNREFUSED 127.0.0.1:3306]节点 + MySQL [ECONNREFUSED 127.0.0.1:3306]
【发布时间】:2018-10-31 14:15:24
【问题描述】:

我正在使用 Vue 开发一个项目,其中我正在使用 Node 连接到现有的 MySQL 数据库。

我已成功连接,例如从我的代码中获取消息“已连接到 MySQL 服务器”以显示当我运行节点 connect.js 时它已连接


但是当我尝试下一步(例如创建简单的选择查询并在控制台中显示结果)时,我收到 "error: connect ECONNREFUSED 127.0.0.1:3306" 消息。

我查看了一堆有类似问题的人的其他问题,并且已经修复了

  1. 确保数据库正在运行(它是)
  2. 添加端口
  3. 应用程序套接字路径 我已经尝试了这些解决方案,但错误仍然存​​在。

    CONNECT.JS

    let mysql = require('mysql');
    
    let connection = mysql.createConnection({
    host: '<myhostname>',
    user: '<myusername>',
    password: '<mypass>',
    database: '<mydb>',
    port: '3306',
    socketPath: '/var/lib/mysql/mysql.sock'
    })
    
    connection.connect(function(error){
    if (error){
        return console.error('error: ' + error.message)
    }
    console.log('Connected to the MySQL Server')
    })
    

    SELECT.JS

    let mysql = require('mysql')
    let config = require('./connect.js')
    
    let connection = mysql.createConnection(config)
    
    let sql = 'SELECT * FROM student'
    connection.query(sql,(error,results,fields) => {
        if(error){
            return console.error('error: ' + error.message)
        }
        console.log(results)
    })
    connection.end()
    

select.js 文件有问题吗?还是与数据库的配置有关?

谢谢。

【问题讨论】:

  • 不应该connection.end() 必须在查询的回调中?
  • let config = require('./connect.js'),你的意思是./config.js 吗?
  • @jai 我从这里拿了它mysqltutorial.org/mysql-nodejs/select 改变它没有区别
  • @Jai mysql 对命令进行排队,所以应该没问题。
  • @Keith 因为我的配置文件被称为 connect 我认为它不会有所作为,因为它只是变量名的更改?我是新手,所以也许你是对的

标签: javascript mysql sql vue.js


【解决方案1】:

通过在 select.js 文件中的查询之前包含完整的连接配置来解决此问题。

【讨论】:

    猜你喜欢
    • 2021-01-19
    • 2019-12-22
    • 2019-05-28
    • 2021-02-27
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2021-02-07
    相关资源
    最近更新 更多