Acabei de instalar o MySQL 5.7 na Windows 2012 VM. Estou tentando criar e executar várias instâncias, mas muito frustrado por uma coisa tão simples não estar funcionando.
Instalei o MySQL em C: \ Arquivos de Programas \ MySQL \ MySQL Server 5.7, que é o local padrão, copiei a pasta e fiz outra cópia para criar outra instância (suponho que seja assim que funciona?)
Ambas as instâncias do MySQL são mostradas na imagem abaixo.
As configurações de INI para os dois servidores são fornecidas abaixo:
Servidor1
server-id = 1
log-bin = "mysql-bin"
binlog-ignore-db = teste
binlog-ignore-db = information_schema
replicate-ignore-db = teste
replicate-ignore-db = information_schema
relay-log = "mysql-relay -log "
incremento automático de incremento = 2
deslocamento automático de incremento = 1
Server2
id do servidor = 2
log-bin = "mysql-bin"
binlog-ignore-db = teste
binlog-ignore-db = information_schema
replicate-ignore-db = teste
replicate-ignore-db = information_schema
relay-log = "mysql- relay-log "
incremento
automático de incremento = 2 deslocamento automático de incremento = 2
Estou executando os dois servidores, abrindo o prompt de comando e digitando o seguinte:
"C: \ Arquivos de programas \ MySQL \ MySQL Server 5.7 \ bin \ mysqld"
"C: \ Arquivos de programas \ MySQL \ MySQL Server 5.7 - 2 \ bin \ mysqld"
O comando parece ser executado com sucesso, pois nenhum erro é mostrado, mas quando olho para o gerenciador de tarefas para ver se algum processo mysql está em execução, não vejo nenhum.
O que estou fazendo de errado?
fonte
Respostas:
Eu acredito que você estava tentando executá-los na mesma porta.
Mudou o número de portas para ser diferente foi o que fez funcionar
fonte
O erro que eu estava cometendo foi copiar toda a pasta de instalação do MySQL. Você não precisa copiar esta pasta.
Obviamente, em cada arquivo ini, é necessário definir um número de porta diferente, conforme mencionado por @Anthony Fornito.
fonte
Crie um novo arquivo no diretório de dados chamado mysql-init.txt e adicione uma única linha para garantir que a senha do usuário root esteja definida.
ALTER USER 'root'@'localhost' IDENTIFIED BY '[Enter Password]';
Edite o arquivo my.ini alterando a porta, o soquete, o datadir e o nome da base da memória compartilhada. Todos os quais precisam ser diferentes de outras instâncias do MySQL.
my.ini:
Na linha de comando, navegue até ~ \ MySQL Server XY \ bin \ e execute
mysqld --install MySQL57-2 --defaults-file=E:\mysql2\data\my.ini --init-file=E:\mysql2\data\mysql-init.txt
Iniciar o serviço
NET START MySQL57-2
Verifique se o serviço foi iniciado com sucesso. Caso contrário, você poderá encontrar um log de erros na pasta de dados. Caso contrário, você deve estar pronto.
fonte