如何将 node.js 连接到 mySQL 数据库? [复制]

Posted

技术标签:

【中文标题】如何将 node.js 连接到 mySQL 数据库? [复制]【英文标题】:How do I connect node.js to my SQL database? [duplicate] 【发布时间】:2019-11-10 08:03:34 【问题描述】:

我正在尝试将节点 js 连接到根据 mysql Workbench 启动并运行的 MySQL 数据库。但是通常的创建连接代码模板不起作用。

关于为什么会这样的任何想法?

我尝试在connection.connect() 部分周围放置一个函数和错误,以查看它是否真正连接。但是终端窗口仍然出现同样的错误:

Marcs-MacBook-Pro:npm-global marcwatts$ node index.js
Error while performing Query.

我们认为它连接正常还是一开始就没有连接?

var mysql      = require('mysql');
var connection = mysql.createConnection(
  host     : 'localhost',
  user     : 'root',
  password : '<hidden from stack overflow>',
  database : 'songdata'

);

connection.connect();


connection.query('SELECT * from songdata2', function(err, rows, fields)       
  if (!err)
    console.log('The solution is: ', rows);
  else
    console.log('Error while performing Query.');
);

connection.end();

我只是想连接,这样我就可以学习如何编写代码来获取每首歌曲并将其歌词放入 Watson Tone 分析器中,并将结果输出到 MySQL 中的一个新表中。对这部分的任何建议也将不胜感激,因为我是网络应用程序的新手!

【问题讨论】:

这是 MYSQL V8 服务器吗 如果您将错误消息放在您的问题中,而不是在尝试回答时的评论中,您将更快地获得有用的帮助 【参考方案1】:
The recommended way to establish a connection is this:

var mysql      = require('mysql');
var connection = mysql.createConnection(
  host     : 'example.org',
  user     : 'bob',
  password : 'secret'
);

connection.connect(function(err) 
  if (err) 
    console.error('error connecting: ' + err.stack);
    return;
  

  console.log('connected as id ' + connection.threadId);
);

【讨论】:

感谢您的回复 :) 。刚刚尝试过,这是错误: 连接错误:错误:ER_NOT_SUPPORTED_AUTH_MODE:客户端不支持服务器请求的身份验证协议;考虑升级 MySQL 客户端 这部分解决了您的问题。尝试另一个名为 sequelize 的库 我现在正在使用它,但它似乎不喜欢“方言”这个词(按照使用 docs.sequelizejs.com/manual/getting-started.html 的指示)。这是正确的方法吗? /Users/marcwatts/Desktop/mxw817/DBTestApp/npm-global/index.js:4 dialect: 'mysql' ^^^^^^^ SyntaxError: Unexpected identifier

以上是关于如何将 node.js 连接到 mySQL 数据库? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Node.js - 连接到 MySQL 数据库服务器

如何将 plunker 连接到本地 Node.js 服务器?

如何将 HTML 页面连接到 MongoDB?

通过 node.js 连接到 mysql 时出现未知数据库错误

无法连接到 mySQL 服务器,Windows 10/Node.js

使用 Node.js 从 AWS Lambda 函数连接到 MySql 数据库,没有连接回调