Windows 上的 MySQL - 有关二进制文件的问题

Windows 上的 MySQL - 有关二进制文件的问题

我正在尝试收集在 Windows 上运行的进程的识别信息。我无法发现“mysqld.exe”和“mysqld-nt.exe”二进制文件之间的区别。它们有什么区别?每个都提供哪些功能?

谢谢。

答案1

我相信它们是同一件事,即后台服务(又名守护进程),即 MySQL 程序/接口。

据我所知,“-nt”在 MySQL 5 左右从 Windows 版本中删除(重命名为 Mysqld.exe)。

不幸的是我没有来源可以引用,但是我们的 MySQL 服务器运行 5.x,并且它们都没有 mysqld-nt.exe 文件,但我知道我曾经在(遥远的)过去见过它。

答案2

区别在于:mysqld-nt.exeMySQL 版本利用了名为命名管道的特定 Windows 通信协议。

根据这本书

在此处输入图片描述

第 23 章第 352、353 页,标题为“23.2 通信协议”的部分

要点 #3 说

命名管道约定仅在 Windows 上受支持,并且仅当您使用名称中包含 的服务器之一-nt(mysql-nt、mysql-max-nt)时才受支持。但是,默认情况下禁用命名管道。要启用命名管道连接,您必须-nt使用该--enable-named-pipe选项启动服务器。

书中是这样介绍的。我认为这是一个拼写错误。说的部分(mysql-nt, mysql-max-nt)应该是(mysqld-nt, mysqld-max-nt)。尽管如此,使用命名管道可能被用作在 Windows 中进行 localhost 主机连接的替代方案。

三年前,我在 DBA StackExchange 上发表了一篇文章(MySQL-NT 频繁崩溃)讨论如何摆脱它,尤其是因为2011 年 4 月停产

如果你正在跑步mysqld-nt.exe,但你不知道--启用命名管道选项,命名管道未启用(默认)。因此,mysqld-nt.exe其行为与 完全相同mysqld.exe。我还是会避开它,直接使用mysqld.exe

相关内容