Na família NT (Windows NT, 2000 ou XP) o modo recomendado de
executar o MySQL é instalá-lo como um serviço do Windows. O
Windows então inicia e para o servidor MySQL automaticamente
quando o Windows inicia e para. Um servidor instalado como um
serviço também pode ser controlado a partir da linha de
comando usando os comandos NET
, ou com o
utilitário gráfico Serviços
.
O utilitário Serviços
(o Service
Control Manager
do Windows) pode ser encontrado no
Painel de Controle
do Windows (em
Ferramentas Administrativas
no Windows
2000). É recomendado que se feche o utilitário
Serviços
enquanto realiza a operações de
instalação ou remoção do servidor a partir desta linha de
comando. Isto evita alguns erros estranhos.
Para ter o MySQL funcionando com TCP/IP no Windows NT 4, você deve instalar o service pack 3 (ou mais novo)!
Antes de instalar o MySQL como um serviço, você deve primeiro parar o servidor atual em execução usando o seguinte commando:
shell> C:\mysql\bin\mysqladmin -u root shutdown
Isto chama o utilitário administrativo do MySQL
mysqladmin
para conectar ao servidor e
mandá-lo parar. O comando conecta com root
que é a conta administrativa padrão no sistema de
permissões do MySQL. Por favor, note que o sistema de
permissões do MySQL é totalmente independente de qualquer
login de usuário sob o Windows.
Agora instale o servidor como um serviço:
shell> mysqld --install
Se você não definir um nome para o serviço, ele é
instalado com o nome MySQL
. Uma vez
instalado, ele pode ser imediatamente iniciado a partir do
utilitário Serviços
, ou usando o comando
NET START MySQL
. (Este comando é caso
insensitivo).
Uma vez em execução, o mysqld
pode ser
parado usando o utilitário de Serviços ou usando o comando
NET STOP MySQL
, ou o comando
mysqladmin shutdown
.
Se você tiver problemas instalando o
mysqld
como um servico usando apenas o nome
do servidor, tente instalá-lo usando seu caminho compelto:
shell> C:\mysql\bin\mysqld --install
A partir do MySQL 4.0.2, você pode especificaro nome do
serviço depois da opção --install
. A
partir do MySQL 4.0.3, você pode especificar uma opção
--defaults-file
depois do nome do serviço
para indicar onde o servidor deve obter opções ao iniciar. A
regras que determinam o nome do serviço e os arquivos de
opção que o servidor usa são as seguintes:
Se você não especificar um nome de serviço, o servidor
usa o nome padrão do MySQL
e o
servidor lê as opções do grupo
[mysqld]
no arquivo de opções
padrão.
Se você especificar um nome de serviço depois da opção
--install
, o servidor ignora o grupo de
opção [mysqld]
em vez de ler opções
do grupo que tem o mesmo nome que o serviço. O servidor
le opções do arquivo de opções padrão.
Se você especificar uma opção
--defaults-file
depois do nome de
serviço, o servidor ignora o arquivo de opções padrão
e lê opções apenas a partir do grupo
[mysqld]
do arquivo indicado.
Nota: Antes do MySQL 4.0.17,
um servidor instalado como um serviço do Windows tinha
problema na inicialização se o seu caminho ou nome do
serviço possuisse espaços. Por esta razão, evite instalar o
MySQL em um diretório como C:\Program
Files
ou usar um nome de serviço contendo espaço.
No caso normal que você instala o servidor com
--install
mas nenhum nome de serviço, o
servidor é instalado com um nome de serviço de
MySQL
.
Como um exemplo mais complexo, considere o seguinte comando:
shell> C:\mysql\bin\mysqld --install mysql --defaults-file=C:\my-opts.cnf
Aqui, um nome de serviço é dado depois de opção
--install
. Se nenhuma opção
--defaults-file
for dada, este comando teria
o efeito de fazer o servidor ler o grupo
[mysql]
a partir do arquivo de opções
padrão. (Isto seria uma má idéia, porque aquele grupoo de
opção é para ser usado pelo programa cliente
mysql
.) No entanto, como a opção
--defaults-file
está presente, o servidor
lê as opções apenas a partir do arquivo indicado, e apenas
do grupo de opção [mysqld]
.
Você também pode especificar as opções como
``Parâmetros de inicialização
'' no
utilitário de Serviços
do Windows antes
de você iniciar o serviço MySQL.
Uma vez que o servidor MySQL é instalado, o Windows irá
iniciar o serviço automaticamente sempre que o Windows
inicia. O serviço também pode ser iniciado imediatamente a
partir do utilitário Serviços
ou usando o
comando NET START MYSQL
. O comando
NET
não é caso sensitivo.
Note que quando executado como um serviço, o
mysqld
não têm acesso a um console e
então nenhuma mensagem pode ser vista. Se o
mysqld
não iniciar, verifique o log de
erros par ver se o servidor gravou alguma mensagem lá
indicando a causa do problema. O log de erro está localizado
no diretório c:\mysql\data
. É o arquivo
com um sufixo .err
.
Quando o mysqld
está executando como um
serviço, ele pode ser parado usando o utilitários
Serviços
, o comando NET STOP
MYSQL
, ou o comando mysqladmin
shutdown
. Se o serviçp estiver em execução quando
o Windows desliga, o Windows irá parar o servidor
automaticamente.
A partir do MySQL versão 3.23.44, você pode escolher entre
instalar o servidor como um serviço Manual
se você não deseja que os serviços sejam executados
automaticamente durante o processo de inicialização. Para
fazer isto, use a opção --install-manual
em
vez da opção --install
.
shell> C:\mysql\bin\mysqld --install-manual
Para remover um serviço que está instalado como um serviço,
primeiro pare-o se ele estiver em execução. Então use a
opção --remove
para removê-lo:
shell> mysqld --remove
Um problema com a finalização automática do serviço MySQL
é que, para versões do MySQL anteriores a 3.23.49, o Windows
esparava apenas por alguns segundos para o desligamento
completo, e matava os processos do servidor de banco de dados
se o tempo limite fosse excedido. Isto potencialmente causava
problemas. (Por exemplo, o mecanimo de armazenamento
InnoDB
deverá fazer uma recuperação de
falhas na próxima inicialização). A partir do MySQL
3.23.49, o Windows irá esperar mais para que a finalização
do MySQL Server esteja completa. Se você notar que ainda não
é o suficiente para a sua instalação, não é seguro
executar o MySQL Server como um serviço. Em vez disso,
execute-o a partir do prompt de comando, e finalize-o com
mysqladmin shutdown
.
A alteração para avisar para o Windows para esperar mais
quando parar o servidor MySQL funciona apenas com o Windows
2000 e XP, mas não para o Windows NT. No NT, o Windows espera
apenas 20 segundos para que o serviço seja finalizado, e
depois desso ele mata o processo do serviço. Você pode
aumentar este padrão abrindo o Editor de Registro
(\winnt\system32\regedt32.exe
) e editar o
valor de WaitToKillServiceTimeout
em
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
na árvore do Registro. Especifique o novo valor mais largo em
milisegundos (por exemplo 12000 para que o Windows NT espere
até 120 segundos).
Se você não quiser iniciar o mysqld
como
um serviço, você pode iniciá-lo a partir da linha de
comando do mesmo modo que em versões do Windows que não são
baseados no NT. Para instruções use
Secção 2.1.1.6, “Iniciando o MySQL no Windows 95, 98, ou Me”.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.