XOOPS Brasil

 

Capítulo 2. Instalação do MySQL

Índice

2.1. Instalação rápida padrão do MySQL
2.1.1. Instalando o MySQL no Windows
2.1.2. Instalando o MySQL no Linux
2.1.3. Instalando o MySQL no Mac OS X
2.1.4. Instalando o MySQL no NetWare
2.2. Detalhes Gerais de Instalação
2.2.1. Como obter o MySQL
2.2.2. Verificando a Integridade do Pacote Usando MD5 Checksums ou GnuPG
2.2.3. Sistemas Operacionais suportados pelo MySQL
2.2.4. Qual versão do MySQL deve ser usada
2.2.5. Layouts de Instalação
2.2.6. Como e quando as atualizações são lançadas?
2.2.7. Filosofia das Distribuições - Nenhum Bug Conhecidos nas Distribuições
2.2.8. Binários MySQL compilados pela MySQL AB
2.2.9. Instalando uma Distribuição Binária do MySQL
2.3. Instalando uma distribuição com fontes do MySQL
2.3.1. Visão geral da instalação rápida
2.3.2. Aplicando patches
2.3.3. Opções típicas do configure
2.3.4. Instalando pela árvore de fontes do desenvolvimento
2.3.5. Lidando com Problemas de Compilação
2.3.6. Notas MIT-pthreads
2.3.7. Instalando o MySQL a partir do Fonte no Windows
2.4. Configurações e Testes Pós-instalação
2.4.1. Problemas Executando o mysql_install_db
2.4.2. Problemas Inicializando o Servidor MySQL
2.4.3. Inicializando e parando o MySQL automaticamente.
2.5. Atualizando/Desatualizando o MySQL
2.5.1. Atualizando da Versão 4.0 para 4.1
2.5.2. Atualizando da Versão 3.23 para 4.0
2.5.3. Atualizando da versão 3.22 para 3.23
2.5.4. Atualizando da versão 3.21 para 3.22
2.5.5. Atualizando da versão 3.20 para 3.21
2.5.6. Atualizando a Tabela de Permissões
2.5.7. Atualizando para outra arquitetura
2.5.8. Atualizando o MySQL no Windows
2.6. Notas específicas para os Sistemas Operacionais
2.6.1. Notas Windows
2.6.2. Notas Linux (Todas as versões)
2.6.3. Notas Solaris
2.6.4. Notas BSD
2.6.5. Notas Mac OS X
2.6.6. Notas de Outros Unix
2.6.7. Notas OS/2
2.6.8. Notas Novell NetWare
2.6.9. Notas BeOS
2.7. Comentários de Instalação do Perl
2.7.1. Instalando Perl no Unix
2.7.2. Instalaando ActiveState Perl no Windows
2.7.3. Problemas Usando a Interface Perl DBI/DBD

Este capítulo descreve como obter e instalar o MySQL:

2.1. Instalação rápida padrão do MySQL

Este capítulo cobre a instalação do MySQL em plataformas onde oferecemos pacotes usando oformato de empacotamento nativo da respectiva plataforma. No entanto, as distribuições binárias do MySQL estão disponíveis para muitas outras plataformas, veja Seção 2.2.9, “Instalando uma Distribuição Binária do MySQL” para instruções gerais de instalação para estes pacotes que se aplicam a todas as plataformas.

Veja Seção 2.2, “Detalhes Gerais de Instalação” para mais informações sobre quais outras distribuições binárias estão disponíveis e como obtê-las.

2.1.1. Instalando o MySQL no Windows

O processo de instalação para o MySQL no Windows tem os seguintes passos:

  1. Instale a distribuição.

  2. Configure um arquivo de opção se necessário.

  3. Selcione o servidor que você quer usar.

  4. Inicie o servidor.

O MySQL para Windows está disponível em dois formatos de distribuição:

  • A distribuição binária contém um programa de instalação que instala que você precisa e assim possa iniciar o servidor imediatamente.

  • A distribuição fonte contém todo o código e os arquivos suportados para construir o executável usando o compilador VC++ 6.0. Veja mais informações sobre isto na Seção 2.3.7, “Instalando o MySQL a partir do Fonte no Windows”.

Geralmente, a melhor opção é a distribuição binária. É mais simples e você não precisa de nenhuma ferramenta adicional para ter o MySQL em execução.

2.1.1.1. Exigências do Sistema Windows

Para executar o MySQL no Windows, você precisará do seguinte:

  • Um sistema operacional Windows de 32 bits como 9x, ME, NT, 2000 ou XP. A família NT (Windows NT, 2000 e XP) lhe permite executar o servidor MySQL como um serviço. Veja mais informações sobre isto na Seção 2.1.1.7, “Iniciando o MySQL no Windows NT, 2000, ou XP”.

  • Suporte ao protocolo TCP/IP.

  • Um cópia da distribuição binária do MySQL para Windows, o qual pode ser feito download em http://www.mysql.com/downloads/.

    Nota: A distribuição de arquivos são fornecidas no formato zip e recomendamos o uso de um cliente FTP com opção de resumo para evitar corrompimento de arquivos durante o processo de download.

  • Um programa ZIP para descompactar os arquivos da distribuição.

  • Espaço suficiente em disco para descompactar, instalar e criar o banco de dados de acordo com suas exigências.

  • Se você planeja se conectar ao servidor MySQL via ODBC, você também precisará do dirver MyODBC. Veja mais informações sobre isto na Seção 12.2, “Suporte ODBC ao MySQL”.

  • Se você precisa de tabelas com tamanho maior que 4GB, instale o MySQL em um sistema de arquivos NTFS ou mais novo. Não se esqueça de usar MAX_ROWS e AVG_ROW_LENGTH quando criar tabelas. Veja mais informações sobre isto na Seção 6.5.3, “Sintaxe CREATE TABLE.

