Índice - Tutoriais

Instalando o Apache + PHP + MySQL no Windows

Criado 24/abr/2007 às 11h05 por Marcos Elias Picão

87

Instalando o MySQL

O MySQL, como você já deve saber, é um gerenciador de banco de dados. O funcionamento dele no sistema não será abordado aqui, apenas as idéias básicas de como criar os bancos de dados a serem usados com o PHP, além da instalação.

Procure a versão para Windows, na página do projeto:

http://www.mysql.com

Neste tutorial estou usando a 5.0.37. Na página de download há um pacote "mysql-essential-5.0.37-win32.msi" e outro maior, "mysql-5.0.37-win32.exe". O segundo possui mais algumas coisas, documentação adicional, etc., mas na prática não fará tanta diferença, para os recursos básicos. Se você não quiser baixar o pacote maior, pode optar pelo "essential", "essencial".

O executável de instalação apresenta a mesma interface da instalação do Apache e do PHP, ou seja, não tem muito segredo, basta ir clicando em Avançar. Deixe todas as opções que você não souber do que se trata, com os valores padrões. No final da instalação ele poderá pedir um cadastro no MySQL.com, normalmente pule essa parte (clicando em "Skip Sign-Up").

Instalado, na última tela de instalação ele exibirá uma caixinha de marcação para configurar logo ao concluir. Deixe-a marcada. Aparecerá um assistente, no mesmo estilo da instalação. Este assistente de configuração poderá ser executado a qualquer momento depois, bastando ir em "Iniciar > Programas > MySQL > MySQL Server 5.0 > MySQL Server Instance Config Wizard".

Esse assistente permite definir diversas coisas importantes, que poderão causar o funcionamento não esperado do servidor se alteradas indevidamente. Deixe o padrão para o que não souber do que se trata, apenas vá clicando em "Avançar" ("Next").

Num ponto ele pede a ativação de conexões TCP/IP, e permite escolher a porta onde ele ficará disponível, dando como padrão a 3306. Deixe esse valor, e se for o caso, libere essa porta para aceitar conexões de entrada no seu firewall. Mesmo fazendo a configuração num computador sem rede nem Internet, comigo não funcionou corretamente quando deixei desmarcada, o PHP não conseguia se comunicar com o MySQL:

Assistente de configuração do MySQL no Windows

Mais algumas telas ele dará a opção de incluir o caminho do MySQL na variável de ambiente "PATH" do Windows. É bom marcá-la, para que você possa chamar os executáveis do MySQL a partir de qualquer prompt, em qualquer pasta. Basta marcar a opção "Include Bin Directory in Windows PATH":

Assistente de configuração do MySQL no Windows

Na próxima tela deve-se definir a senha de root, que seria o administrador do MySQL. Se você mexe com PHP deve saber que para acessar um banco de dados é necessário fornecer um nome de usuário e senha válidos para aquele banco; você poderá usar o "root" e a senha definida aqui, ou outra conta. Justamente, para criar outras contas você precisará do root, e para alterar as configurações ou criar novos bancos de dados, também. Portanto, anote esta senha em um local seguro:

Assistente de configuração do MySQL no Windows

Se você perdê-la, bastará desinstalar e instalar novamente o MySQL (e depois configurar as permissões dos bancos de dados novamente).

Agora vem a última parte da configuração. Se algo der errado aqui, o MySQL poderá não funcionar corretamente. Apenas clique em "Execute" e cruze os dedos ;)

Assistente de configuração do MySQL no Windows

Se tudo ocorreu bem, você verá uma tela como a exibida acima. Se ele não conseguir obter acesso à porta definida na instalação (por padrão, a 3306), ele poderá exibir esta mensagem:

Erro do MySQL, caso não consiga obter acesso à porta definida na instalação

Clique em "Retry" quantas vezes forem necessárias, para tentar a configuração. Libere conexões de entrada na porta 3306, pelo seu firewall, se for o caso. Se clicar em "Skip" a configuração falhará, e você deverá executar o assistente de configuração novamente depois.

Em instalações e reinstalações eu tive problemas, ele nunca conseguia atribuir as permissões corretamente, dizendo que a porta estava em uso, mesmo ela estando liberada no firewall e com todos os outros programas fechados. A melhor saída que encontrei, em caso de problemas desse tipo, foi ficar clicando no "Retry" várias, várias vezes.

Se ainda assim não der, desinstale o MySQL, apague a pasta "MySQL" da pasta "Arquivos de programas", reinicie o computador e inicie a instalação novamente. É algo tedioso, mas se falhar nesta tela o serviço não será iniciado corretamente e os scripts PHP não poderão usar os bancos de dados. Talvez você dê sorte e ele funcione de primeira; estou abordando esta parte pois não sei o que houve, comigo demorou muito até funcionar da primeira vez.

Feito isso, o servidor de banco de dados MySQL será configurado para iniciar automaticamente com o Windows. Você pode alterar esse comportamento, para ele e para o Apache, no console de serviços do Windows ("Iniciar > Executar > services.msc"). Se seu computador tem pouca memória, você pode preferir iniciá-los apenas manualmente, quando necessário, para que não sejam iniciados sempre junto com o Windows. Com 256 MB e Windows XP não há muito o que reclamar não, dá até para deixar estes serviços ativos, mesmo que você não mexa com PHP em toda sessão. Uma questão é sobre a abertura da porta 3306 para o MySQL, se você mantiver acesso à Internet no computador diretamente (sem passar por um roteador, proxy ou outro firewall). Se for o caso você pode desativar o uso do TPC/IP na configuração do MySQL, e tentar acessá-lo nos scripts locais (comigo não funcionou), ou então deixar o serviço "MySQL" no services.msc desativado, e só iniciá-lo quando for testar.

