Arquivo em lote do XAMPP MySQL [closed]

2

Estou usando o XAMPP para executar o Apache, PHP e MySQL em vários laptops remotos para nossos clientes. É apenas o diretório XAMPP com todos os arquivos (versão thumbdrive, nenhum valor de registro é adicionado ou modificado). Eu tenho um arquivo de instalação que coloca um ícone na área de trabalho do usuário que executa o start.bat do diretório XAMPP. O Start.bat basicamente inicia o Apache, depois o MySQL e, em seguida, abre um navegador para o host local. Tudo funciona muito bem, exceto que quando o ícone é clicado pela segunda vez, um segundo serviço mysqld.exe é iniciado. O Apache não inicia duas vezes se o ícone for clicado duas vezes, mas o MySQL faz isso. Experimentei várias sugestões do Google e do Stack Overflow para verificar se um serviço está em execução e, em caso afirmativo, parar o serviço de iniciar novamente; no entanto, nenhum deles funcionou.

O arquivo batch que inicia o MySQL basicamente tem esse comando:

mysql\bin\mysqld --defaults-file=mysql\bin\my.ini --standalone --console

Como posso manter o mysqld.exe iniciado duas vezes? Além disso, é um grande negócio se ele está sendo executado duas vezes? Isso causará algum problema ao executar uma consulta do PHP?

    
por Jonathon 21.05.2012 / 05:51

1 resposta

1

Eu também postei isso no StackOverflow (um de nossos outros desenvolvedores fez a mesma pergunta). Aqui está a resposta que encontrei através de tentativa e erro (e oração!):

Modifique mysql_start.bat para ter este conteúdo:

@echo off 
apache\bin\pv mysqld.exe %1 >nul 
if ERRORLEVEL 1 goto Process_NotFound 
echo MySQL is running 
goto END 
:Process_NotFound 
echo Process %1 is not running 
mysql\bin\mysqld.exe --defaults-file=mysql\bin\my.ini --standalone --console
goto finish 
:finish

Isto verifica se o serviço está sendo executado e o inicia, se não.

    
por 22.05.2012 / 04:08

Tags