2.1.1.2. Instalando uma Distribuição Binária do Windows

Para instalar o MySQL no Windows usando uma distribuição binária, siga este procedimento:

  1. Se você estiver trabalhando em uma máquina Windows NT, 2000, ou XP, esteja certo de que você está logado com um utilizador com privileios de administrador.

  2. Se você estiver fazendo uma atualização de uma instalação MySQL mais nova, é necessário parar o servidor atual. Em máquinas com Windows NT, 200 ou XP, se você estiver executando o servidor como um serviço, pare-o com o comando:

    C:\> NET STOP MySQL
    

    Se você planeja usar um servidor diferente depois da atualização (por exemplo, se você quiser executar o mysqld-max em vez do mysqld), remova o serviço existente:

    C:\mysql\bin> mysqld --remove
    
  3. Você pode reinstalar o serviço com o servidor próprio depois de atualizar.

    Se você não estiver executando o servidor MySQL como um serviço, pare desta forma:

    C:\mysql\bin> mysqladmin -u root shutdown
    
  4. Finalize o programa WinMySQLAdmin se ele estiver em execução.

  5. Descompacte os arquivos de distribuição em um diretório temporário.

  6. Execute o programa setup.exe para iniciar o processo de instalação. Se você quiser instalar em um diretório diferente do padrão (c:\mysql), use o botão Browse para especificar seu diretório preferido. Se você não instalar o MySQL no local padrão, você precisará epecificar o local onde você inicia o servidor. O modo mais fácil de se fazer isto é usar um arquivo de opção, como descrito em Seção 2.1.1.3, “Preparando o Ambiente MySQL do Windows”.

  7. Finalize o processo de instalação.

2.1.1.3. Preparando o Ambiente MySQL do Windows

Se você precisar especificar opções de inicialização quando executar o servidor, você pode indentifica-los na linha de comando ou colocá-los em um arquivo de opção. Par opções que são usadas sempre que o servidor iniciar, você achará mais conveniente utilizar um arquivo de opcão para especificar a configuração do seu MySQL. Isto é particularmente verdade sob as seguintes circunstâncias:

  • A localização do diretório de instalação ou dados são diferentes dos locais padrão (c:\mysql e c:\mysql\data).

  • Você precisa ajustar as configurações do servidor. Por exemplo, para usar as tabelas transacionais InnoDB no MySQL versão 3.23, você deve criar manualmente dois novos diretórios para guardar os arquivos de dados e de log do InnoDB --- por exemplo, c:\ibdata e c:\iblogs. Você também poderá adicionar algumas linhas extras ao arquivo de opção, como descrito em Seção 7.5.3, “Opções de Inicialização do InnoDB”. (A partir do MySQL 4.0, o InnoDB cria os seus arquivos de log e dados no diretório de dados por padrão. Isto significa que você não precisa configurar o InnoDB explicitamente. Você ainda deve fazê-lo se desejar, e um arquivo de opção será útil neste caso.)

No Windows, o instalador do MySQL coloca o diretório de dados diretamente sob o diretório onde você instalou o MySQL. Se você quisesse utilizar um diretório de dados em um local diferente, você deve copiar todo o conteúdo do diretórios data para a nova localização. Por exemplo, por padrão, o instalador coloca o MySQL em C:\mysql e o diretório de dados em C:\mysql\data. Se você quiser usar um diretório de dados de E:\mydata, você deve fazer duas coisas:

  • Mova o diretório de dados de C:\mysql\data para E:\mydata.

  • Use uma opção --datadir para especificar a nova localização do diretório de dados cada vez que você iniciar o servidor.

Quando o servidor MySQL inicia no Windows, ele procura pelas opções em dois arquivos: O arquivo my.ini no diretório Windows e o arquivo chamado C:\my.cnf. O diretório do Windows é normalmente chamado C:\WINDOWS ou C:\WinNT. Você pode determinar a sua localização exata a partir do valor da variável de ambiente WINDIR usando o seguinte comando:

C:\> echo %WINDIR%

O MySQL procura pelas opções primeiro no arquivo my.ini, e então pelo arquivo my.cnf. No entanto, para evitar confusão, é melhor se você usar apenas um destes arquivos. Se o seu PC usa um boot loader onde o drive C: não é o drive de boot, sua única opção é usar o arquivo my.ini. Independente de qual arquivo usar, ele deve ser no formato texto.

Um arquivo de opção pode ser criado e modificado com qualquer editor de texto como o programa Notepad. Por exemplo, se o MySQL está instalado em D:\mysql e o diretório de dados está localizado em D:\mydata\data, você pode criar o arquivo de opção e definir uma seção [mysqld] para especificar valores para os parâmetros basedir e datadir:

[mysqld]
# defina basedir com o seu caminho de instalação
basedir=D:/mysql
# defina datadir com o local do diretório de dados,
datadir=D:/mydata/data

Note que os nome de caminho do Windows são específicados em arquivos de opção usando barras normais em ves de barra invertida. Se você usar barras invertidas, você deve usá-las em dobro.

