0

I'm trying to gather identifying information for processes running on Windows. I've been unable to discover the difference between the 'mysqld.exe' and 'mysqld-nt.exe' binaries. What is the difference, and what functions are supplied by each?

Thanks.

1
  • Based on myresearch one is the demon and the other the windows-nt service. Unless you have MySQL installed you should just end the process.
    – Ramhound
    Commented Aug 13, 2014 at 15:56

2 Answers 2

0

I believe they are the same thing, the background service (aka Daemon) that is the MySQL program/interface.

From my understanding the "-nt" was dropped from the Windows versions (renamed to just Mysqld.exe) sometime around version 5 of MySQL.

I have no source to cite unfortunately, but our MySQL servers run 5.x on them, and none of them have a mysqld-nt.exe files on them, but I know I've seen it in the (distant) past.

2
  • I'm looking specifically at MySQL 5.0 here, and I think you're right in that they dropped the '-nt' after this version. I'm seeing both processes running at the same time though. I think Ramhound, above, was right in that the 'mysqld.exe' is the server itself whereas the 'mysqld-nt.exe' is the Microsoft service. I would like to verify that though.
    – GROND
    Commented Aug 13, 2014 at 20:25
  • We don't have an "-nt" version running, nor do we even have the file at all on our 5.5 servers (that I could find). Perhaps there's more than one instance/version of MySQL running on the machine? Embedded DB in a program maybe? Commented Aug 13, 2014 at 22:15
0

Here is the difference: mysqld-nt.exe was a version of MySQL that took advantage of a specific Windows Communication Protocol called Named Pipes.

According to the the Book

enter image description here

Chapter 23 Pages 352,353 under the Section entitled "23.2 Communication Protocols"

Bulletpoint #3 says

Named-pipe conventions are supported only on Windows and only if you use one of the server that has the -nt in its name (mysql-nt, mysql-max-nt). However, named pipes are disabled by default. To enable named-pipe connections, you must start the -nt server with the --enable-named-pipe option.

This is how the book presents it. I think it is a typo. The part that says (mysql-nt, mysql-max-nt) should say (mysqld-nt, mysqld-max-nt). Nevertheless, using named pipes was probably used as an alternative to doing localhost host connections in Windows.

I wrote a post 3 years ago in the DBA StackExchange (MySQL-NT is crashing frequently) discussing how one should get away from it, especially since it went EOL April 2011.

If you are running mysqld-nt.exe and you did not know about --enable-named-pipe option, the named pipe is not enabled (default). Therefore, mysqld-nt.exe would behave exactly like mysqld.exe. I would still get away from it and just use mysqld.exe.

2
  • Thanks, that is very helpful. I'm not actually running MySQL (not on Windows at any rate), but rather trying to systemically build an inventory of software running on Windows servers through process information pulled through WMI. Are there any differences between the two services, especially in the context of server dependency mapping?
    – GROND
    Commented Aug 15, 2014 at 20:21
  • Given the default protocols of each, there is no functional difference between mysqld.exe and mysqld-nt.exe. I still advise anyone to switch to mysqld.exe. Commented Aug 15, 2014 at 20:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .