【发布时间】:2018-10-31 14:15:24
【问题描述】:
我正在使用 Vue 开发一个项目,其中我正在使用 Node 连接到现有的 MySQL 数据库。
我已成功连接,例如从我的代码中获取消息“已连接到 MySQL 服务器”以显示当我运行节点 connect.js 时它已连接
但是当我尝试下一步(例如创建简单的选择查询并在控制台中显示结果)时,我收到 "error: connect ECONNREFUSED 127.0.0.1:3306" 消息。
我查看了一堆有类似问题的人的其他问题,并且已经修复了
- 确保数据库正在运行(它是)
- 添加端口
-
应用程序套接字路径 我已经尝试了这些解决方案,但错误仍然存在。
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