Outro modo de se gerenciar um arquivo de opção é usar a ferramenta WinMySQLAdmin. Você pode encontrar o WinMySQLAdmin no diretório bin de sua instalação MySQL, assim como um arquivo de ajuda contendo instruções para usá-lo. O WinMySQLAdmin tem a capacidade de editar os seus arquivos de opção, mas note o seguinte:

  • WinMySQLAdmin usa apenas o arquivo my.ini.

  • Se o WinMySQLAdmin encontra o arquivo C:\my.cnf, ele o renomeará para C:\my_cnf.bak para disabilitá-lo.

Agora você está pronto para testar o servidor.

2.1.1.4. Selecionando um Servidor Windows

Iniciado com o MySQL 3.23.38, a distribuição Windows inclui ambos binários, normal e o MySQL-Max. Aqui está uma lista dos diferentes servidores MySQL dos quais você pode escolher:

BinarioDescrição
mysqldCompilado com debugger integral e conferência automática de alocação de memória, links simbólicos, BDB e tabelas InnoDB.
mysqld-optBinário otimizado. A partir da versão 4.0 o InnoDB está habilitado. Antes desta versão, este servidor não tem suporte a tabelas transacionais.
mysqld-ntBinário otimizado para NT/2000/XP com suporte para named pipes.
mysqld-maxBinário otimizado com suporte para links simbólicos, tabelas BDB e InnoDB.
mysqld-max-ntComo o mysqld-max, porém compilado com suporte para named pipes.

Todos os binários acima são otimizados para processadores Intel modernos mas deve funcionar em qualquer processador Intel i386 ou melhor.

Os servidores mysqld-nt e mysqld-max-nt suportam conexões named pipe. Se você usar um destes servidores, o uso de named pipes está sujeito a estas condições:

  • Os servidores devem ser executados em uma versão do Windows que suporte named pipes (NT, 2000, XP).

  • A partir da versão 3.23.50, named pipes só estarão habilitados se você iniciar estes servidores com a opção --enable-named-pipe.

  • Os servidores podem ser executados no Windows 98 ou Me, mas o TCP/IP deve estar instalado, e as conexões named pipes não podem ser usadas.

  • No Windows 95, estes servidores não 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ções. Eles podem usar TCP/IP, ou eles podem usar um named pipe se o servidor suportar conexões named pipes.

Para informações sobre qual servidor binário executar, veja Seção 2.1.1.3, “Preparando o Ambiente MySQL do Windows”.

Esta seção lhe dá um visão geral da inicialização de um servidor MySQL. A seguinte seção fornce informação mais específica para versões particulares do Windows.

Os exemplos nesta seção assumem que o MySQL está instalado sob a localização padrão, C:\mysql. Ajuste o caminho mostrado nos exemplos se você 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'') é 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ção, estas mensagens tornarão mais fácil para você de identificar e corrigir qualquer problema.

Tenha certeza que você está no diretório onde o servidor é localizado e então entre este comando:

shell> mysqld --console

Para servidores que incluem suporte InnoDB, você 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ência de inicialização, você deve ver algo como abaixo, que indica que o servidor está pronto para o conexão com o cliente:

mysqld: ready for connections
Version: '4.0.14-log' socket: '' port: 3306

O servidor continuará a gravar no console qualquer saída de diagnóstico adicional que ele produza. Você pode abrir uma nova janela de console na qual se executará os programas clientes.

Se você omitir a opção --console, o servidor grava a saída do diagnóstico no log de erro no diretório de dados. O log de erro é o arquivo com a extensão .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á que qualquer máquina na sua rede se conecte a seu servidor MySQL.) Por isto, você deve ter certeza de que o suporte TCP/IP está instalado na sua máquina antes de iniciar o MySQL. Você pode encontrar o TCP/IP no seu CD-ROM do Windows.

Note que se você estiver usando uma versão antiga do Win95 (por exemplo, OSR2). É preferível que você use um pacote antigo Winsock; para o MySQL é necessário o Winsock 2! Você pode obter o Winsock mais novo em http://www.microsoft.com. O Windows 98 tem a nova biblioteca Winsock 2, portanto não é necessário atualizar a biblioteca.

Para iniciar o servidor mysqld, você deve iniciar uma janela do Prompt (Janela ``MS-DOS'') e digitar:

shell> C:\mysql\bin\mysqld

Isto irá iniciar o mysqld em segundo plano. Isto é, depois do servidor iniciar, você deve ver outro prompt de comando. (Note que se você iniciar o servidor deste modo no Windows NT, 2000 ou XP, o servidor irá executar em segundo plano e nenhum prompt de comando aparecerá até que o servidor finalize. Por isto, você deve abrir outro prompt de comando para executar programas clientes enquanto o servidor estriver em execução.)

Você pode finalizar o servidor MySQL executando:

shell> C:\mysql\bin\mysqladmin -u root shutdown

Isto chama o utilitário administrativo do MySQL mysqladmin para conectar ao servidor e manda-lo finalizar. O comando conecta como root que é a conta administrativa padrão no sistema de permissões do MySQL. Por favor, note que o sistema de permissões do MySQL é totalmente independente de qualquer login de utilizador sob o Windows.

Se o mysqld não iniciar, por favor, verifique o log de erro para ver se o servidor escreveu alguma mensagem que possa indicar a causa do problema. Você pode também tentar iniciar o servidor com mysqld --console; neste caso, você pode obter alguma informação útil na tela que pode ajudar a resolver o problema.

A última opção é iniciar o mysqld com --standalone --debug. Neste caso o mysqld irá escrever em um arquivo log C:\mysqld.trace que deve conter a razão pela qual o mysqld não inicia. Veja mais informações sobre isto na Seção E.1.2, “Criando Arquivos Trace (Rastreamento)”.

Use mysqld --help para mostrar todas as opções que o mysqld entende!

2.1.1.7. Iniciando o MySQL no Windows NT, 2000, ou XP

Na família NT (Windows NT, 2000 ou XP) o modo recomendado de executar o MySQL é instalá-lo como um serviço do Windows. O Windows então inicia e para o servidor MySQL automaticamente quando o Windows inicia e para. Um servidor instalado como um serviço também pode ser controlado a partir da linha de comando usando os comandos NET, ou com o utilitário gráfico Serviços.

O utilitário Serviços (o Service Control Manager do Windows) pode ser encontrado no Painel de Controle do Windows (em Ferramentas Administrativas no Windows 2000). É recomendado que se feche o utilitário Serviços enquanto realiza a operações de instalação ou remoção 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ê deve instalar o service pack 3 (ou mais novo)!

Antes de instalar o MySQL como um serviço, você deve primeiro parar o servidor atual em execução usando o seguinte commando:

shell> C:\mysql\bin\mysqladmin -u root shutdown

Isto chama o utilitário administrativo do MySQL mysqladmin para conectar ao servidor e mandá-lo parar. O comando conecta com root que é a conta administrativa padrão no sistema de permissões do MySQL. Por favor, note que o sistema de permissões do MySQL é totalmente independente de qualquer login de utilizador sob o Windows.

Agora instale o servidor como um serviço:

shell> mysqld --install

Se você não definir um nome para o serviço, ele é instalado com o nome MySQL. Uma vez instalado, ele pode ser imediatamente iniciado a partir do utilitário Serviços, ou usando o comando NET START MySQL. (Este comando é caso insensitivo).

Uma vez em execução, o mysqld pode ser parado usando o utilitário de Serviços ou usando o comando NET STOP MySQL, ou o comando mysqladmin shutdown.

Se você tiver problemas instalando o mysqld como um servico usando apenas o nome do servidor, tente instalá-lo usando seu caminho compelto:

shell> C:\mysql\bin\mysqld --install

A partir do MySQL 4.0.2, você pode especificaro nome do serviço depois da opção --install. A partir do MySQL 4.0.3, você pode especificar uma opção --defaults-file depois do nome do serviço para indicar onde o servidor deve obter opções ao iniciar. A regras que determinam o nome do serviço e os arquivos de opção que o servidor usa são as seguintes:

  • Se você não especificar um nome de serviço, o servidor usa o nome padrão do MySQL e o servidor lê as opções do grupo [mysqld] no arquivo de opções padrão.

  • Se você especificar um nome de serviço depois da opção --install, o servidor ignora o grupo de opção [mysqld] em vez de ler opções do grupo que tem o mesmo nome que o serviço. O servidor le opções do arquivo de opções padrão.

  • Se você especificar uma opção --defaults-file depois do nome de serviço, o servidor ignora o arquivo de opções padrão e lê opções apenas a partir do grupo [mysqld] do arquivo indicado.

Nota: Antes do MySQL 4.0.17, um servidor instalado como um serviço do Windows tinha problema na inicialização se o seu caminho ou nome do serviço possuisse espaços. Por esta razão, evite instalar o MySQL em um diretório como C:\Program Files ou usar um nome de serviço contendo espaço.

No caso normal que você instala o servidor com --install mas nenhum nome de serviço, o servidor é instalado com um nome de serviço de MySQL.

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ço é dado depois de opção --install. Se nenhuma opção --defaults-file for dada, este comando teria o efeito de fazer o servidor ler o grupo [mysql] a partir do arquivo de opções padrão. (Isto seria uma má idéia, porque aquele grupoo de opção é para ser usado pelo programa cliente mysql.) No entanto, como a opção --defaults-file está presente, o servidor lê as opções apenas a partir do arquivo indicado, e apenas do grupo de opção [mysqld].

Você também pode especificar as opções como ``Parâmetros de inicialização'' no utilitário de Serviços do Windows antes de você iniciar o serviço MySQL.

Uma vez que o servidor MySQL é instalado, o Windows irá iniciar o serviço automaticamente sempre que o Windows inicia. O serviço também pode ser iniciado imediatamente a partir do utilitário Serviços ou usando o comando NET START MYSQL. O comando NET não é caso sensitivo.

Note que quando executado como um serviço, o mysqld não têm acesso a um console e então nenhuma mensagem pode ser vista. Se o mysqld não iniciar, verifique o log de erros par ver se o servidor gravou alguma mensagem lá indicando a causa do problema. O log de erro está localizado no diretório c:\mysql\data. É o arquivo com um sufixo .err.

Quando o mysqld está executando como um serviço, ele pode ser parado usando o utilitários Serviços, o comando NET STOP MYSQL, ou o comando mysqladmin shutdown. Se o serviçp estiver em execução quando o Windows desliga, o Windows irá parar o servidor automaticamente.

A partir do MySQL versão 3.23.44, você pode escolher entre instalar o servidor como um serviço Manual se você não deseja que os serviços sejam executados automaticamente durante o processo de inicialização. Para fazer isto, use a opção --install-manual em vez da opção --install.

shell> C:\mysql\bin\mysqld --install-manual

Para remover um serviço que está instalado como um serviço, primeiro pare-o se ele estiver em execução. Então use a opção --remove para removê-lo:

shell> mysqld --remove

