Instalando uma instância isolada do MySQL no Windows usando a instalação silenciosa com .msi

2

Estou tentando escrever um instalador para um aplicativo interno que escrevemos. Depois que ele instala nosso aplicativo, ele instala o MySQL usando o instalador .msi no modo silencioso. Especifico o dir de instalação e o diretório de dados para o diretório de um diretório de instalação do meu aplicativo, como:

msiexec /i @@MYSQL_INSTALLER_FILE@@ /qn 
    INSTALLDIR="@@INSTALL_DIR@@\MySQL\" 
    DATADIR="@@INSTALL_DIR@@\MySQL\" 
    USERNAME="@@DB_USER@@" PASSWORD="@@DB_PASS@@"

(as variáveis @@ @@ são substituídas pela minha rotina de instalação usando InstallJammer)

Uma vez instalado, eu uso o mysqld.exe para instalar um serviço do Windows com um nome de serviço personalizado e o arquivo de padrões da seguinte forma:

mysqld.exe --install CustomMySQL --defaults-file="@@INSTALL_DIR@@\MySQL\my.ini"

Isso funciona bem, desde que não haja outra instância do MySQL instalada. Se houver silenciosamente falha ao instalar o MySQL. Executar o instalador do msi manualmente (clique duas vezes) mostra um erro que uma versão anterior já está instalada e apenas anula.

Existe uma maneira de automatizar a instalação do MySQL como uma instância isolada, independentemente de outra versão / instância já estar instalada?

    
por Abram 09.02.2011 / 20:59

1 resposta

3

Ah, sim, existe.

Por um lado, eu não sou um grande fã de usar o .msi para o MySQL.

Eu gosto de fazer o seguinte para criar um serviço completo do Windows sem usar o .msi

01) Faça o download do zip no-install do MySQL para a sua área de trabalho.

02) Abra o arquivo Zip na janela1. Você deve ver a pasta de dados, a pasta bin, vários arquivos my.ini e outros arquivos.

03) Crie uma pasta do servidor e uma pasta de dados em um local desejado. Para este exemplo, em uma janela do DOS, faça o seguinte:

md C:\MySQLServer
md C:\MySQLData

04) Abra C:\MySQLServer no Window Explorer (Window2)

05) Copie e cole o conteúdo do Zip (Window1) no C: \ MySQLServer (Window2)

06) Abra C:\MySQLServer\data no Windows Explorer (Window3)

07) Abra C:\MySQLData no Window Explorer (Window4)

08) Copie e cole o conteúdo de C:\MySQLServer\data (Window3) em C:\MySQLData (Window4)

09) Feche a Janela3 e a Janela4

10) Abra uma janela do DOS e execute os seguintes comandos do DOS

cd C:\MySQLServer
copy my-medium.ini my.ini
notepad my.ini
define datadir="C:\MySQLData"
cd C:\MySQLServer\bin
mysqld --install MySQLNew
net start MySQLNew

11) Feche todas as janelas

Você deve ser feito !!!

Deixe-nos saber como isso aconteceu !!!

BTW O nome do serviço é MySQLNew

    
por 10.02.2011 / 23:55

Tags