Estou tentando reunir informações de identificação de processos em execução no Windows. Não consegui descobrir a diferença entre os binários 'mysqld.exe' e 'mysqld-nt.exe'. Qual é a diferença e quais funções são fornecidas por cada um?
Obrigado.
Responder1
Acredito que sejam a mesma coisa, o serviço de segundo plano (também conhecido como Daemon) que é o programa/interface MySQL.
Pelo que entendi, o "-nt" foi retirado das versões do Windows (renomeado apenas para Mysqld.exe) por volta da versão 5 do MySQL.
Infelizmente, não tenho nenhuma fonte para citar, mas nossos servidores MySQL rodam 5.x neles, e nenhum deles possui arquivos mysqld-nt.exe, mas sei que já vi isso no passado (distante).
Responder2
Aqui está a diferença: mysqld-nt.exe
era uma versão do MySQL que aproveitava um protocolo de comunicação específico do Windows chamado Named Pipes.
De acordo como livro
Capítulo 23 Páginas 352.353 na Seção intitulada "23.2 Protocolos de Comunicação"
O ponto nº 3 diz
As convenções de pipe nomeado são suportadas apenas no Windows e somente se você usar um dos servidores que tenha o
-nt
em seu nome (mysql-nt, mysql-max-nt). No entanto, os pipes nomeados estão desabilitados por padrão. Para ativar conexões de pipe nomeado, você deve iniciar o-nt
servidor com a--enable-named-pipe
opção.
É assim que o livro apresenta. Eu acho que é um erro de digitação. A parte que diz (mysql-nt, mysql-max-nt)
deveria dizer (mysqld-nt, mysqld-max-nt)
. No entanto, o uso de pipes nomeados provavelmente foi usado como uma alternativa para fazer conexões de host localhost no Windows.
Escrevi um post há 3 anos no DBA StackExchange (MySQL-NT está travando com frequência) discutindo como se deve fugir disso, especialmente porquefoi EOL em abril de 2011.
Se você está correndo mysqld-nt.exe
e não sabia sobre--enable-pipe nomeadoopção, o pipe nomeado não está habilitado (padrão). Portanto, mysqld-nt.exe
se comportaria exatamente como mysqld.exe
. Eu ainda iria fugir disso e apenas usar mysqld.exe
.