Um problema com a finalização automática do serviço MySQL é que, para versões do MySQL anteriores a 3.23.49, o Windows esparava apenas por alguns segundos para o desligamento completo, e matava os processos do servidor de banco de dados se o tempo limite fosse excedido. Isto potencialmente causava problemas. (Por exemplo, o mecanimo de armazenamento InnoDB deverá fazer uma recuperação de falhas na próxima inicialização). A partir do MySQL 3.23.49, o Windows irá esperar mais para que a finalização do MySQL Server esteja completa. Se você notar que ainda não é o suficiente para a sua instalação, não é seguro executar o MySQL Server como um serviço. Em vez disso, execute-o a partir do prompt de comando, e finalize-o com mysqladmin shutdown.

A alteração para avisar para o Windows para esperar mais quando parar o servidor MySQL funciona apenas com o Windows 2000 e XP, mas não para o Windows NT. No NT, o Windows espera apenas 20 segundos para que o serviço seja finalizado, e depois desso ele mata o processo do serviço. Você pode aumentar este padrão abrindo o Editor de Registro (\winnt\system32\regedt32.exe) e editar o valor de WaitToKillServiceTimeout em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control na árvore do Registro. Especifique o novo valor mais largo em milisegundos (por exemplo 12000 para que o Windows NT espere até 120 segundos).

Se você não quiser iniciar o mysqld como um serviço, você pode iniciá-lo a partir da linha de comando do mesmo modo que em versões do Windows que não são baseados no NT. Para instruções use Seção 2.1.1.6, “Iniciando o MySQL no Windows 95, 98, ou Me”.

2.1.1.8. Executando o MySQL no Windows

O MySQL suporta TCP/IP em todas as plataformas Windows. Os servidores mysqld-nt e mysql-max-nt suportam named pipes no NT, 2000 e XP. No entanto, o padrão é usar TCP/IP, independente da plataforma:

  • Named pipes é atualmente mais lento que TCP/IP em muitas configurações do Windows.

  • Alguns utilizadores encontraram problemas ao finalizar o servidor MySQL quando era usado named pipes.

A partir da versão 3.23.50, named pipes só está habilitado para o mysqld-nt e mysql-max-nt se eles forem iniciados com a opção --enable-named-pipe.

Você pode forçar que um cliente MySQL use named pipes especificando a opção --pipe ou especificando . como nome de máquina. Use a opção --socket para especificar o nome do pipe. No MySQL 4.1, você deve usar a opção --protocol=PIPE.

Você pode testar se o MySQL está funcionando executando qualquer dos seguintes comandos:

C:\> C:\mysql\bin\mysqlshow
C:\> C:\mysql\bin\mysqlshow -u root mysql
C:\> C:\mysql\bin\mysqladmin version status proc
C:\> C:\mysql\bin\mysql test

Se o mysqld está lento para responder a suas conexões no Win95/Win98, provavelmente existe um problema com seu DNS. Neste caso, inicie o mysqld com a opção --skip-name-resolve e use somente localhost e números IP na coluna Host das tabelas de permissões do MySQL.

Existem duas versões da ferramenta de linha de comando MySQL:

BinarioDescrição
mysqlCompilado em Windows nativo, oferecendo capacidades de edição de texto muito limitadas.
mysqlcCompilado com o compilador Cygnus GNU, que oferece edição readline.

Se você desejar usar o mysqlc, deve ter uma cópia da biblioteca cygwinb19.dll em algum lugar que o mysqlc possa encontrá-la. Se sua distribuição do MySQL não tiver esta biblioteca instalada no mesmo diretório que o mysqlc (o diretório bin sob o diretório base sa dua instalação do MySQL). Se sua distribuição não tem a biblioteca cygwinb19.dll no diretório bin, olhe no diretório lib para encontrá-lo e copiá-lo para o seu diretório de sistema no Windows. (\Windows\system ou um lugar parecido).

Os privilégios padrões no Windows dão a todos utilizadores locais privilégios totais para todos os bancos de dados sem necessidade de especificar uma senha. Para deixar o MySQL mais seguro, você deve configurar uma senha para todos os utilizador e remover a linha na tabela mysql.user que tem Host='localhost' e User=''.

Você também deve adicionar uma senha para o utilizador root. O exemplo seguinte exemplo inicia removendo o utilizador anônimo que tem todos os privilégios, e então configura uma senha para o utilizador root:

C:\> C:\mysql\bin\mysql mysql
mysql> DELETE FROM user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
C:\> C:\mysql\bin\mysqladmin -u root password your_password

Depois de configurar a senha, se você desejar desligar o servidor mysqld, você pode usar o seguinte comando:

C:\> mysqladmin --user=root --password=sua_senha shutdown

Se você estiver usando o servidor de uma antiga versão shareware do MySQL versão 3.21m o comando mysqladmin para configurar uma senha irá falhar com um erro: parse error near 'SET password'. A correção para este problema é atualizar para uma versão mais nova do MySQL.

Com as versões atuais do MySQL você pode facilmente adicionar novos utilizadores e alterar privilégios com os comandos GRANT e REVOKE. Veja mais informações sobre isto na Seção 4.4.1, “A Sintaxe de GRANT e REVOKE.

2.1.2. Instalando o MySQL no Linux

O modo recomendado para instalar o MySQL no Linux é usando um arquivo RPM. Os RPMs do MySQL atualmente são construídos na versão 7.3 do sistema Suse Linux mas deve funcionar em outras versões de Linux que suportam rpm e usam glibc.

Se você tiver problemas com um arquivo RPM (por exemplo, se você receber o erro ``Sorry, the host 'xxxx' could not be looked up''), veja Seção 2.6.2.1, “Notas Linux para distribuições binárias”.

Na maioria dos casos, você só precisa instalar os pacotes servidor MySQL e o cliente MySQL para ter uma instalação funcional do MySQL. Os outros pacotes não são exigidos para uma instalação padrão. Se você quiser executar um servidor MySQL Max que tenha capacidades adicionais, você deve instalar o RPM MySQL-Max depois de instalar o RPM MySQL-server. Veja mais informações sobre isto na Seção 4.8.5, “mysqld-max, om servidor mysqld extendido”.

Se você tiver um dependência de falha ao tentar instalar os pacotes do MySQL 4.0 (ex.: ``error: removing these packages would break dependencies: libmysqlclient.so.10 is needed by ...''), você também deve instalar o pacote MySQL-shared-compat, o qual inclui ambas as bibliotecas para compatibilidade com versões anteriores (libmysqlclient.so.12 para MySQL 4.0 e libmysqlclient.so.10 para MySQL 3.23).

Muitas distribuições Linux ainda vêm com o MySQL 3.23 a elas normalmente ligam as aplicações dinamicamente para economizar espaço em disco. Se estas bibliotecas compartilhadas estão em pacotes separados (ex.; MySQL-shared), é suficiente simplesmente deixar estes pacotes instalados e apenas atualizar os pacotes do servidor e cliente MySQL (que são estaticamente ligados e não dependem de bibliotecas compartilhadas). Para distribuições que incluem as bibliotecas compartilhadas no mesmo pacote que o servidor MySQL (ex.: Red Hat Linux), você também pode instalar nosso RPM MySQL-shares 3.23 ou usar o pacote compatível com MySQL-shared.

Os seguintes pacotes RPM estão disponíveis:

  • MySQL-server-VERSION.i386.rpm

    O servidor MySQL. Você ira precisar dele a não ser que você apenas queira se conectar a um servidor MySQL executando em outra máquina. Note que este pacote era chamado MySQL-VERSION.i386.rpm antes do MySQL 4.0.10.

  • MySQL-Max-VERSION.i386.rpm

    O servidor MySQL Max. Este seridor tem capacidades adicionais que o servidor no ROM MySQL-server não tem. Você deve instalar o RPM MySQL-server primeiro, porque o RPM MySQL-Max depende dele.

  • MySQL-client-VERSION.i386.rpm

    Os programas clientes padrões do MySQL. Provavelmente você sempre instalará este pacote.

  • MySQL-bench-VERSION.i386.rpm

    Testes e comparativos de performances (benchmarks). Necessita do Perl e módulos do BDB-mysql.

  • MySQL-devel-VERSION.i386.rpm

    As bibliotecas e arquivos include necessários se você precisa para compilar outros clientes MySQL, como nos módulos Perl.

  • MySQL-shared-VERSION.i386.rpm

    Este pacote contém as bibliotecas compartilhadas (libmysqlclient.so*) que certas linguagens e aplicações nencessárias para carregar dinâmicamente e usar o MySQL.

  • MySQL-shared-compat-VERSION.i386.rpm

    Este pacote inclui o biblioteca compartilhada para MySQL 3.23 e MySQL 4.0. Instale este pacote em vez do MySQL-shared, se você tiver aplicações instaladas que são dinâmicamente ligadas ao MySQL 3.23 mas você quer atualizar para o MySQL 4.0 sem quebrar as dependências da biblioteca. Este pacote esta disponível desde o MySQL 4.0.13.

  • MySQL-embedded-VERSION.i386.rpm

    A biblioteca do servidor embutido MySQL (MySQL 4.0).

  • MySQL-VERSION.src.rpm

    Este contém o código fonte para todos os pacotes acima. Ele também pode ser usado para tentar construir RPMs para outras arquiteturas (por exemplo, Alpha ou SPARC).

Para ver todos os arquivo em um pacote RPM, (por exemplo, um RPM MySQL-server), execute:

shell> rpm -qpl MySQL-server-VERSION.i386.rpm

Para realizar uma instalação mínima padrão, execute:

shell> rpm -i MySQL-server-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm

Para instalar somente o pacote cliente, execute:

shell> rpm -i MySQL-client-VERSION.i386.rpm

O RPM fornece um recurso para verificar a integridade e autenticidade dos pacotes antes de instalá-los. Se você quiser aprender mais sobre este recurso, veja Seção 2.2.2, “Verificando a Integridade do Pacote Usando MD5 Checksums ou GnuPG.

O RPM coloca dados sob o /var/lib/mysql. O RPM também cria as entradas apropriadas em /etc/rc.d/ para iniciar o servidor automaticamente na hora do boot. (Isto significa que se você realizou uma instalação anterior e fez alterações em seu script de inicialização, você pode desejar criar uma cópia do script para que você não perca ao instalar um RPM mais novo). Veja Seção 2.4.3, “Inicializando e parando o MySQL automaticamente.” para mais informações sobre como o MySQL pode ser iniciado automaticamente na inicialização do sistema.

Se você quiser instalar o RPM do MySQL em uma distribuição Linux mais antiga que não suporte scripts de inicialização no /etc/init.d (diretamente ou via link simbólico), você deve criar um link simbólico que aponte para a localização onde o seu script de instalação está atualmente instalado. Por exemplo, se esta localização for /etc/rc.d/init.d, use estes comandos antes de intalar o RPM para criar /etc/init.d como um link simbólico que aponte lá:

shell> cd /etc; ln -s rc.d/init.d .

No entanto, todas as distribuições de Linux atuais já devem suportar este novo layout de diretório que usa /etc/init.d já que ele é exigido para compatibilidade LBS (Linux Standard Base).

