问题描述
我在这里以及npm库https://www.npmjs.com/package/mysql
上看到了各种问题w3schools甚至推荐了哪一个,但我一直无法从纯本地节点(仅在需要时使用.net模块)中找到有关制作MysqL客户端的任何信息
由于意识到MysqL并不是通过http请求进行通信,而是通过其他套接字进行通信,因此我无法找到该协议的规范,也没有任何说明如何使用nodejs实现该协议的教程。
解决方法
此处记录了MySQL客户端/服务器协议:
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,这是100%javascript中MySQL协议的Node.js实现。这可能正是您建议开发的。但是从技术上来说,使用它是一个依赖项。
坦率地说,我只使用现有的实现之一。即使您已经对该协议有深刻的了解,开发新的实现也将花费数月的时间。这是细致的工作。