Dica: para evitar que um serviço no Windows seja iniciado automaticamente, abra o console de serviços, indo em "Iniciar > Executar" e digitando "services.msc". Dê um duplo clique no serviço desejado e escolha o modo de inicialização "Manual". Para iniciá-lo depois, você pode ir nesse console de serviços, selecionar o item desejado e clicar em "Iniciar", ou então via linha de comando. Digite num prompt ou no "Executar": net start serviço para iniciar um serviço, e net stop serviço para pará-lo. Por exemplo, net start mysql, para iniciar o servidor MySQL quando ele não estiver sendo iniciado automaticamente.

87 comentáriosPor Marcos Elias Picão. Revisado 12/mar/2011 às 13h35

Comentários

Obrigado
Criado 18/mai/2012 às 11h52 por Rodrigo Feitosa da Silva
ok...tutorial perfeito
Excelente
Criado 27/abr/2012 às 11h54 por Cristiano Firmino Rodrigues
Excelente tutorial Marcos!
Deu tudo certo Parabéns!
Erro ao iniciar o Apache
Criado 16/set/2011 às 11h08 por Rafael Zapaterra (anônimo)
Fiz tudo passo a passo conforme o tutorial. Instalei o apache, iniciei ele pra testar, e iniciou legal, passou no teste "It Works", etc. Logo, instalei e configurei o PHP conforme indicado, ai quando vou iniciar o Apache novamente aparece um erro "The Requested operation has failed". Se abro o httpd.conf e "#" nas duas linhas configuradas, o apache inicia de novo. Alguem tem idéia do que pode ser fazendo favor.

Qualquer coisa, se puderem ajudar no rafa.zapaterra@hotmail.com por favor.
Obrigado
apache não inicia por Tarcísio (anônimo)
erro ao iniciar apache por Leandro (anônimo)
Parabéns
Criado 25/jun/2011 às 21h04 por Fabrício (anônimo)
Gostaria de parabenizá-lo Marcos pois assim como o teu trabalho não foi fácil, tbm encontrei as mesmas dificuldades. Msa no fim deu tudo certo.

Até uma próxima.

Abraços!
Instalação Fácil Apache + PHP + MySQL no Windows por Nello Marson (anônimo)
Outras alternativas por Marcio (anônimo)
Lista de Web Server incompleta
Criado 27/set/2011 às 16h55 por André (anônimo)
então, na hora em que eu instalo, na parte em que tenho qu eescolher o WebServer, Apache 2.2.x Module não aparece como opção para selecionar, estou tentando instalar o php 5.2.17..
as unicas opções selecionaveis são:
-IIS CGI
-OTHER CGI
-Do not setup web server
Resolvido por Gabriel (anônimo)
Instale a versão VC6 x86 Thread Safe por Márcio Fernando Maia (anônimo)
Instalação do PHP 5.x com o Apache 2.2.1 no Windows 7 Ultimate
Criado 13/out/2011 às 17h24 por Edivaldo (anônimo)
Por favor, preciso de ajuda.
Estou tentando instalar o Apache, o PHP e o MySQL individualmente do meu computador (Sony Vaio 64 bits)
Francamente, acho que sou 100% incompetente!
Primeiro instalo do Apache, testo e até ai corre tudo bem.
Quando tento instalar o PHP 5.2.17 que é versão recomendada para o Apache 2.2 na página Web Server Setup a opção Apache não aparece.
Quando instalo o PHP 5.3.1 OK aparece a opção Apache ... o programa aparentemente foi bem instalado, só que o Apache deixa de funcionar.
Alguém, pelo amor de Deus, pode me ajudar a resolver esta situação??!?!?
Instalação do PHP por Luis (anônimo)
Não consegui
Criado 29/out/2011 às 17h22 por Enyo (anônimo)
Fiz tudo que disseste no tutorial, só que nos 2 computadores que tentei não deu certo.
Nos dois computadores o php não mostra a opção para escolher o apache como servidor e quando eu coloco as configurações manualmente o meu apache para de responder...
como faço pra saber o que tem de errado?
alguém tem uma solução pro meu problema?
PHP por Cristian (anônimo)
Resolvido por Gabriel (anônimo)
Salvador da Patria
Criado 9/out/2011 às 11h05 por Marcus Vinicius (anônimo)
haha cara você foi muito gente fina disponibilizando este tutorial... Funcionou tudo direitinho e agora estou programando sem problemas.

Muito Obrigado mesmo

Abraços
Parabens!
Criado 23/set/2011 às 00h08 por Eduardo Santos - Pik_Pau (anônimo)
Olá, parabéns pelo tutorial.Muito bem elaborado, com fácil didática e bastante precisão nos assuntos.
A iniciativa foi sensacional também, mais uma vez parabéns.
Que Deus te abençoe e te ajude!
abraços e até mais!
PHP
Criado 20/ago/2011 às 18h18 por Edivaldo (anônimo)
Depois de muito sofrer, com a sua explicação consegui consegui colocar o Apache e o PHP para rodar em um ambiente Windows 7 Ultimate. Porém ainda restou um problema. Quando entro no browser e rodo o phpinfo, não dá erro mas a página fica em branco. Alguém, por favor, pode me ajudar na resolução deste problema?
Eu tenho a solucao pro problema do apache e php por Luiz Eduardo (anônimo)
Informação por Danilo (anônimo)
Exibir erros por Sergio (anônimo)
Não mostriu nem os erros por Danilo (anônimo)