Se o arquivo RPM que você instalar inclui o MySQL-server, o daemon mysqld deve estar pronto e em execução após a instalação. Agora você já deve poder iniciar o MySQL. Veja mais informações sobre isto na Seção 2.4, “Configurações e Testes Pós-instalação”.

Se alguma coisa der errado, você encontrar maiores informações no capítulo de instalação. Veja mais informações sobre isto na Seção 2.2.9, “Instalando uma Distribuição Binária do MySQL”.

2.1.3. Instalando o MySQL no Mac OS X

A partir do MySQL 4.0.11, você pode instalar o MySQL no Mac OS X 10.2 (``Jaguar'') usando um pacote do binário do Mac OS X PKG em vez da distribuição binário em tarball. Note que versões mais antigas do Mac OS X (ex.: 10.1.x) não são suportadas por este pacote.

Este pacote está localizado dentro de um arquivo de imagem de disco (.dmg). que você primeiro precisa montar com um duplo clique em sua ícone no Finder. Ele deve então montar a imagem e exibir o seu conteúdo.

NOTA: Antes de proceder com a instalação, tenha certeza que você finalizou todas as instâncias do MySQL em execução usando o MySQL Manager Aplication (no Mac OS X Server) ou via mysqladmin shutdown na linha de comando.

Para relamente instalar o MySQL PKG, de um duplo clique na ícone do pacote. Isto inicia o Mac OS Package Installer, que irá guia-lo pela instalação do MySQL.

O Mac OS X PKG do MySQL irá se instalar em /usr/local/mysql-<version> e também instalrá um link simbólico /usr/local/mysql, apontando para a nova localização. Se um diretório chamado /usr/local/mysql já existe, ele será renomeado para /usr/local/mysql.bak em primeiro lugar. Adicionalmente, ele irá instalar a tabela de permissões do banco de dados MySQL executando mysql_install_db depois da instalação.

O layout de instalação é similar a aquele da distribuição binária, todos os binários do MySQL estão localizados no diretório /usr/local/mysql/bin. O socket MySQL será colocado em /tmp/mysql.sock por padrão. Veja mais informações sobre isto na Seção 2.2.5, “Layouts de Instalação”.

A instalação do MySQL exige uma conta de utilizador do Mac OS X chamada mysql (uma conta de utilizador com este nome existe por padrão no Mac OS X 10.2 e acima).

Se você estiver executando o MAC OS X Server, você já terá uma versão do MySQL instalado:

  • Mac OS X Server 10.2-10.2.2 vem com o MySQL 3.23.51 instalado

  • Mac OS X Server 10.2.3-10.2.6 vem com o MySQL 3.23.53

  • Mac OS X Server 10.3 vem com o MySQL 4.0.14

Esta seção do manual cobre a instalação apenas do MySQL Mac OS X PKG oficial. Leia o ajuda da Apple sobre a instalação do MySQL (Execute o aplicativo ``Help View'', selecione a ajuda do ``Mac OS X Server'' e faça uma busca por ``MySQL'' e leia o item entitulado ``Installing MySQL'').

Note especialmente, que a versão pré-instalada do MySQL no Mac OS X Server é iniciado com o comando safe_mysqld em vez de mysqld_safe.

Se anteriormente você usava pacotes do MySQL de Marc Liyanage para Mac OS X de http://www.entropy.ch, você pode simplesmente seguir as intruções de atualização para pacotes usando o layout de instalação dos binário como dados em suas páginas.

Se você está atualizado da versão 3.23.xx de Marc ou do versão Mac OS X Server do MySQL para o MySQL PKG oficial, você também deve converter a tabela de privilégios do MySQL existente para o formato atual, porque alguns novos privilégios de segurança foram adicionados. Veja mais informações sobre isto na Seção 2.5.6, “Atualizando a Tabela de Permissões”.

Se você preferisse iniciar automaticamente o MySQL durante o boot do sistema, você tambén precisa instalar o MySQL Startup Item. A partir do MySQL 4.0.15, ele é parte do disco de instalação do Mac OS X como um pacote de instalação separado. Simplesmente de um duplo clique no ícone MySQLStartupItem.pkg e siga as instruções para instalá-lo.

Note que isto só precisa ser feito uma vez! Não há necessidade de se instalar o Startup Item toda vez que se atualizar o pacote do MySQL.

Devido a um erro no instalador de pacotes do Mac OS X, algumas vezes você pode ver a mensagem de erro You cannot install this software on this disk. (null) no diálogo de seleção do disco de destino. Se este erro ocorrer, simplesmente clique no botão Go Back uma vez para retornar a tela anterior. Agora clique em Continue para avançar para a seleção do disco de destino novamente - agora você deve estar apto a escolher o disco destino corretamente. Nós informamos este erro a Apple e eles estão investigando este problema.

O Startup Item será instalado em /Library/StartupItems/MySQL. Ele adiciona uma variável MYSQLCOM=-YES- ao arquivo de configuração do sistema (/etc/hostconfig). Se você desejasse diasbilitar a inicialização automática do MySQL, simplesmente altere o valor desta variável para MYSQLCOM=-NO-.

No Mac OS X Server, o script de instalação do Startup Item disabilitará automaticamente a inicialização da instalação padrão do MySQL alterando a variável MYSQL em /etc/hostconfig para MYSQL=-NO-. Isto é para evitar conflitos na inicialização. No entanto, ele não desliga um servidor MySQL ajá em execução.

Depois da instalação, você pode iniciar o MySQL executando os seguintes comandos em um janela de terminal. Note qye você preceisa ter privilégios de administrador para realizar esta tarefa.

