从完全没有依赖关系的 nodeJS 连接到 mysql
Connect to mysql from nodeJS with NO dependencies at all
我在此处以及 npm 库中看到了各种问题 https://www.npmjs.com/package/mysql
它甚至被 w3schools 推荐,但我无法找到任何关于从纯原生 nodejs 制作 mysql 客户端的信息(仅在需要时使用 .net 模块)
我知道 mysql 不是通过 http 请求进行通信,而是通过某种其他类型的套接字进行通信,我无法找到该协议的规范,也找不到任何解释的教程如何用nodejs
实现
MySQL Client/Server 协议记录在此处:
https://dev.mysql.com/doc/internals/en/client-server-protocol.html
这是我所知道的唯一资源。我知道它已经过时了,但是其中的概念是一个很好的介绍。
坦率地说,每个开发自己的 MySQL 协议实现的项目都是通过阅读代码来实现的。根据定义,该代码是协议最准确和最新的表示形式。
对 MySQL 协议的更改是增量的。您从该文档中学到的内容将帮助您理解代码。
这不是那种有教程的项目。潜在读者的受众太少了,不值得开发教程。
我知道 MySQL 协议的一些实现。例如:
- libmysqlclient,这是 MySQL 源代码中包含的客户端库。这是用C写的。
- PHP's mysqlnd extension,它也是用 C 编写的,但它是一个单独的实现,因为它的许可不同。
- MySQL Connector/J,这是客户端的 Java 实现。
- mysqljs,这是 MySQL 协议 100% javascript 的 Node.js 实现。这可能正是您打算开发的。但从技术上讲,使用它是一种依赖。
坦率地说,我只会使用现有的实现之一。开发一个新的实现肯定需要几个月的时间,即使你已经对协议有了深刻的理解。做工精细
我在此处以及 npm 库中看到了各种问题 https://www.npmjs.com/package/mysql
它甚至被 w3schools 推荐,但我无法找到任何关于从纯原生 nodejs 制作 mysql 客户端的信息(仅在需要时使用 .net 模块)
我知道 mysql 不是通过 http 请求进行通信,而是通过某种其他类型的套接字进行通信,我无法找到该协议的规范,也找不到任何解释的教程如何用nodejs
实现MySQL Client/Server 协议记录在此处:
https://dev.mysql.com/doc/internals/en/client-server-protocol.html
这是我所知道的唯一资源。我知道它已经过时了,但是其中的概念是一个很好的介绍。
坦率地说,每个开发自己的 MySQL 协议实现的项目都是通过阅读代码来实现的。根据定义,该代码是协议最准确和最新的表示形式。
对 MySQL 协议的更改是增量的。您从该文档中学到的内容将帮助您理解代码。
这不是那种有教程的项目。潜在读者的受众太少了,不值得开发教程。
我知道 MySQL 协议的一些实现。例如:
- libmysqlclient,这是 MySQL 源代码中包含的客户端库。这是用C写的。
- PHP's mysqlnd extension,它也是用 C 编写的,但它是一个单独的实现,因为它的许可不同。
- MySQL Connector/J,这是客户端的 Java 实现。
- mysqljs,这是 MySQL 协议 100% javascript 的 Node.js 实现。这可能正是您打算开发的。但从技术上讲,使用它是一种依赖。
坦率地说,我只会使用现有的实现之一。开发一个新的实现肯定需要几个月的时间,即使你已经对协议有了深刻的理解。做工精细