2 Instala¸c˜ ao do MySQL
2.1 Instala¸c˜ ao r´ apida padr˜ ao do MySQL
2.1.1 Instalando o MySQL no Windows
O processo de instala¸c˜ao para o MySQL no Windows tem os seguintes passos:
1. Instale a distribui¸c˜ao.
2. Configure um arquivo de op¸c˜ao se necess´ario.
3. Selcione o servidor que vocˆe quer usar.
4. Inicie o servidor.
O MySQL para Windows est´a dispon´ivel em dois formatos de distribui¸c˜ao:
• A distribui¸c˜ao bin´aria cont´em um programa de instala¸c˜ao que instala que vocˆe precisa e assim possa iniciar o servidor imediatamente.
• A distribui¸c˜ao fonte cont´em todo o c´odigo e os arquivos suportados para construir o execut´avel usando o compilador VC++6.0. Veja Se¸c˜ao 2.3.7 [Constru¸c˜ao do fonte para Windows], P´agina 107.
Geralmente, a melhor op¸c˜ao ´e a distribui¸c˜ao bin´aria. ´E mais simples e vocˆe n˜ao precisa de nenhuma ferramenta adicional para ter o MySQL em execu¸c˜ao.
2.1.1.1 Exigˆ encias do Sistema Windows
Para executar o MySQL no Windows, vocˆe precisar´a do seguinte:
• Um sistema operacional Windows de 32 bits como 9x, ME, NT, 2000 ou XP. A fam´ilia NT (Windows NT, 2000 e XP) lhe permite executar o servidor MySQL como um servi¸co. Veja Se¸c˜ao 2.1.1.7 [NT start], P´agina 66.
• Suporte ao protocolo TCP/IP.
• Um c´opia da distribui¸c˜ao bin´aria do MySQL para Windows, o qual pode ser feito download em http://www.mysql.com/downloads/.
Nota: A distribui¸c˜ao de arquivos s˜ao fornecidas no formato zip e recomendamos o uso de um cliente FTP com op¸c˜ao de resumo para evitar corrompimento de arquivos durante o processo de download.
• Um programaZIP para descompactar os arquivos da distribui¸c˜ao.
• Espa¸co suficiente em disco para descompactar, instalar e criar o banco de dados de acordo com suas exigˆencias.
• Se vocˆe planeja se conectar ao servidor MySQL via ODBC, vocˆe tamb´em precisar´a do dirver MyODBC. Veja Se¸c˜ao 12.2 [ODBC], P´agina 866.
• Se vocˆe precisa de tabelas com tamanho maior que 4GB, instale o MySQL em um sistema de arquivos NTFS ou mais novo. N˜ao se esque¸ca de usarMAX_ROWSeAVG_ROW_
LENGTHquando criar tabelas. Veja Se¸c˜ao 6.5.3 [CREATE TABLE], P´agina 597.
2.1.1.2 Instalando uma Distribui¸c˜ ao Bin´ aria do Windows
Para instalar o MySQL no Windows usando uma distribui¸c˜ao bin´aria, siga este procedi-mento:
1. Se vocˆe estiver trabalhando em uma m´aquina Windows NT, 2000, ou XP, esteja certo de que vocˆe est´a logado com um usu´ario com privileios de administrador.
2. Se vocˆe estiver fazendo uma atualiza¸c˜ao de uma instala¸c˜ao MySQL mais nova, ´e necess´ario parar o servidor atual. Em m´aquinas com Windows NT, 200 ou XP, se vocˆe estiver executando o servidor como um servi¸co, pare-o com o comando:
C:\> NET STOP MySQL
Se vocˆe planeja usar um servidor diferente depois da atualiza¸c˜ao (por exemplo, se vocˆe quiser executar o mysqld-maxem vez domysqld), remova o servi¸co existente:
C:\mysql\bin> mysqld --remove 3.
Vocˆe pode reinstalar o servi¸co com o servidor pr´oprio depois de atualizar.
Se vocˆe n˜ao estiver executando o servidor MySQL como um servi¸co, pare desta forma:
C:\mysql\bin> mysqladmin -u root shutdown
4. Finalize o programaWinMySQLAdminse ele estiver em execu¸c˜ao.
5. Descompacte os arquivos de distribui¸c˜ao em um diret´orio tempor´ario.
6. Execute o programa ‘setup.exe’ para iniciar o processo de instala¸c˜ao. Se vocˆe quiser instalar em um diret´orio diferente do padr˜ao (‘c:\mysql’), use o bot˜ao Browse para especificar seu diret´orio preferido. Se vocˆe n˜ao instalar o MySQL no local padr˜ao, vocˆe precisar´a epecificar o local onde vocˆe inicia o servidor. O modo mais f´acil de se fazer isto ´e usar um arquivo de op¸c˜ao, como descrito em Se¸c˜ao 2.1.1.3 [Windows prepare environment], P´agina 62.
7. Finalize o processo de instala¸c˜ao.
2.1.1.3 Preparando o Ambiente MySQL do Windows
Se vocˆe precisar especificar op¸c˜oes de inicializa¸c˜ao quando executar o servidor, vocˆe pode indentifica-los na linha de comando ou coloc´a-los em um arquivo de op¸c˜ao. Par op¸c˜oes que s˜ao usadas sempre que o servidor iniciar, vocˆe achar´a mais conveniente utilizar um arquivo de opc˜ao para especificar a configura¸c˜ao do seu MySQL. Isto ´e particularmente verdade sob as seguintes circunstˆancias:
• A localiza¸c˜ao do diret´orio de instala¸c˜ao ou dados s˜ao diferentes dos locais padr˜ao (‘c:\mysql’ e ‘c:\mysql\data’).
• Vocˆe precisa ajustar as configura¸c˜oes do servidor. Por exemplo, para usar as tabelas transacionais InnoDBno MySQL vers˜ao 3.23, vocˆe deve criar manualmente dois novos diret´orios para guardar os arquivos de dados e de log do InnoDB — por exemplo,
‘c:\ibdata’ e ‘c:\iblogs’. Vocˆe tamb´em poder´a adicionar algumas linhas extras ao arquivo de op¸c˜ao, como descrito em Se¸c˜ao 7.5.3 [Iniciando o InnoDB], P´agina 643. (A partir do MySQL 4.0, o InnoDB cria os seus arquivos de log e dados no diret´orio de da-dos por padr˜ao. Isto significa que vocˆe n˜ao precisa configurar o InnoDB explicitamente.
Vocˆe ainda deve fazˆe-lo se desejar, e um arquivo de op¸c˜ao ser´a ´util neste caso.) No Windows, o instalador do MySQL coloca o diret´orio de dados diretamente sob o diret´orio onde vocˆe instalou o MySQL. Se vocˆe quisesse utilizar um diret´orio de dados em um local diferente, vocˆe deve copiar todo o conte´udo do diret´oriosdata para a nova localiza¸c˜ao. Por exemplo, por padr˜ao, o instalador coloca o MySQL em ‘C:\mysql’ e o diret´orio de dados em ‘C:\mysql\data’. Se vocˆe quiser usar um diret´orio de dados de ‘E:\mydata’, vocˆe deve fazer duas coisas:
• Mova o diret´orio de dados de ‘C:\mysql\data’ para ‘E:\mydata’.
• Use uma op¸c˜ao --datadir para especificar a nova localiza¸c˜ao do diret´orio de dados cada vez que vocˆe iniciar o servidor.
Quando o servidor MySQL inicia no Windows, ele procura pelas op¸c˜oes em dois arquivos:
O arquivo ‘my.ini’ no diret´orio Windows e o arquivo chamado ‘C:\my.cnf’. O diret´orio do Windows ´e normalmente chamado ‘C:\WINDOWS’ ou ‘C:\WinNT’. Vocˆe pode determinar a sua localiza¸c˜ao exata a partir do valor da vari´avel de ambienteWINDIRusando o seguinte comando:
C:\> echo %WINDIR%
O MySQL procura pelas op¸c˜oes primeiro no arquivo ‘my.ini’, e ent˜ao pelo arquivo ‘my.cnf’.
No entanto, para evitar confus˜ao, ´e melhor se vocˆe usar apenas um destes arquivos. Se o seu PC usa um boot loader onde o driveC: n˜ao ´e o drive de boot, sua ´unica op¸c˜ao ´e usar o arquivo ‘my.ini’. Independente de qual arquivo usar, ele deve ser no formato texto.
Um arquivo de op¸c˜ao pode ser criado e modificado com qualquer editor de texto como o programa Notepad. Por exemplo, se o MySQL est´a instalado em ‘D:\mysql’ e o diret´orio de dados est´a localizado em ‘D:\mydata\data’, vocˆe pode criar o arquivo de op¸c˜ao e definir uma se¸c˜ao[mysqld]para especificar valores para os parˆametros basedire datadir:
[mysqld]
# defina basedir com o seu caminho de instala¸c~ao basedir=D:/mysql
# defina datadir com o local do diret´orio de dados, datadir=D:/mydata/data
Note que os nome de caminho do Windows s˜ao espec´ificados em arquivos de op¸c˜ao usando barras normais em ves de barra invertida. Se vocˆe usar barras invertidas, vocˆe deve us´a-las em dobro.
Outro modo de se gerenciar um arquivo de op¸c˜ao ´e usar a ferramentaWinMySQLAdmin. Vocˆe pode encontrar o WinMySQLAdminno diret´orio ‘bin’ de sua instala¸c˜ao MySQL, assim como um arquivo de ajuda contendo instru¸c˜oes para us´a-lo. OWinMySQLAdmintem a capacidade de editar os seus arquivos de op¸c˜ao, mas note o seguinte:
• WinMySQLAdmin usa apenas o arquivo ‘my.ini’.
• Se o WinMySQLAdmin encontra o arquivo ‘C:\my.cnf’, ele o renomear´a para
‘C:\my_cnf.bak’ para disabilit´a-lo.
Agora vocˆe est´a pronto para testar o servidor.
2.1.1.4 Selecionando um Servidor Windows
Iniciado com o MySQL 3.23.38, a distribui¸c˜ao Windows inclui ambos bin´arios, normal e o MySQL-Max. Aqui est´a uma lista dos diferentes servidores MySQL dos quais vocˆe pode escolher:
Binario Descri¸c˜ao
mysqld Compilado com debugger integral e conferˆencia autom´atica de aloca¸c˜ao de mem´oria, links simb´olicos,BDB e tabelasInnoDB.
mysqld-opt Bin´ario otimizado. A partir da vers˜ao 4.0 o InnoDB est´a habili-tado. Antes desta vers˜ao, este servidor n˜ao tem suporte a tabelas transacionais.
mysqld-nt Bin´ario otimizado para NT/2000/XP com suporte para named pipes.
mysqld-max Bin´ario otimizado com suporte para links simb´olicos, tabelas BDB e InnoDB.
mysqld-max-nt Como omysqld-max, por´em compilado com suporte para named pipes.
Todos os bin´arios acima s˜ao otimizados para processadores Intel modernos mas deve fun-cionar em qualquer processador Intel i386 ou melhor.
Os servidores mysqld-nt e mysqld-max-nt suportam conex˜oes named pipe. Se vocˆe usar um destes servidores, o uso de named pipes est´a sujeito a estas condi¸c˜oes:
• Os servidores devem ser executados em uma vers˜ao do Windows que suporte named pipes (NT, 2000, XP).
• A partir da vers˜ao 3.23.50, named pipes s´o estar˜ao habilitados se vocˆe iniciar estes servidores com a op¸c˜ao --enable-named-pipe.
• Os servidores podem ser executados no Windows 98 ou Me, mas o TCP/IP deve estar instalado, e as conex˜oes named pipes n˜ao podem ser usadas.
• No Windows 95, estes servidores n˜ao podem ser usados.
2.1.1.5 Iniciando o Servidor pela Primeira Vez
No Windows 95, 98, ou Me, cliente MySQL sempre se conecta ao servidor usando TCP/IP.
Nos sistemas baseados no NT, como o Windows NT, 2000, ou XP, os clientes possuem duas op¸c˜oes. Eles podem usar TCP/IP, ou eles podem usar um named pipe se o servidor suportar conex˜oes named pipes.
Para informa¸c˜oes sobre qual servidor bin´ario executar, veja Se¸c˜ao 2.1.1.3 [Windows prepare environment], P´agina 62.
Esta se¸c˜ao lhe d´a um vis˜ao geral da inicializa¸c˜ao de um servidor MySQL. A seguinte se¸c˜ao fornce informa¸c˜ao mais espec´ifica para vers˜oes particulares do Windows.
Os exemplos nesta se¸c˜ao assumem que o MySQL est´a instalado sob a localiza¸c˜ao padr˜ao,
‘C:\mysql’. Ajuste o caminho mostrado nos exemplos se vocˆe tiver o MySQL instalado em um local diferente.
Fazer um teste a partir do prompt de comando do em uma janela de console (uma janela
“DOS”) ´e a melhor coisa a fazer porque o servidor mostra a mensagem de status que aparece na janela do DOS. Se alguma coisa estiver errado com sua configura¸c˜ao, estas mensagens tornar˜ao mais f´acil para vocˆe de identificar e corrigir qualquer problema.
Tenha certeza que vocˆe est´a no diret´orio onde o servidor ´e localizado e ent˜ao entre este comando:
shell> mysqld --console
Para servidores que incluem suporte InnoDB, vocˆe deve ver as seguintes mensagens assim que o servidor iniciar:
InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
InnoDB: a new database to be created!
InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait...
InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created
InnoDB: creating foreign key constraint system tables InnoDB: foreign key constraint system tables created
011024 10:58:25 InnoDB: Started
Quando o servidor finaliza sua sequˆencia de inicializa¸c˜ao, vocˆe deve ver algo como abaixo, que indica que o servidor est´a pronto para o conex˜ao com o cliente:
mysqld: ready for connections
Version: ’4.0.14-log’ socket: ’’ port: 3306
O servidor continuar´a a gravar no console qualquer sa´ida de diagn´ostico adicional que ele produza. Vocˆe pode abrir uma nova janela de console na qual se executar´a os programas clientes.
Se vocˆe omitir a op¸c˜ao --console, o servidor grava a sa´ida do diagn´ostico no log de erro no diret´orio de dados. O log de erro ´e o arquivo com a extens˜ao ‘.err’.
2.1.1.6 Iniciando o MySQL no Windows 95, 98, ou Me
No Windows 95, 98 ou Me, o MySQL usa TCP/IP para conectar um cliente a um servidor.
(Isto permitir´a que qualquer m´aquina na sua rede se conecte a seu servidor MySQL.) Por isto, vocˆe deve ter certeza de que o suporte TCP/IP est´a instalado na sua m´aquina antes de iniciar o MySQL. Vocˆe pode encontrar o TCP/IP no seu CD-ROM do Windows.
Note que se vocˆe estiver usando uma vers˜ao antiga do Win95 (por exemplo, OSR2). ´E prefer´ivel que vocˆe use um pacote antigo Winsock; para o MySQL ´e necess´ario o Winsock 2! Vocˆe pode obter o Winsock mais novo emhttp://www.microsoft.com. O Windows 98 tem a nova biblioteca Winsock 2, portanto n˜ao ´e necess´ario atualizar a biblioteca.
Para iniciar o servidormysqld, vocˆe deve iniciar uma janela do Prompt (Janela “MS-DOS”) e digitar:
shell> C:\mysql\bin\mysqld
Isto ir´a iniciar omysqldem segundo plano. Isto ´e, depois do servidor iniciar, vocˆe deve ver outro prompt de comando. (Note que se vocˆe iniciar o servidor deste modo no Windows NT, 2000 ou XP, o servidor ir´a executar em segundo plano e nenhum prompt de comando aparecer´a at´e que o servidor finalize. Por isto, vocˆe deve abrir outro prompt de comando para executar programas clientes enquanto o servidor estriver em execu¸c˜ao.)
Vocˆe pode finalizar o servidor MySQL executando:
shell> C:\mysql\bin\mysqladmin -u root shutdown
Isto chama o utilit´ario administrativo do MySQL mysqladminpara conectar ao servidor e manda-lo finalizar. O comando conecta comorootque ´e a conta administrativa padr˜ao no sistema de permiss˜oes do MySQL. Por favor, note que o sistema de permiss˜oes do MySQL
´e totalmente independente de qualquer login de usu´ario sob o Windows.
Se o mysqld n˜ao iniciar, por favor, verifique o log de erro para ver se o servidor escreveu alguma mensagem que possa indicar a causa do problema. Vocˆe pode tamb´em tentar iniciar o servidor commysqld --console; neste caso, vocˆe pode obter alguma informa¸c˜ao ´util na tela que pode ajudar a resolver o problema.
A ´ultima op¸c˜ao ´e iniciar o mysqldcom --standalone --debug. Neste caso o mysqld ir´a escrever em um arquivo log ‘C:\mysqld.trace’ que deve conter a raz˜ao pela qual omysqld n˜ao inicia. Veja Se¸c˜ao D.1.2 [Making trace files], P´agina 1071.
Usemysqld --helppara mostrar todas as op¸c˜oes que o mysqldentende!
2.1.1.7 Iniciando o MySQL no Windows NT, 2000, ou XP
Na fam´ilia NT (Windows NT, 2000 ou XP) o modo recomendado de executar o MySQL ´e instal´a-lo como um servi¸co do Windows. O Windows ent˜ao inicia e para o servidor MySQL automaticamente quando o Windows inicia e para. Um servidor instalado como um servi¸co tamb´em pode ser controlado a partir da linha de comando usando os comandos NET, ou com o utilit´ario gr´aficoServi¸cos.
O utilit´ario Servi¸cos (oService Control Manager do Windows) pode ser encontrado no Painel de Controledo Windows (emFerramentas Administrativasno Windows 2000).
E recomendado que se feche o utilit´ario´ Servi¸cosenquanto realiza a opera¸c˜oes de instala¸c˜ao ou remo¸c˜ao do servidor a partir desta linha de comando. Isto evita alguns erros estranhos.
Para ter o MySQL funcionando com TCP/IP no Windows NT 4, vocˆe deve instalar o service pack 3 (ou mais novo)!
Antes de instalar o MySQL como um servi¸co, vocˆe deve primeiro parar o servidor atual em execu¸c˜ao usando o seguinte commando:
shell> C:\mysql\bin\mysqladmin -u root shutdown
Isto chama o utilit´ario administrativo do MySQL mysqladmin para conectar ao servidor e mand´a-lo parar. O comando conecta com root que ´e a conta administrativa padr˜ao no sistema de permiss˜oes do MySQL. Por favor, note que o sistema de permiss˜oes do MySQL
´e totalmente independente de qualquer login de usu´ario sob o Windows.
Agora instale o servidor como um servi¸co:
shell> mysqld --install
Se vocˆe n˜ao definir um nome para o servi¸co, ele ´e instalado com o nome MySQL. Uma vez instalado, ele pode ser imediatamente iniciado a partir do utilit´arioServi¸cos, ou usando o comandoNET START MySQL. (Este comando ´e caso insensitivo).
Uma vez em execu¸c˜ao, omysqldpode ser parado usando o utilit´ario de Servi¸cos ou usando o comando NET STOP MySQL, ou o comandomysqladmin shutdown.
Se vocˆe tiver problemas instalando o mysqld como um servico usando apenas o nome do servidor, tente instal´a-lo usando seu caminho compelto:
shell> C:\mysql\bin\mysqld --install
A partir do MySQL 4.0.2, vocˆe pode especificaro nome do servi¸co depois da op¸c˜ao --install. A partir do MySQL 4.0.3, vocˆe pode especificar uma op¸c˜ao --defaults-file depois do nome do servi¸co para indicar onde o servidor deve obter op¸c˜oes ao iniciar. A regras que determinam o nome do servi¸co e os arquivos de op¸c˜ao que o servidor usa s˜ao as seguintes:
• Se vocˆe n˜ao especificar um nome de servi¸co, o servidor usa o nome padr˜ao doMySQL e o servidor lˆe as op¸c˜oes do grupo[mysqld] no arquivo de op¸c˜oes padr˜ao.
• Se vocˆe especificar um nome de servi¸co depois da op¸c˜ao --install, o servidor ignora o grupo de op¸c˜ao[mysqld]em vez de ler op¸c˜oes do grupo que tem o mesmo nome que o servi¸co. O servidor le op¸c˜oes do arquivo de op¸c˜oes padr˜ao.
• Se vocˆe especificar uma op¸c˜ao --defaults-filedepois do nome de servi¸co, o servidor ignora o arquivo de op¸c˜oes padr˜ao e lˆe op¸c˜oes apenas a partir do grupo [mysqld] do arquivo indicado.
No caso normal que vocˆe instala o servidor com--install mas nenhum nome de servi¸co, o servidor ´e instalado com um nome de servi¸co deMySQL.
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¸co ´e dado depois de op¸c˜ao --install. Se nenhuma op¸c˜ao --defaults-filefor dada, este comando teria o efeito de fazer o servidor ler o grupo[mysql]
a partir do arquivo de op¸c˜oes padr˜ao. (Isto seria uma m´a id´eia, porque aquele grupoo de op¸c˜ao ´e para ser usado pelo programa cliente mysql.) No entanto, como a op¸c˜ao --defaults-fileest´a presente, o servidor lˆe as op¸c˜oes apenas a partir do arquivo indicado, e apenas do grupo de op¸c˜ao [mysqld].
Vocˆe tamb´em pode especificar as op¸c˜oes como “Par^ametros de inicializa¸c~ao” no utilit´ario deServi¸cosdo Windows antes de vocˆe iniciar o servi¸co MySQL.
Uma vez que o servidor MySQL ´e instalado, o Windows ir´a iniciar o servi¸co automaticamente sempre que o Windows inicia. O servi¸co tamb´em pode ser iniciado imediatamente a partir do utilit´arioServi¸cosou usando o comandoNET START MYSQL. O comandoNETn˜ao ´e caso sensitivo.
Note que quando executado como um servi¸co, o mysqld n˜ao tˆem acesso a um console e ent˜ao nenhuma mensagem pode ser vista. Se omysqldn˜ao iniciar, verifique o log de erros par ver se o servidor gravou alguma mensagem l´a indicando a causa do problema. O log de erro est´a localizado no diret´orio ‘c:\mysql\data’. ´E o arquivo com um sufixo ‘.err’.
Quando omysqldest´a executando como um servi¸co, ele pode ser parado usando o utilit´arios Servi¸cos, o comandoNET STOP MYSQL, ou o comando mysqladmin shutdown. Se o servi¸cp estiver em execu¸c˜ao quando o Windows desliga, o Windows ir´a parar o servidor automati-camente.
A partir do MySQL vers˜ao 3.23.44, vocˆe pode escolher entre instalar o servidor como um servi¸co Manual se vocˆe n˜ao deseja que os servi¸cos sejam executados automaticamente du-rante o processo de inicializa¸c˜ao. Para fazer isto, use a op¸c˜ao --install-manual em vez da op¸c˜ao--install.
shell> C:\mysql\bin\mysqld --install-manual
Para remover um servi¸co que est´a instalado como um servi¸co, primeiro pare-o se ele estiver em execu¸c˜ao. Ent˜ao use a op¸c˜ao --removepara removˆe-lo:
Para remover um servi¸co que est´a instalado como um servi¸co, primeiro pare-o se ele estiver em execu¸c˜ao. Ent˜ao use a op¸c˜ao --removepara removˆe-lo: