Iniciando o MariaDB no Windows NT, 2000, ou XP
Na família NT (Windows NT, 2000 ou XP) o modo recomendado de executar o MariaDB é instalá-lo como um serviço do Windows. O Windows então inicia e para o servidor MariaDB 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 MariaDB funcionando com TCP/IP no Windows NT 4, você deve instalar o service pack 3 (ou mais novo)!
Antes de instalar o MariaDB 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 MariaDB 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 MariaDB. Por favor, note que o sistema de permissões do MariaDB é 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 MariaDB
. 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 MariaDB 4.0.2, você pode especificaro nome do serviço depois da opção --install
. A partir do MariaDB 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
MariaDB
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 MariaDB 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 MariaDB 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 MariaDB
.
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 MariaDB
.) 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
no utilitário de Parâmetros de inicialização
Serviços
do Windows antes de você iniciar o serviço MariaDB.
Uma vez que o servidor MariaDB é 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 MariaDB 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 MariaDB é que, para versões do MariaDB 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 MariaDB 3.23.49, o Windows irá esperar mais para que a finalização do MariaDB Server esteja completa. Se você notar que ainda não é o suficiente para a sua instalação, não é seguro executar o MariaDB 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 MariaDB 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 "Iniciando o MariaDB no Windows 95, 98, ou Me".