Se você tiver instalado o Startup Item:

shell> sudo /Library/StartupItems/MySQL/MySQL start
(Enter your password, if necessary)
(Press Control-D or enter "exit" to exit the shell)

Se você não tiver instalado o Startup Item, digite a seguinte sequência de comandos:

shell> cd /usr/local/mysql
shell> sudo ./bin/mysqld_safe
(Enter your password, if necessary)
(Press Control-Z)
shell> bg
(Press Control-D or enter "exit" to exit the shell)

Agora você deve conseguir se conectar ao servidor MySQL, ex.: executando /usr/local/mysql/bin/mysql

Se você instalar o MySQL pela primeira vez, lembre-se de consigurar uma senha para o utilizador root do MySQL!

Isto é feito com os seguintes comandos:

/usr/local/mysql/bin/mysqladmin -u root password <password>
/usr/local/mysql/bin/mysqladmin -u root -h `hostname` password <password>

Por favor, tenha certeza que o comando hostname na segunda linha está entre crases (`), assim a shell pode substituí-la com a saída deste comando (o nome da máquina deste sistema)!

Você também pode querer adicionar aliases ao seu arquivo de resursos do sheel para acessar mysql e mysqladmin da linha de comando:

alias mysql '/usr/local/mysql/bin/mysql'
alias mysqladmin '/usr/local/mysql/bin/mysqladmin'

De forma alternativa, você pode simplesmente adicionar /usr/local/mysql/bin a sua variável de ambiente PATH, ex.: adicionando o seguinte ao arquivo $HOME/.tcshrc:

setenv PATH ${PATH}:/usr/local/mysql/bin

Note que instalar um novo MySQL PKG não remove o diretório de uma instalação mais antiga. Infelizmente o Mac OS X Installer ainda não oferece a funcionalidade exigida para atualizar apropriadamente pacotes instalados anteriormente.

Depois de copiar os arquivos de banco de dados do MySQL sobre os da versão anterior e inicializar o nova versão com sucesso, você deve remover os arquivos da instalação antiga para economizar espaço em disco. Adicionalmente você também deve remover versões mais antigas do diretório do Package Receipt localizados em /Library/Receipts/mysql-<version>.pkg.

2.1.4. Instalando o MySQL no NetWare

A partir da versão 4.0.11, o MySQL está disponível para a Novell NetWare na forma de pacote do binário. Para servir o MySQL, o servidor NetWare deve suprir estas exigências:

  • NetWare versão 6.5, ou NetWare 6.0 com Support Pack 3 instalado (Você pode obtê-lo em http://support.novell.com/filefinder/13659/index.php). O sistema deve obedecer as exigências mínimas da Naveel para executar a respectiva versão do NetWare.

  • Os dados do MySQL, assim com os seus binários, devem ser instalados em um volume NSS; volumes tradicionais não são suportados.

O pacote binário para o NetWare pode ser obtido em http://www.mysql.com/downloads/.

Se você estiver executando o MySL no NetWare 6.0, sugerimos que você utilize a opção --skip-external-locking na linha de comando. Também será necessário utilizar CHECK TABLE e REPAIR TABLE em vez de myisamchk, porque myisamchk faz uso de lock externo. Lock externo possui problemas com NetWare 6.0; o problema foi eliminado no NetWare 6.5.

2.1.4.1. Instalando o MySQL para Binários do NetWare

  1. Se você estiver atualizando de um instaação anterior, para o servidor MySQL. Isto é feito a partir do console do servidor, usando:

    SERVER: mysqladmin -u root shutdown
    
  2. Conecte-se no servidor alvo a partir de uma máquina cliente com acesso ao local onde você instalará o MySQL.

  3. Extraia o pacote zip binário em seu servidor. Tenha certeza de permitir que os caminhos no arquivo zip sejam usados. É seguro simplesmente extrair os arquivos para SYS:\.

    Se você estiver atualizando de uma instalando anterior, você pode precisar copiar os diretórios de dados (ex.: SYS:MYSQL\DATA) agora, assim como my.cnf se você o tiver costumizado. Você pode então deletar a cópia antiga do MySQL.

  4. Você pode desejar renomear o diretório para algo mais consistente e fácil de usar. Recomendamos usar o SYS:MYSQL; exemplos no manual o usarão para se referir ao diretório de instalação em geral.

  5. No console do servidor, adicione um caminho de busca no diretório contendo os NLMs do MySQL. Por exemplo:

    SERVER: SEARCH ADD SYS:MYSQL\BIN
    
  6. Instale o banco de dados inicial, se necessário, digitando mysql_install_db no console do servidor.

  7. Inicie o servidor MySQL usando mysqld_safe no console do servidor.

  8. Para finalizar a instalação, você também deve adicionar os seguintes comandos ao autoexec.ncf. Por exemplo, se sua instalação do MySQL está em SYS:MYSQL e você quiser que o MySQL inicie automaticamente, você pode adicionar estas linhas:

    #Starts the MySQL 4.0.x database server
    SEARCH ADD SYS:MYSQL\BIN
    MYSQLD_SAFE
    

    Se você estiver usando NetWare 6.0, você deve adicionar o parâmetro --skip-external-locking:

    #Starts the MySQL 4.0.x database server
    SEARCH ADD SYS:MYSQL\BIN
    MYSQLD_SAFE --skip-external-locking
    

Se houver uma instalação existente do MySQL no servidor, verifique a existencia de comandos de inicialização do MySQL em autoexec.ncf, e edite ou delete-os se necessário.