Windows で実行されているプロセスの識別情報を収集しようとしています。 'mysqld.exe' と 'mysqld-nt.exe' バイナリの違いがわかりません。違いは何ですか。また、それぞれにどのような機能がありますか。
ありがとう。
答え1
これらは同じものであり、MySQL プログラム/インターフェースであるバックグラウンド サービス (別名デーモン) であると私は考えています。
私の理解では、MySQL のバージョン 5 あたりで、Windows バージョンから「-nt」が削除されました (Mysqld.exe に名前が変更されました)。
残念ながら引用できるソースはありませんが、弊社の MySQL サーバーは 5.x を実行しており、そのいずれにも mysqld-nt.exe ファイルがありません。ただし、(遠い)過去にそれを見たことがあることは知っています。
答え2
違いは次のとおりです:mysqld-nt.exe
名前付きパイプと呼ばれる特定の Windows 通信プロトコルを利用した MySQL のバージョンです。
による本
第 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 ホスト接続を行う代わりに使用されていた可能性があります。
私は3年前にDBA StackExchangeに投稿しました(MySQL-NT が頻繁にクラッシュする)どうすればそこから抜け出せるかを議論する。特に2011年4月に販売終了となった。
もしあなたが走っていmysqld-nt.exe
て、--名前付きパイプを有効にするオプションでは、名前付きパイプは有効になっていません (デフォルト)。したがって、はmysqld-nt.exe
とまったく同じように動作しますmysqld.exe
。それでも、私はそれを避けて を使用しますmysqld.exe
。