问题标签 [node-mysql2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
244 浏览

node.js - 在 node js 中使用 mysql2 包获取数百万条记录

我的 MySQL 数据库在我的一张表中有 200 万条记录。我正在开发一个使用 node.js 从表中获取记录的 api。

我正在使用mysql2包连接到数据库。以下是我从表中获取所有记录的代码。

数据库连接代码

当我点击 API 时出现错误

错误:TypeError:query1.on 不是函数

请向我建议一个解决方案或任何替代方法来获取和处理如此庞大的数据。

0 投票
0 回答
79 浏览

mysql - 我如何将重叠列作为嵌套数组?NodeJS/MySQL (mysql2)

实际上,我正在尝试使用从 github node-mysql- nesting 获得的 main.js 代码多次尝试将我的 mysql 结果作为嵌套数组数据。在想什么?为什么我需要使用该函数将这些查询结果转换为嵌套数组任何人都知道在这些段上帮助我

我得到的是

我的期望是

在我的 main.js

0 投票
1 回答
83 浏览

mysql - NodeJS/mysql2 中的重叠

当我加入 2 个表时,我必须将结果作为嵌套数组我如何在 nodejs 中使用 mysql2

如果我正在执行

我得到的结果是

我的期望是

0 投票
1 回答
519 浏览

node.js - 即使传递数据具有不存在的字段/列,Sequelize 创建行

我正在为我的模型创建一个测试,现在我的场景是我想插入到一个表中,其中的列/字段未在我的Sequelize模式中定义。

这是我的架构示例

这是我要插入的示例数据

我期待它应该返回一个错误,指出模型定义中没有定义sessionID 。

也许我错过了模型上的一些配置。提前致谢

续集版本:5.21.3

节点版本:10.14.2

0 投票
0 回答
1008 浏览

mysql - 使用 nodejs/mysql2 时 MySQL 查询速度超慢,但使用其他客户端时查询速度很快

我有以下查询:

它只返回所有Jobs最新的JobLog. 它工作正常,并且在连接到在容器中运行的数据库的 Sequel Pro 中对其进行测试会返回我之前在 +/- 10ms中添加的所有 1000 个作业。

因为我的 API 是在节点中编写的,并且我在后台使用 sequelize/mysql2,所以我刚刚将上述查询复制到一个sequelize.query()片段中(出于测试目的,一个裸机 mysql2-query-snippet 具有相同的结果) - > 查询需要35 秒mysql 进程保持在 100% CPU。

与例如 Sequel Pro 相比,为什么使用 node/mysql2 时查询要慢得多?我在这里想念什么?

这不是LIMIT 1000客户添加的,因为表中只有 1000 个条目...


编辑

$ EXPLAIN <SQL>返回以下内容:

而且我正在使用mysql:5.7.20docker 容器,没有任何我知道的额外配置......


编辑 2

它看起来不像是缓存的东西。删除并重新创建数据库,然后插入新的(随机)值,然后使用 Sequel Pro 进行第一次查询会导致大约 30 毫秒的响应。

0 投票
1 回答
338 浏览

node.js - node-mysql2:结果集未反映最新结果

我正在使用带有连接池和连接限制为 10 的 node-mysql2。当我重新启动应用程序时,结果很好 - 它们与我在 db 上的匹配。但是当我开始插入新记录并重做相同的选择查询时,我会得到间歇性的结果,缺少我刚刚添加的最新记录。

如果我直接检查数据库,我可以看到我刚刚通过我的应用程序添加的记录。只是应用程序无法以某种方式看到它。

我认为这是一个错误,但这是我的代码设置方式:

这是我的选择查询:

这是我的插入查询:

如果我将 connectionLimit 设置为 1,我将无法重现问题……至少现在还没有

知道我做错了什么吗?

0 投票
2 回答
97 浏览

mysql - 可以通过 mysql 工作台连接到远程 mysql 数据库,但不能通过 mysql2 (NodeJS)

我正在尝试将我的 NodeJS 应用程序连接到我的远程 MySQL 数据库,但它一直给我一个 1045 错误('ER_ACCESS_DENIED_ERROR')。从同一个工作站,我可以通过 MySQL Workbench 完美地连接到同一个数据库。

这让我认为问题出在我的 NodeJS 设置上,但是将数据库复制到本地设置然后连接它,工作得很好。为了测试,我创建了一个带有 host: % 的数据库用户,并从我的 Node 应用程序连接到托管数据库的 IP 地址。我将它托管在我自己的 Centos 7 droplet 上,并将我的工作站 IP 列入白名单。

我得到的错误信息是:

"Access denied for user '[the test user I made]'@'[workstation ip]' (using password: YES)"

任何帮助深表感谢!

0 投票
2 回答
910 浏览

node.js - mysql2中的多个语句-nodejs

我在我的nodejs项目中使用mysql2,在mysql库中我使用多个语句来更新我的数据库并且效果很好,但是由于某种原因在mysql2中它不起作用,我搜索了很多并且没有找到任何解决方案,mysql2不支持多语句吗??

  • 这是多个查询

    /li>

在 mysql.createConnection 我添加了 multipleStatements: true

  • 这是错误

UnhandledPromiseRejectionWarning: E​​rror: You have an error in your SQL syntax; 检查与您的 MySQL 服务器版本相对应的手册,以获取在“更新”附近使用的正确语法

当我将它复制并粘贴到 phpMyAdmin 控制台中时,该查询工作得很好

0 投票
3 回答
2036 浏览

mysql - 如何在 NodeJS 中创建一个查询 MySQL 的函数?

我做的:

我回来了

我如何从查询数据库中取回我的结果,就像 PHP 可以做的那样?
在 PHP 中,我从来不需要做像 async/await 和 promises 这样的事情......

我也尝试过使用 mysql:

但我得到了一个未定义的结果

0 投票
3 回答
2947 浏览

mysql - aws rds proxy throws timeout error from nodejs12.x

I'm getting a connection timeout when I try to connect to mysql rds proxy. I'm followed this tutorial

This is my code

And this is the response

I already checked that my lambda function has a policy "rds-db:connect" to "*" resource. Besides, I checked that my proxy is in the same VPC and subnet that my rds db. The secret that holds the credentials to RDS is ok. What I am doing wrong?