• Nenhum resultado encontrado

Op¸c˜ oes t´ipicas do configure

No documento 1 Informa¸c˜ oes Gerais . . . . 1 (páginas 131-134)

Verificando Assinatura Usando RPM

2.3 Instalando uma distribui¸c˜ ao com fontes do MySQL

2.3.3 Op¸c˜ oes t´ipicas do configure

O script configure fornece uma grande gama de controle sobre como vocˆe configura sua distribui¸c˜ao MySQL. Normalmente vocˆe faz isto usando op¸c˜oes na linha de comando do configure. Vocˆe tamb´em pode alterar configure usando algumas vari´aveis de ambiente.

Veja Apˆendice E [Environment variables], P´agina 1083. Para uma lista de op¸c˜oes suportadas peloconfigure, execute este comando:

shell> ./configure --help

Algumas das op¸c˜oes mais usadas normalmente com oconfigure est˜ao descritas a seguir:

Para compilar apenas as bibliotecas clientes do MySQL e programas clientes e n˜ao o servidor, use a op¸c˜ao --without-server:

shell> ./configure --without-server

Se vocˆe n˜ao possui um compilador C++, mysql n˜ao ir´a compilar (ele ´e o programa cliente que exige C++). Neste caso, vocˆe pode remover o c´odigo no configure que testa pelo compilador C++ e executar ./configure com a op¸c˜ao --without-server.

O passo da compia¸c˜ao continuar´a tentaindo construirmysql, mas vocˆe pode ignorar as advertˆencias sobre ‘mysql.cc’. (Se omake parar, tente make -k para continuar com o resto da compila¸c˜ao mesmo se erros ocorrerem.)

Se vocˆe quiser uma biblioteca embutida do MySQL (libmysqld.a) vocˆe deve usar a op¸c˜ao --with-embedded-server.

Se vocˆe n˜ao deseja que seus arquivos de logs e diret´orios de bancos de dados fiquem localizados sobre ‘/usr/local/var’, use o comandoconfigure; algo parecido com um destes:

shell> ./configure --prefix=/usr/local/mysql shell> ./configure --prefix=/usr/local \

--localstatedir=/usr/local/mysql/data

O primeiro comando altera o diret´orio instala¸c˜ao para que tudo seja instalado sobre

‘/usr/local/mysql’ em vez do padr˜ao ‘/usr/local’. O segundo comando preserva o diret´orio da instala¸c˜ao padr˜ao, mas altera a localiza¸c˜ao padr˜ao para diret´orios de ban-cos de dados (normalmente ‘/usr/local/var’) e altera para/usr/local/mysql/data.

Depois de ter compilado o MySQL, vocˆe pode alterar estas op¸c˜aoes com arquivos de op¸c˜oes. Veja Se¸c˜ao 4.1.2 [Option files], P´agina 217.

Se vocˆe estiver usando Unix e deseja que o arquivo socket do MySQL fique em um diret´orio diferente do padr˜ao (normalmente no diret´orio ‘/tmp’ ou ‘/var/run’) use o comandoconfigure da seguinte forma:

shell> ./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock Perceba que o arquivo fornecido deve ter um caminho absoluto ! Vocˆe tamb´em pode,

mais tarde, alterar a localiza¸c˜ao de ‘mysql.sock’ usando os arquivos de op¸c˜oes do MySQL. Veja Se¸c˜ao A.4.5 [Problems with mysql.sock], P´agina 925.

Se vocˆe deseja compilar programas linkeditados estaticamente (por exemplo, para criar uma distribui¸c˜ao bin´aria, obter mais velocidade, ou evitar problemas com algumas distribui¸c˜oes Red Hat Linux), executeconfigure desta forma:

shell> ./configure --with-client-ldflags=-all-static \ --with-mysqld-ldflags=-all-static

Se vocˆe estiver usandogcce n˜ao temlibg++oulibstdc++instalados vocˆe pode dizer ao configure para usar o gcccomo seu compilador C++:

shell> CC=gcc CXX=gcc ./configure

Quando vocˆe usar como seu compilador C++, ele n˜ao tentar´a ligar com o libg++ ou libstdc++. Isto pode ser uma boa id´eia para se fazer se vocˆe tiver as bibliotecas acimas instaladas, j´a que algumas vers˜oes destas bibliotecas tem causado problemas estranhos para usu´arios do MySQL no passado.

Segue algumas configura¸c˜oes de vari´aveis de ambiente comuns, dependendo do compi-lador que vocˆe estiver usando:

Compiler Recommended options

gcc 2.7.2.1 CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"

egcs 1.0.3a CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"

gcc 2.95.2 CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="O3 -mpentiumpro \-felide-constructors -fno-exceptions -fno-rtti"

pgcc 2.90.29 or newer

CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc

