Ich versuche, Identifizierungsinformationen für Prozesse zu sammeln, die unter Windows laufen. Ich konnte den Unterschied zwischen den Binärdateien „mysqld.exe“ und „mysqld-nt.exe“ nicht herausfinden. Was ist der Unterschied und welche Funktionen bieten sie jeweils?
Danke.
Antwort1
Ich glaube, dass es sich um dasselbe handelt: den Hintergrunddienst (auch Daemon genannt), der das MySQL-Programm/die MySQL-Schnittstelle darstellt.
Meines Wissens nach wurde das „-nt“ irgendwann ab Version 5 von MySQL aus den Windows-Versionen entfernt (umbenannt in einfach Mysqld.exe).
Leider kann ich keine Quelle angeben, aber auf unseren MySQL-Servern läuft 5.x und keiner davon verfügt über eine mysqld-nt.exe-Datei, ich weiß jedoch, dass ich sie in der (fernen) Vergangenheit schon einmal gesehen habe.
Antwort2
Hier ist der Unterschied: mysqld-nt.exe
Es handelte sich um eine MySQL-Version, die ein bestimmtes Windows-Kommunikationsprotokoll namens Named Pipes nutzte.
Entsprechend derdas Buch
Kapitel 23 Seiten 352,353 unter dem Abschnitt „23.2 Kommunikationsprotokolle“
Aufzählungspunkt Nr. 3 besagt
Named Pipe-Konventionen werden nur unter Windows unterstützt und nur, wenn Sie einen Server verwenden, der das
-nt
im Namen hat (mysql-nt, mysql-max-nt). Named Pipes sind jedoch standardmäßig deaktiviert. Um Named Pipe-Verbindungen zu aktivieren, müssen Sie den-nt
Server mit der--enable-named-pipe
Option starten.
So wird es im Buch dargestellt. Ich denke, das ist ein Tippfehler. Der Teil, der sagt, (mysql-nt, mysql-max-nt)
sollte lauten (mysqld-nt, mysqld-max-nt)
. Trotzdem wurde die Verwendung benannter Pipes wahrscheinlich als Alternative zu lokalen Hostverbindungen in Windows verwendet.
Ich habe vor 3 Jahren einen Beitrag im DBA StackExchange geschrieben (MySQL-NT stürzt häufig ab) darüber zu diskutieren, wie man davon wegkommen kann, zumales ging EOL April 2011.
Wenn Sie laufen mysqld-nt.exe
und nichts davon wussten--enable-named-pipeOption ist die benannte Pipe nicht aktiviert (Standard). Daher mysqld-nt.exe
würde sich genau wie verhalten mysqld.exe
. Ich würde trotzdem davon Abstand nehmen und einfach verwenden mysqld.exe
.