Confira a homepage da MySQL homepage (http://www.mysql.com/) para informações sobre a versão atual e para instruções de download.
Nosso principal espelho de download está localizado em: http://mirrors.sunsite.dk/mysql/.
Para uma lista atualizada completa dos mirrors de download da MySQL, veja http://www.mysql.com/downloads/mirrors.html. Você também encontrará informação sobre como se tornar um mirror do MySQL e como relatar um mirror ruim ou desatualizado.
Depois de fazer o download do pacote MySQL que serve às suas necessidades e antes de tentar instalá-lo, você deve ter certeza de que ele esta intacto e não foi manipulado.
A MySQL AB oferece dois tipos de verificação de integridade:
MD5 checksums e assinaturas criptografadas
usando GnuPG, o GNU Privacy
Guard.
Verificando o MD5
Checksum
Depois de fazer o download do pacote, você deve verificar se o MD5 checksum corresponde a aquele fornecido na página de download do MySQL. Cada pacote tem um checksum individual, que você pode verificar com o seguinte comando:
shell> md5sum <pacote>
Note que nem todos os sistemas operacionais suportam o comando
md5sum - em alguns ele é simplesmente
chamado md5, outros não o possuem. No Linux,
ele é parte do pacote GNU Text Utilities,
que está disponível para uma grande faixa de plataformas.
Você pode fazer o download do código fonte em
http://www.gnu.org/software/textutils/.
Se você tiver o OpenSSL instalado, você
também pode usar o comando openssl md5
<pacote>. Uma implementação do comando
md5 para DOS/Windows está disponível em
http://www.fourmilab.ch/md5/.
Exemplo:
shell> md5sum mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
155836a7ed8c93aee6728a827a6aa153
mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
Você deve verificar se o resultado do checksum corresponde a aquele impresso no página de download logo abaixo do respectivo pacote.
A maioria do sites mirrors também oferecem um arquivo chamado
MD5SUMS, que também inclui o MD5 checksums
para todos os arquivos incluídos no diretório
Downloads. Note no entanto que é muito
fácil de modificar este arquivo e ele não é um método muito
confiável. Caso esteja em dúvida, você deve consultar
diferentes sites mirroers e comparar os resultados.
Verificação de Assinatura Usando
GnuPG
Um método de verificação de integridade de um pacote mais
confiável é o uso de assinaturas criptografadas. A MySQL AB
usa o GNU Privacy Guard
(GnuPG), uma alternativa Open
Source para o bem conhecido Pretty Good
Privacy (PGP) de Phil Zimmermann.
Veja
http://www.gnupg.org/
and
http://www.openpgp.org/
para mais informações sobre
OpenPGP/GnuPG e como obter
e instalar o GnuPG em seus sistema. A maioria
das distribuições de Linux já vêm com o
GnuPG instalado por padrão.
A partir do MySQL 4.0.10 (Fevereiro de 2003), a MySQL AB
começou a assinar o seus pacotes de download com
GnuPG. Assinaturas criptografadas são um
método bem mais confiável de verificação da integridade e
autenticidade de um arquivo.
Para verificar a assinatura de um pacote específico, você
primeiro precisa obtter uma cópia da chave pública GPG da
MySQL AB (<build@mysql.com>). Você também pode
cortá-la e colá-la diretamente daqui ou obtê-la em
http://www.keyserver.net/.
Key ID: pub 1024D/5072E1F5 2003-02-03 MySQL Package signing key (www.mysql.com) <build@mysql.com> Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5 Public Key (ASCII-armored): -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3 RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3 BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE 7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p /1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92 6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ== =YJkx -----END PGP PUBLIC KEY BLOCK-----
Você pode importar esta chave em seu pasta de chaves publicas
GPG usando gpg --import.
Veja a documentação de GPG para mais
informações de como trabalhar com chaves públicas.
Depois de fazer o download e importar a chave publica criada,
faça o download do pacote MySQL desejado e da assinatura
correspondente, que também está disponível na página de
download. A assinatura tem a extensão
.asc. Por exemplo, a assinatura de
mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz
seria
mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.asc.
Tenha certeza que ambos os arquivos estão armazenados no mesmo
diretório e então execute o seguinte comando para verificar a
assinatura para este arquivo:
shell>gpg --verify <package>.ascExemplo: shell>gpg --verify mysql-standard-4.0.10-gamma-pc-linux-i686.tar.gz.ascgpg: Warning: using insecure memory! gpg: Signature made Mon 03 Feb 2003 08:50:39 PM MET using DSA key ID 5072E1F5 gpg: Good signature from "MySQL Package signing key (www.mysql.com) <build@mysql.com>"
A mensagem "Good signature" indica que está tudo certo.
Verificando Assinatura Usando
RPM
Para pacotes RPM, não há assinaturas
separadas - pacotes RPM atualmente têm uma
assinatura GPG incluída e MD5
checksum. Você pode verificá-los executando o
seguinte comando:
shell>rpm --checksig <package>.rpmExemplo: shell>rpm --checksig MySQL-server-4.0.10-0.i386.rpmMySQL-server-4.0.10-0.i386.rpm: md5 gpg OK
Nota: Se você estiver usando
RPM 4.1 e ele reclamar sobre (GPG) NOT OK (MISSING
KEYS: GPG#5072e1f5) (mesmo se você a importou para
detro de sua pasta de chaves publicas GPG), você precisa
importá-las para dentro de sua pasta de chaves RPM primeiro.
RPM 4.1 não utiliza mais ias suas pastas de chaves GPG (e o
próprio GPG), mas mantém sua própria pasta de chaves (porque
ele é um aplicativo do sistema e a pasta de chaves públicas do
GPG é um arquivo específico do utilizador). Para importar a
chave pública do MySQL em uma pasta de chaves RPM, use os
seguintes comandos:
shell>rpm --import <pubkey>Exemplo: shell>rpm --import mysql_pubkey.asc
Caso você note que as assinaturas MD5
checksum ou GPG não coincidem,
tente primeiro fazer o download do pacote respectivo mais uma
vez, talvez de outro site mirror. Se você não obter sucesso na
verificação da integridade do pacote repetidas vezes,
notifique-nos sobre tais incidentes incluindo o nome completo do
pacote e o site que você tem utilizado para fazer o download
pelos emails <webmaster@mysql.com> ou
<build@mysql.com>.
Nós ulitizamos o GNU Autoconf, para que seja possível portar o MySQL para todos sistemas operacionais modernos com threads Posix funcionando e um compilador C++. (Para compilar somente o código cliente, um compilador C++ é necessário mas threads não.) Nós mesmos usamos e desenvolvemos o software primeiramente no Linux (SuSE e red Hat), FreeBSD e Sun Solaris (Versões 8 e 9).
Perceba que para alguns sistemas operacionais, o suporte nativo a thread funciona somente nas últimas versões. O MySQL compila com sucesso nas seguintes combinações de sistema operacional/pacote de thread:
AIX 4.x com threads nativas. See Secção 2.6.6.4, “Notas IBM-AIX”.
Amiga.
BSDI 2.x com o pacote incluído MIT-pthreads. See Secção 2.6.4.5, “Notas BSDI Versão 2.x”.
BSDI 3.0, 3.1 e 4.x com threads nativas. See Secção 2.6.4.5, “Notas BSDI Versão 2.x”.
SCO OpenServer with a recent port of the FSU Pthreads package. See Secção 2.6.6.9, “Notas SCO”.
SCO UnixWare 7.0.1. See Secção 2.6.6.10, “Notas SCO Unixware Version 7.0”.
DEC Unix 4.x com threads nativas. See Secção 2.6.6.6, “Notas Alpha-DEC-UNIX (Tru64)”.
FreeBSD 2.x com o pacote incluído MIT-pthreads. See Secção 2.6.4.1, “Notas FreeBSD”.
FreeBSD 3.x e 4.x com threads nativas. See Secção 2.6.4.1, “Notas FreeBSD”.
FreeBSD 4.x com Linuxthreads. See Secção 2.6.4.1, “Notas FreeBSD”.
HP-UX 10.20 com o pacote incluído MIT-pthreads ou DCE threads. See Secção 2.6.6.2, “Notas HP-UX Versão 10.20”.
HP-UX 11.x com as threads nativas. See Secção 2.6.6.3, “Notas HP-UX Versão 11.x”.
Linux 2.0+ com LinuxThreads 0.7.1+ ou
glibc2.0.7+. See Secção 2.6.2, “Notas Linux (Todas as versões)”.Mac OS X Server. See Secção 2.6.5, “Notas Mac OS X”.
NetBSD 1.3/1.4 Intel e NetBSD 1.3 Alpha (Necessita GNU make). See Secção 2.6.4.2, “Notas NetBSD”.
Novell NetWare 6.0. See Secção 2.6.8, “Notas Novell NetWare”.
OpenBSD > 2.5 com threads nativas. OpenBSD < 2.5 com o pacote incluído MIT-pthreads . See Secção 2.6.4.3, “Notas OpenBSD”.
OS/2 Warp 3, FixPack 29 e OS/2 Warp 4, FixPack 4. See Secção 2.6.7, “Notas OS/2”.
SGI Irix 6.x com threads nativas. See Secção 2.6.6.8, “Notas SGI Irix”.
Solaris 2.5 e superior com threads nativas nas plataformas SPARC e x86. See Secção 2.6.3, “Notas Solaris”.
SunOS 4.x com o pacote incluído MIT-pthreads. See Secção 2.6.3, “Notas Solaris”.
Tru64 Unix
Windows 9x, Me, NT, 2000 e XP. See Secção 2.6.1, “Notas Windows”.
Perceba que nem todas as plataformas são apropriadas para executar o MySQL. Os seguintes fatores determinam se uma certa plataforma é apropriada para uma missão crítica pesada:
Estabilidade geral da biblioteca thread. Uma plataforma pode ter excelente reputação, entretanto, se a biblioteca thread é instável no código que é usado pelo MySQL, mesmo se todo o resto for perfeito, o MySQL irá ser tão estável quanto a biblioteca thread.
A habilidade do kernel e/ou a biblioteca thread tirar vantagem do SMP em sistemas multi-processados. Em outras palavras, quando um proceesso cria uma thread, deve ser possível para aquela thread executar em uma CPU diferente que o processo original.
A habilidade do kernel e/ou a biblioteca thread executar várias threads que adiquire/libera um bloqueio mutex sobre uma pequena região crítica frequentemente sem trocas de contexto excessivos. Em outras palavras, se a implementação de
pthread_mutex_lock()requisitar a CPU muito rapidamente, isto irá afetar o MySQL tremendamente. Se esse detalhe não estiver sendo cuidado, adicionar CPUs extras podem deixar o MySQL mais lento.Estabilidade e performance geral do sistema de arquivos.
Habilidade do sistema de arquivos em lidar com arquivos grandes de forma eficiente, se suas tabelas forem grandes.
Nosso nível de experiência aqui na MySQL AB com a plataforma. Se nós conhecemos bem uma plataforma, introduzimos otimizações/correçoes específicas para ela habilitadas na hora da compilação. Nós também podemos fornecer conselhos sobre como configurar seu sistema otimizadamente para o MySQL.
O volume de testes feitos internamente de configurações similares.
O número de utilizadores que tem executado o MySQL com sucesso naquela plataforma em configurações similares. Se esse número for alto, as chances de se ter alguma surpresa específica da plataforma fica muito menor.
Baseado nos critérios acima, as melhores plataformas para a execução do MySQL até este ponto são o x86 com SuSe Linux 8.2, kernel 2.4 e ReiserFS (ou qualquer distribuição Linux similar) e Sparc com Solaris (2.7-9). FreeBSD vem em terceiro, mas realmente temos esperanças que ele irá se unir ao clube dos tops uma vez que a biblioteca thread está melhorando. Nós também acreditamos que em certo ponto iremos estar aptos para incluir todas as outras plataformas em que o MySQL compila e executa, mas não tão bem e com o mesmo nível de estabilidade e performance, na categoria superior. Isto necessitará de algum esforço da nossa parte em cooperação com os desenvolvedores dos componentes do Sistema Operacional/Biblioteca que o MySQL depende. Se você tiver interesse em melhorar algum de nossos componentes, está em uma posição para influenciar seu desenvolvimento, e precisa de instruções mais detalhadas sobre o que o MySQL necessita para uma melhor execução, envie um e-mail para lista de email ``insternals'' do MySQL. See Secção 1.7.1.1, “As Listas de Discussão do MySQL”.
Por favor, perceba que a comparação acima não é para dizer que um SO é melhor ou pior que o outro em geral. Nós estamos falando sobre a escolha de um SO para um propósito dedicado: executar o MySQL, e comparamos as plataformas levando isto em consideração. Desta forma, o resultado desta comparação seria diferente se nós incluíssemos mais detalhes. E em alguns casos, a razão de um SO ser melhor que o outro pode ser simplesmente porque colocamos mais esforço nos testes e otimização para aquela plataforma em particular. Estamos apenas colocando nossas observações para ajudá-lo na decisão de qual plataforma usar o MySQL na sua configuração.
A primeira decisão a ser feita é se você deve usar a última versão de desenvolvimento ou a última versão estável:
Normalmente, se você estiver usando o MySQL pela primeira vez ou tentando portá-lo para algum sistema em que não exista distribuição binária, recomendamos o uso da versão estável (atualmente Versão 5.0.6-beta). Repare que todos os lançamentos do MySQL são conferidos com os testes comparativos de performance e um conjunto extenso de testes antes de cada lançamento.
Senão, caso você esteja trabalhando com um antigo sistema e quiser atualizá-lo, mas não que correr o risco com uma atualização sem correções, você deve faze-lo do mesmo ramo que você está usando (onde aenas o último número da versão é mais novo que o seu). Nós temos tentado corrigir somente erros fatais e torná-los menores, com alterações relativamente seguras para aquela versão.
A segunda decisão a ser feita é se você deseja usar uma distribuição fonte ou binária. Na maioria dos casos provavelmente você deverá usar a distribuição binária, se alguma existir para sua plataforma, será normalmente muito mais fácil para instalar do que a distribuição em código fonte.
Nos seguites casos você provavelmente será mais bem servido com uma instalação baseada em código fonte:
Se você desejar instalar o MySQL em algum lugar expecífico. (O padrão das distribuições binárias é estar``pronto para rodar'' em qualquer lugar, mas talvez você deseje ainda mais flexibilidade).
Para estar apto e satisfazer diferentes requisições dos utilizadores, estaremos fornecendo duas versões binárias diferentes; Uma compilada com os manipuladores de tabelas não transacionais (um binário rápido e pequeno) e um configurado com as mais importantes opções extendidas como tabelas transacionais. Ambas versões são compiladas da mesma distribuição fonte. Todos clientes
MySQLnativos pode conectar com ambas versões do MySQL.A distribuição binária extendida é marcada com o sufixo
-maxe é configurada com as mesmas opções demysqld-max. See Secção 4.8.5, “mysqld-max, om servidormysqldextendido”.Se você deseja usar o RPM
MySQL-Max, primeiramente você deve instalar o RPMMySQL-serverpadrão.Se você deseja configurar
mysqldcom alguns recursos extras que NÃO estão nas distribuições binárias. Segue abaixo a lista das opções extras mais comuns que você pode querer usar:--with-innodb--with-berkeley-db(padrão para o MySQL 4.0 e seguintes)--with-raid(não disponível para todas as plataformas)--with-libwrap--with-named-z-lib(Isto é feito para alguns dos binários)--with-debug[=full]
A distribuição binária padrão é normalmente compilada com suporte para todos conjuntos de caracteres e deve funcionar em uma variedade de processadores para a mesma família do processador.
Se você precisar de um servidor MySQL mais rápido você pode querer recompilá-lo com suporte para somente o conjunto de caracteres que você precisa, usar um compilador melhor (como
pgcc) ou usar opções de compiladores para usar otimizações para seu processador.Se você encontrar um erro e relatá-lo para o time de desenvolvimento do MySQL você provavelmente receberá um patch que será necessário aplicá-lo para a distribuição fonte para ter o bug corrigido.
Se você deseja ler (e/ou modificar) o código C e C++ que é o MySQL, você pode obter uma distribuição fonte. O código fonte é sempre o manual final. Distribuições fontes também contem mais testes e exemplos que as distribuições binárias.
O esquema de nomes do MySQL usa números de versões que
consistem de tres números e um sufixo. Por exemplo, um nome de
lançamento como mysql-4.1.0-alpha é
interpretado da seguinte maneira:
O primeiro número (
4) é a versão principal e também descreve o formato dos arquivos. Todas releases da Versão 4 tem o mesmo formato de arquivo.O segundo número (
1) é o nível da distribuição.O terceiro número (
0é o número da versão do nível de distribuição. Este é incrementado para cada nova distribuição. Normalmente você desejará a última versão para o nível de publicação que tiver escolhido.O sufixo (
alpha) indica o nível de estabilidade da versão. Os possíveis sufixo são:alphaindica que a versão contém grandes seções de novos códigos que não foram 100% testados. Bugs conhecidos (normalmente não tem nenhum) devem estar documentados na seção News. See Apêndice D, Histórico de Alterações do MySQL. Existem também novos comandos e extensões na maioria das publicações alpha. Desenvolvimento ativo que podem envolver maiores alterações no código pode ocorrer numa versão alpha, mas tudo será testado antes de fazer a publicação. Não podem existir erros conhecidos em nenhuma publicação do MySQL.betasignifica que todo o novo código foi testado. Não serão adicionados novos recursos que podem causar algum tipo de corrompimento. Não deve existir bugs conhecidos. Uma alteração de versão de alpha para beta ocorre quando não existir nenhum relato de erro fatal com uma versão alpha por pelo menos um mês e não planejarmos adicionar nenhum recurso que pode deixar algum antigo comando menos confiável.gammaé o beta que já tem sido usado a algum tempo e parece funcionar bem. Apenas pequenas correções são adicionadas. Isto é o que muitas empresas chamam de release.Se não existir um sufixo, significa que esta versão já está sendo executada há algum tempo em diferentes locais sem relatos de erros além dos específicos de certas plataformas. Somente correções de erros críticos são adicionados ao release. Isto é o que chamamos de uma distribuição estável.
No processo de desenvolvimento do MySQL, várias versões coexistem e estão em um estágio diferente. Naturalmente, correções de erros relevantes de uma série anterior são propagados.
Para a antiga série
3.23estável/de produção, novas versões só são liberadas para erros críticos.A série atual (
4.0) é de qualidade estável/produção. Nenhum novo recurso que possa influenciar a estabilidade do código é adicionado.No ramo alpha
4.1principal, novos recursos são adicionados. Fontes e binários estão disponíveis para uso e teste em sistemas de desenvolvimento.O ramo de desenvolvimento
5.0só está disponível para a árvore do BitKeeper.
Todas as versões do MySQL funcionam sobre nossos testes padrões e comparativos para garantir que eles são relativamente seguros para o uso. Como os testes padrões são extendidos ao longo do tempo para conferir por todos os bugs antigos encontrados, o pacote de testes continua melhorando.
Perceba que todas publicações de versões foram testadas pelo menos com:
Um pacote de testes interna
Faz parte de um sistema de produção para um cliente. Ela tem diversas tabelas com centenas de megabytes de dados.
O diretório
mysql-testcontém um conjunto extensivo de casos de teste. Nós executamos estes testes para cada servidor binário.O pacote de comparativos da MySQL
Este executa uma série de consultas comuns. É também um teste para ver se o último conjunto de otimizações fez o código mais rápido. See Secção 5.1.4, “O Pacote de Benchmark do MySQL”.
O teste
crash-meEste tenta determinar quais recursos o banco de dados suporta e quais são suas capacidades e limitações. See Secção 5.1.4, “O Pacote de Benchmark do MySQL”.
Outro teste é que nós usamos a versão do MySQL mais nova em nosso ambiente de produção interna, em pelo menos uma máquina. Nós temos mais de 100 gigabytes de dados com que trabalhar.
Esta seção descreve o layout padrão dos diretórios criados pela instalção das distribuições binária e fonte.
Uma distribuição binária é instalada descompactando-a no
local de instalação de sua escolha (tipicamente
/usr/local/mysql) e cria os seguintes
diretórios nesses locais:
| Diretório | Conteúdo do diretório |
bin | Programas clientes e o servidor mysqld |
data | Arquivos Log, bancos de dados |
docs | Documentação, Log de alterações |
include | Arquivos de cabeçalho (headers) |
lib | Bibliotecas |
scripts | mysql_install_db |
share/mysql | Arquivos de mensagem de erro |
sql-bench | Benchmarks - testes comparativos |
Uma distribuição baseada em código fonte é instalada depois
de você configurá-la e compilá-la. Por padrão, a
instalação copia os arquivos em
/usr/local, nos seguintes subdiretórios:
| Diretório | Conteúdo do diretório |
bin | Programas clientes e scripts |
include/mysql | Arquivos de cabeçalho (headers) |
info | Documentação no formato Info |
lib/mysql | Bibliotecas |
libexec | O servidor mysqld |
share/mysql | Arquivos com mensagens de erros |
sql-bench | Benchmarks e o teste crash-me |
var | Bancos de dados e arquivos log |
Dentro de um diretório de instalação, o layout de uma instalação baseada em fontes diferencia de uma instalação binária nas seguintes formas:
The
mysqldserver is installed in thelibexecdirectory rather than in thebindirectory.The data directory is
varrather thandata.mysql_install_dbis installed in the/usr/local/bindirectory rather than in/usr/local/mysql/scripts.The header file and library directories are
include/mysqlandlib/mysqlrather thanincludeandlib.
You can create your own binary installation from a compiled
source distribution by executing the script
scripts/make_binary_distribution.
O MySQL está evoluindo muito rapidamente na MySQL AB e nós queremos compartilhar isto com outros utilizadores MySQL. Sempre que temos alguns recursos úteis que outros acham necessáio, tentamos fazer um release.
Também tentamos ajudar utilizadores que solicitam recursos que são de fácil implementação. Tomamos notas do que nossos utilizadores licenciados gostariam de ter,especialmente do que nossos clientes com suporte extendido desejam e tentamos ajudá-los.
Não existe uma real necessidade para baixar uma nova release. A seção News irá dizer se a nova versão tem alguma coisa que você precisa. See Apêndice D, Histórico de Alterações do MySQL.
Usamos a seguinte política quando estamos atualizando o MySQL:
Para cada pequena atualização, o último número na versão é incrementado. Quando tiver um maior número de novos recursos ou menor incompatibilidade com versões antigas, o segundo número na versão é incrementado. Quando o formato de arquivo altera, o primeiro número é aumentado.
Versões estáveis testadas aparecem na média de uma a duas vezes por ano, mas se pequenos bugs são encontrados, uma versão será lançada apenas com as correções dos erros.
Releases funcionais aparecem na média a cada 4-8 semanas.
Distribuições binárias para algumas plataformas será feita por nós somente para releases mais importantes. Outras pessoas podem fazer distribuições binárias para outros sistemas mas provavelmente com menos frequencia.
Nós normalmente disponibilizamos os patches logo que localizamos e corrigimos pequenos bugs. Eles normalmente são imediatamente disponibilizados em nosso repositório publico do BitKeeper. Eles serão incluídos na próxima distribuição.
Para bugs não críticos, mas irritantes, disponibilizamos patches se eles são enviados para nós. De qualquer forma, iremos combinar vários deles em um patch maior.
Se existitr, por algum motivo, um bug fatal numa versão criaremos uma nova release o mais cedo possível. Gostaríamos que outras empresas fizessem isto também.
A versão estável atual é a 3.23; nós já mudamos o desenvolvimento em atividade para a versão 4.0. Bugs contiuarão a ser corrigidos na versão estável. Não acreditamos em um congelamento completo, pois isto abandona a correções de bugs e coisas que ``devem ser feitas.'' ``Alguma coisa congelada'' significa que talvez possamos adicionar pequenas coisas que ``com certeza não afetará nada que já esteja funcionando.''
O MySQL usa um esquema de nomes um pouco diferente da maioria dos outros produtos. Em geral é relativamente seguro utilizar qualquer versão que tenha sido lançado a algumas semanas e que não tenham sido sustituída por uma nova versão. See Secção 2.2.4, “Qual versão do MySQL deve ser usada”.
Colocamos muito tempo e esforço em tornar nossas
distribuições livres de erros. Pelo nosso conhecimento, não
liberamos uma única versão do MySSQL com qualquer erro
conhecido 'fatal'.
Um erro fatal é algo que faz o MySQL falhar com o uso normal, traz respostas erradas para consultas normais ou tem um problema de segurança.
Nós temos documentados todos os problemas conhecidos, bugs e assuntos que são dependentes das decisões de projeto. See Secção 1.8.6, “Erros Conhecidos e Deficiências de Projetos no MySQL”.
Nosso objeto é corrigir tudo que é possível, mas sem correr o risco de tornarmos uma versão menos estável. Em certos casos, isto significa que podemos corrigir um problema na(s) versão(ões) de desenvolvimento, mas não o corrigirmos na versão estável (produção). Naturalmente, documentamos tais problemas para que o utilizadores esteja ciente.
Aqui está um descrição de como nosso processo de contrução funciona:
Monitoramos erros de nossa lista de suporte ao cliente, a lista de email externa do MySQL e o banco de dados de bugs em http://bugs.mysql.com/.
Todos os erros relatados em versões usadas são inseridos nio banco de dados de bugs.
Quando corrigimos um erro, sempre tentamos fazer um caso de teste para ele e incluí-lo em nosso sistema de teste para assegurar que o erro nunca retornará. (Cerca de 90% de todos os erros corrigidos têm um caso de teste.)
Também criamos casos de teste para todos os novos recursos adicionados ao MySQL.
Antes de começarmos a fazer uma nova distribuição do MySQL, asseguramos que todos os erros repetitíveis relatados para a versão do MySQL (3.23.x, 4.0.x, etc) estão corrigidos. Se algo for impossível de corrigir (devido a alguma decisão de projeto interno no MySQL), documentaremos isto no manual. See Secção 1.8.6, “Erros Conhecidos e Deficiências de Projetos no MySQL”.
Nós fazemos uma construção para todas as plataformas para as quais suportamos binários (mais de 15 plataformas) e executamos nosso pacote de teste e benchmarks para todas elas.
Não publicaremos um binário para uma plataforma na qual os testes do pacote de benchmarks falharam. Se for um erro geral na fonte, o corrigimos e fazemos as contruções mais os teste em todos os sistemas novamente.
Se nós, durante a o porcesso de construção e teste (que leva de 2 a 3 dias) recebermos um relatório sobre um erro fatal (por exemplo, um que cause um core dump), o corrigiremos e reiniciaremos o processo de construção).
Depois de publicarmos os binários em http://www.mysql.com/, enviamos um email de anúncio nas listas de email
mysqleannounce. See Secção 1.7.1.1, “As Listas de Discussão do MySQL”. A mensagem de anúncio contém uma lista de todas as alterações da distribuição e qualquer problema conhecido com ela. (A seção 'problemas conhecidos' na notas das distribuições só tem sido necessária em algumas da distribuições.)Para darmos acesso rapidamente aos nossos utilizadores dos últimos recursos do MySQL, fazemos uma nova distribuição do MySQL a cada 4-8 semanas. Instantâneos do código finte são contruídos diariamente e estão disponíveios em http://downloads.mysql.com/snapshots.php.
Se, depois da distribuição estar pronta, recebermos qualquer relatório que houve (depois de tudo) qualquer coisa criticamente errada com a construção em uma plataforma específica, corrigiremo-na imediatamente e liberaremos um nova distribuição
'a'para aquela plataforma. Graças aos nosso grande base de utilizadores, problemas são encontrados rapidamente.Nosso registro para boas distribuições feitas é muito boa. Nas últimas 150 distribuições, tivemos que fazer uma nova contrução para menos de 10 distribuições (em 3 destes casos, o erro era uma biblioteca glibc com problema em uma de nossas máquinas que levamos um longo tempo para encontrar.
Como um serviço, nós na MySQL AB fornecemos um conjunto de distribuições binárias do MySQL que são compiladas no nosso site ou em sites onde os clientes cordialmente nos dão acesso as suas máquinas.
Em adição aos binários forncedios em formatos de pacotes
específicos da plataforma (veja
Secção 2.1, “Instalação rápida padrão do MySQL”), oferecemos
distribuições binários para outras plataformas através de
arquivos tar compactados (.tar.gz).
Estas distribuições são geradas usando o script
Build-tools/Do-compile que compila o código
fonte e cria o arquivo binário em tar.gz
usando scripts/make_binary_distribution.
Estes binários são configurados e construídos com os
seguintes compiladores e opções.
Binários construídos no sistema de desenvolvimento da MySQL AB:
Linux 2.4.xx x86 com
gcc2.95.3CFLAGS="-O2 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O2 -mcpu=pentiumpro -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-staticLinux 2.4.xx Intel Itanium 2 com
ecc(Intel C++ Itanium Compiler 7.0)CC=ecc CFLAGS="-O2 -tpp2 -ip -nolib_inline" CXX=ecc CXXFLAGS="-O2 -tpp2 -ip -nolib_inline" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infileLinux 2.4.xx Intel Itanium com
ecc(Intel C++ Itanium Compiler 7.0)CC=ecc CFLAGS=-tpp1 CXX=ecc CXXFLAGS=-tpp1 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infileLinux 2.4.xx alpha com
ccc(Compaq C V6.2-505 / Compaq C++ V6.3-006)CC=ccc CFLAGS="-fast -arch generic" CXX=cxx CXXFLAGS="-fast -arch generic -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared --disable-sharedLinux 2.4.xx s390 com
gcc2.95.3CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-staticLinux 2.4.xx x86_64 (AMD64) com
gcc3.2.1CXX=gcc ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-sharedSun Solaris 8 x86 com
gcc3.2.3CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodbSun Solaris 8 sparc com
gcc3.2CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-sharedSun Solaris 8 sparc 64bit com
gcc3.2CC=gcc CFLAGS="-O3 -m64 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-sharedSun Solaris 9 sparc com
gcc2.95.3CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-curses-libs=-lcurses --disable-sharedSun Solaris 9 sparc com
cc-5.0(Sun Forte 5.0)CC=cc-5.0 CXX=CC ASFLAGS="-xarch=v9" CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -xarch=v9" CXXFLAGS="-noex -mt -D_FORTEC_ -xarch=v9" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --enable-thread-safe-client --disable-sharedIBM AIX 4.3.2 ppc com
gcc3.2.3CFLAGS="-O2 -mcpu=powerpc -Wa,-many " CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-sharedIBM AIX 4.3.3 ppc com
xlC_r(IBM Visual Age C/C++ 6.0)CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS ="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-innodbIBM AIX 5.1.0 ppc com
gcc3.3CFLAGS="-O2 -mcpu=powerpc -Wa,-many" CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --with-server-suffix="-pro" --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-sharedHP-UX 10.20 pa-risc1.1 com
gcc3.1CFLAGS="-DHPUX -I/opt/dce/include -O3 -fPIC" CXX=gcc CXXFLAGS="-DHPUX -I/opt/dce /include -felide-constructors -fno-exceptions -fno-rtti -O3 -fPIC" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-pthread --with-named-thread-libs=-ldce --with-lib-ccflags=-fPIC --disable-sharedHP-UX 11.11 pa-risc2.0 64 bit com
aCC(HP ANSI C++ B3910B A.03.33)CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-sharedHP-UX 11.11 pa-risc2.0 32bit com
aCC(HP ANSI C++ B3910B A.03.33)CC=cc CXX=aCC CFLAGS="+DAportable" CXXFLAGS="+DAportable" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodbApple Mac OS X 10.2 powerpc com
gcc3.1CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-sharedFreeBSD 4.7 i386 com
gcc2.95.4CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=not-used --disable-sharedQNX Neutrino 6.2.1 i386 with
gcc2.95.3qnx-nto 20010315CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
Os seguintes binários são contruídos em sistemas de terceiros gentilmente cedidos para a MySQL AB pou outros utilizadores. Pou favor, note que eles só são fornecidos como cortesia. Uma vez que a MySQL AB não tem total controle sobre estes sistemas, nós podemos fornecer apenas suporte limitado para os binários construídos nestes sistemas.
SCO Unix 3.2v5.0.6 i386 com
gcc2.95.3CFLAGS="-O3 -mpentium" LDFLAGS=-static CXX=gcc CXXFLAGS="-O3 -mpentium -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-sharedSCO OpenUnix 8.0.0 i386 com
CC3.2CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-sharedCompaq Tru64 OSF/1 V5.1 732 alpha com
cc/cxx(Compaq C V6.3-029i / DIGITAL C++ V6.1-027)CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -fast -inline speed -speculate all -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-prefix=/usr/local/mysql --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-shared --with-mysqld-ldflags=-all-staticSGI Irix 6.5 IP32 com
gcc3.0.1CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-sharedFreeBSD 5.0 sparc64 com
gcc3.2.1CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
As seguintes opções de compilação foram usadas nos pacotes binários que a MySQL AB costumava fornecer no passado. Estes binários não são mais atualizados, mas as opções de compilação são mantidas aqui com o propósito de referência.
Linux 2.2.xx sparc com
egcs1.1.2CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-sharedLinux 2.2.x com x686 com
gcc2.95.2CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complexSunOS 4.1.4 2 sun4c com
gcc2.7.2.1CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex --enable-assemblerSunOS 5.5.1 (e acima) sun4u com
egcs1.0.3a ou 2.90.27 ou gcc 2.95.2 e mais novoCC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex --enable-assemblerSunOS 5.6 i86pc com
gcc2.8.1CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complexBSDI BSD/OS 3.1 i386 com
gcc2.7.2.1CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql --with-extra-charsets=complexBSDI BSD/OS 2.1 i386 com
gcc2.7.2CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complexAIX 2 4 com
gcc2.7.2.2CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex
Qualquer que tenha mais opções otimizadas para qualquer das configurações listadas acima pode sempre enviá-los para a lista de email ``internals'' do MySQL. See Secção 1.7.1.1, “As Listas de Discussão do MySQL”.
Distribuições RPM que anteceda o MySQL versão 3.22 são contribuições dos utilizadores. Os RPMs gerados por nós da MySQL AB só começaram a ser fornecidos a partir da versão 3.22 do MySQL.
Se você deseja compilar uma versão para depuração do MySQL,
você deve adicionar --with-debug ou
--with-debug=full para as linhas de
configuração acima e remover qualquer opção
-fomit-frame-pointer.
Para distribuições do Windows, por favor, veja Secção 2.1.1, “Instalando o MySQL no Windows”.
Este capítulo cobre a instalação da distribuição binária
do MySQL (.tar.gz Archives) para várias
plataformas (veja MySQL binaries para uma
lista detalhada).
Em adição a estes pacotes genéricos, também oferecemos binários em formatos de pacote específicos da plataforma para plataformas selecionadas. Veja Secção 2.1, “Instalação rápida padrão do MySQL” para mais informações sobre como\ intalá-los.
As distribuições genéricas do MySQL estão empacotados com
arquivos GNU tar com compactação gzip
(.tar.gz). Você precisa das seguintes
ferramentas para instalar um distribuição binária do MySQL:
GNU
gunzippara descompactar a distribuição.Um
tarrazoável para descompactar a distribuição. Sabemos que o GNUtarfunciona. Algumas implementaçõestarque vêm pré-instaladas como o sistema operacional (ex. Suntar) possuem problemas (com nome de arquivos grandes, por exemplo) Neste caso, você deve instalar o GNUtarprimeiro.
Se você tiver problemas, sempre use
mysqlbug ao enviar dúvidas para a
lista de email do MySQL. Mesmo se o problema não for um bug,
mysqlbug colhe informações do sistema que
ajudarão os outros a solucionar o seu problema. Se não usar
mysqlbug, você terá diminuída a
probabilidade de conseguir a solução do seu problema. Você
encontrará o mysqlbug no diretório
bin depois de descompactar a
distribuição. See Secção 1.7.1.3, “Como relatar erros ou problemas”.
Os comando básicos que você deve executar para instalar e usar uma distribuição binária do MySQL são:
shell>groupadd mysqlshell>useradd -g mysql mysqlshell>cd /usr/localshell>gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -shell>ln -s full-path-to-mysql-VERSION-OS mysqlshell>cd mysqlshell>scripts/mysql_install_dbshell>chown -R root .shell>chown -R mysql datashell>chgrp -R mysql .shell>bin/mysqld_safe --user=mysql &
Se a sua versão do MySQL é mais antiga que a 4.0, substitua
bin/safe_mysqld por
bin/mysqld_safe no comando final.
Você pode adicionar novos utilizadores usando o script
bin/mysql_setpermission se você instalar os
módulos Perl DBI e
DBD-mysql.
Uma descrição mais detalhada é apresentada a seguir.
Para instalar uma distribuição binária, siga estes passos, então proceda com a Secção 2.4, “Configurações e Testes Pós-instalação”, para a configuração da pós istalação e testes:
Escolha o diretório sob o qual você deseja descompactar a distribuição e a mova para dentro dele. No exemplo a seguir, descompactamos a distribuição sob
/usr/locale criamos um diretório/usr/local/mysqldentro do qual o MySQL é instalado. (As seguintes instruções, consequentemente, assumem que você tem permissão para criar arquivos em/usr/local. Se este diretório é protegido, você precisará realizar a instalação comoroot.)Obtenha um arquivo de distribuição de um dos sites listados em Secção 2.2.1, “Como obter o MySQL”.
As distribuições binárias do MySQL são fornecidas como arquivos
tarcompactados e tem nomes comomysql-VERSÃO-SO.tar.gz, ondeVERSÃOé um número (por exemplo,3.21.15) eSOindica o tipo de sistema operacional para o qual a distribuição é pretendida (por exemplo,pc-linux-gnu-i586).Se você ver uma distribuição binária marcada com o sufixo
-max, significa que o binário tem suporte para tabelas transacionais e outros recursos. See Secção 4.8.5, “mysqld-max, om servidormysqldextendido”. Note que todos os binários são contruídos a partir da mesma distribuição fonte do MySQL.Adicione um utilizador e grupo para o
mysqldser executado:shell>
groupadd mysqlshell>useradd -g mysql mysqlEstes comandos adicionam o grupo
mysqle o utilizadormysql. A sintaxe parauseraddegroupaddpodem diferir um pouco nas diversas versões de Unix. Eles tambémpodem ser chamadoaddusereaddgroup. Você pode desejar criar o grupo e utilizador com outro nome, diferente demysql.Chame o diretório no qual se pretende fazer a instalação:
shell>
cd /usr/localDescompacte a distribuição, que criará o diretório de instalação. Então crie um link simbólico para aquele diretório:
shell>
gunzip < /path/to/mysql-VERSÃO-SO.tar.gz | tar xvf -shell>ln -s full-path-to-mysql-VERSÃO-SO mysqlO primeiro comando cria um diretório chamado
mysql-VERSÃO-SO. O segundo comando cria um link simbólico para o diretório. Isto torna a referência ao diretório de instalação mais fácil, chamado como/usr/local/mysql.Altere para p diretório de instalação:
shell>
cd mysqlVocê encontrará diversos arquivos e subdiretórios no diretório
mysql. O mais importante para propósitos de instalação são os subdiretóriosbinescripts.Este diretório contém o programa cliente e o servidor. Você deve adicionar o caminho completo deste diretório a sua variável de ambiente
PATHe assim a sua shell encontrará o programa MySQL de forma apropriada. See Apêndice F, Variáveis de Ambientes do MySQL.scriptsEste diretório contém o script
mysql_install_dbusado para inicializar o banco de dadosmysqlcontendo a tabela de permissões que armazenam o servidor de permissões de acesso.
Caso você desejasse usar o
mysqlaccesse a distribuição do MySQL está em um local diferente do padrão, você deve alterar a localização para onde omysqlaccessespera encontrar o clientemysql. Edite o scriptbin/mysqlaccessaproximadamente na linha 18. Procure pela linha que se parece com a apresentada abaixo:$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
Altere o caminho para o local onde o
mysqlatualmente está armazaenado em seu sistema. Se você não fizer isto receberá uma mensagem de erroBroken pipequando executar omysqlaccess.Crie as tabelas de permissão do MySQL (necessário apenas se você não tiver instalado o MySQL anteriormente):
shell>
scripts/mysql_install_dbNote que as versões mais antigas que a 3.22.10 iniciam o servidor MySQL quando você executa o
mysql_install_db. Isto não ocorre mais.Altere o proprietário dos binários para o
roote o proprietário do diretório de dados para o utilizador com o quel você executará omysqld:shell>
chown -R root /usr/local/mysql/.shell>chown -R mysql /usr/local/mysql/datashell>chgrp -R mysql /usr/local/mysql/.O primeiro comando altera o atributo
ownerdos arquivos para o utilizadorroot, o segundo altera o atributoownerdo diretório de dados para o utilizadormysqle o terceiro altera o atributogrouppara o grupomysql.Se você quiser instalar o suporte para a interface Perl
DBI/DBD, veja Secção 2.7, “Comentários de Instalação do Perl”.Se você desejasse que o MySQL seja iniciado automaticamente quando você iniciar a sua máquina, você pode copiar
support-files/mysql.serverpara o local onde o seu sistema tem os arquivos de inicialização. Mais informações podem ser encontradas no scriptsupport-files/mysql.servere em Secção 2.4.3, “Inicializando e parando o MySQL automaticamente.”.
Depois de tudo estar descompactado e instalado, você deve inicializar e testar a sua distribuição.
Você pode iniciar o servidor MySQL com o seguinte comando:
shell> bin/mysqld_safe --user=mysql &
Se a sua versão do MySQl for mais antiga do que a 4.0,
substitua bin/safe_mysqld por
bin/mysqld_safe no comando.
Agora prossiga com Secção 4.8.2, “mysqld-safe, o wrapper do mysqld” e See
Secção 2.4, “Configurações e Testes Pós-instalação”.

