首页 > 解决方案 > 从nodeJS连接到mysql,完全没有依赖关系

问题描述

我在这里以及 npm 库https://www.npmjs.com/package/mysql上看到了各种问题

这甚至是 w3schools 推荐的,但我无法找到任何关于从纯原生 nodejs 制作 mysql 客户端的信息(仅在需要时使用 .net 模块)

知道 mysql 不通过 h​​ttp 请求进行通信,而是通过其他类型的套接字进行通信,我无法找到该协议的规范,也没有任何解释如何使用 nodejs 实现它的教程

标签: javascriptmysqlnode.jsprotocols

解决方案


MySQL 客户端/服务器协议记录在这里:

https://dev.mysql.com/doc/internals/en/client-server-protocol.html

这是我知道的唯一资源。我知道它已经过时了,但其中的概念是一个很好的介绍。

坦率地说,每个开发自己的 MySQL 协议实现的项目都是通过阅读代码来实现的。根据定义,代码是协议的最准确和最新的表示。

MySQL 协议的更改是增量的。您从该文档中学到的内容将帮助您理解代码。

这不是那种有教程的项目。潜在读者的受众如此之少,以至于不值得开发教程。

我知道 MySQL 协议的一些实现。例如:

  • libmysqlclient,这是 MySQL 源代码中包含的客户端库。这是用 C 写的。
  • PHP 的 mysqlnd 扩展,也是用 C 编写的,但它是一个单独的实现,因为它的许可不同。
  • MySQL Connector/J,它是客户端的 Java 实现。
  • mysqljs,它是 100% javascript 中 MySQL 协议的 Node.js 实现。这可能正是您打算开发的。但从技术上讲,使用它是一种依赖。

坦率地说,我只会使用现有的实现之一。即使您已经对协议有深入的了解,开发一个新的实现也必然需要几个月的时间。是一丝不苟的工作。


推荐阅读