\ CXXFLAGS="-O3 -mpentiumpro -mstack-align-double -felide-constructors \-fno-exceptions -fno-rtti"

Na maioria dos casos vocˆe pode obter um bin´ario MySQL razoavelmente otimizado usando as op¸c˜oes acima e adicionar as seguintes op¸c˜oes para a linha de configura¸c˜ao:

--prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static

A linha completa de configura¸c˜ao dever´a ser, em outras palavras, algo como o seguinte para todas as vers˜oes recentes do gcc:

CFLAGS="-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

Os bin´arios que fornecemos no site Web MySQL em http://www.mysql.com s˜ao to-dos compilato-dos com otimiza¸c˜ao plena e deve ser perfeito para a maioria to-dos usu´arios.

Veja Se¸c˜ao 2.2.8 [Bin´arios do MySQL], P´agina 86. Existem algumas defini¸c˜oes de configura¸c˜ao que vocˆe pode alterar para criar um bin´ario ainda mais r´apido, mas isto ´e somente para usu´arios avan¸cados. Veja Se¸c˜ao 5.5.3 [Compile and link options], P´agina 457.

Se a constru¸c˜ao falhar e produzir erros sobre seu compilador ou linkeditor n˜ao estarem aptos para criarem a biblioteca compartilhada ‘libmysqlclient.so.r#’

(‘r#’ ´e um n´umero de vers˜ao), vocˆe pode evitar este problema fornecendo a op¸c˜ao --disable-share para o configure. Neste caso, configure n˜ao construir´a uma biblioteca libmysqlclient.so.* compartilhada.

Vocˆe pode configurar o MySQL para n˜ao usar valores de camposDEFAULTpara campos n˜ao-NULL(isto ´e, campos que n˜ao podem serNULL). Veja Se¸c˜ao 1.8.5.2 [Restri¸c˜oes NOT NULL], P´agina 53.

shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure

Por padr˜ao, o MySQL usa o conjunto de caracteres ISO-8859-1 (Latin1). Para alterar o conjunto padr˜ao, use a op¸c˜ao --with-charset:

shell> ./configure --with-charset=CHARSET

CHARSET pode ser um de big5, cp1251, cp1257, czech, danish, dec8, dos, euc_kr, gb2312,gbk,german1,hebrew,hp8,hungarian,koi8_ru,koi8_ukr,latin1,latin2, sjis, swe7, tis620, ujis, usa7, ou win1251ukr. Veja Se¸c˜ao 4.7.1 [Conjunto de car-acteres], P´agina 326.

Se vocˆe desja converter os caracteres entre o servidor e o cliente, vocˆe deve dar uma olhada no comando SET OPTION CHARACTER SET. Veja Se¸c˜ao 5.5.6 [SET OPTION], P´agina 461.

Cuidado: Se vocˆe alterar o conjunto de caracteres depois de ter criado qualquer tabela, vocˆe deve executar myisamchk -r -q --set-character--set=charset em cada tabela. Seus ´indices podem ser ordenados incorretamente. (Isto pode acontecer se vocˆe instalar o MySQL, criar algumas tabelas, depois reconfigurar o MySQL para usar um conjunto diferente de caracteres e reinstal´a-lo).

Com a op¸c˜ao --with-extra-charset=LISTA vocˆe pode definir qual conjunto de car-acteres adicionais deve ser compilado no servidor.

Aqui LISTA ´e uma lista de conjuntos de caracteres separados por espa¸cos, complex para incluir todos caracteres que n˜ao podem ser carregados dinamicamente ou all para incluir todos os conjuntos nos bin´arios.

Para configurar o MySQL com c´odigo para depura¸c˜ao, use a op¸c˜ao--with-debug:

shell> ./configure --with-debug

Isto inclui uma aloca¸c˜ao segura de mem´oria que pode encontrar alguns erros e fornecer sa´ida sobre o que est´a acontecendo. Veja Se¸c˜ao D.1 [Depurando o servidor], P´agina 1070.

Se seus programas clientes usam threads, vocˆe precisar´a tamb´em compilar uma vers˜ao thread-safe da biblioteca cliente do MySQL com as op¸c˜oes do configure --enable-thread-safe-client. Isto ir´a criar uma biblioteca libmysqlclient_r com o qual vocˆe dever´a ligar suas aplica¸c˜oes que fazem uso de threads. Veja Se¸c˜ao 12.1.14 [Clientes em threads], P´agina 859.

Op¸c˜oes que perten¸cam a sistemas particulares podem ser encontrados na se¸c˜ao com detalhes espec´ificos de sistemas neste manual. Veja Se¸c˜ao 2.6 [Notas espec´ificas do Sistema Operacional], P´agina 132.

No documento 1 Informa¸c˜ oes Gerais . . . . 1 (páginas 131-134)