O script configure
fornece uma grande gama de
controle sobre como você configura sua distribuição MySQL.
Normalmente você faz isto usando opções na linha de comando
do configure
. Você também pode alterar
configure
usando algumas variáveis de
ambiente. See Apêndice F, Variáveis de Ambientes do MySQL. Para uma
lista de opções suportadas pelo configure
,
execute este comando:
shell> ./configure --help
Algumas das opções mais usadas normalmente com o
configure
estão descritas a seguir:
Para compilar apenas as bibliotecas clientes do MySQL e
programas clientes e não o servidor, use a opção
--without-server
:
shell> ./configure --without-server
Se você não possui um compilador C++,
mysql
não irá compilar (ele é o
programa cliente que exige C++). Neste caso, você pode
remover o código no configure
que testa
pelo compilador C++ e executar
./configure
com a opção
--without-server
. O passo da compiação
continuará tentaindo construir mysql
,
mas você pode ignorar as advertências sobre
mysql.cc
. (Se o make
parar, tente make -k
para continuar com o
resto da compilação mesmo se erros ocorrerem.)
Se você quiser uma biblioteca embutida do MySQL
(libmysqld.a
) você deve usar a opção
--with-embedded-server
.
Se você não deseja que seus arquivos de logs e diretórios
de bancos de dados fiquem localizados sobre
/usr/local/var
, use o comando
configure
; 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ório instalação para que
tudo seja instalado sobre
/usr/local/mysql
em vez do padrão
/usr/local
. O segundo comando preserva
o diretório da instalação padrão, mas altera a
localização padrão para diretórios de bancos de dados
(normalmente /usr/local/var
) e altera
para /usr/local/mysql/data
. Depois de ter
compilado o MySQL, você pode alterar estas opçãoes com
arquivos de opções. See Secção 4.1.2, “Arquivo de Opções my.cnf
”.
Se você estiver usando Unix e deseja que o arquivo socket
do MySQL fique em um diretório diferente do padrão
(normalmente no diretório /tmp
ou
/var/run
) use o comando
configure
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ê também pode, mais tarde, alterar a localização de
mysql.sock
usando os arquivos de
opções do MySQL. See
Secção A.4.5, “Como Proteger ou AlterarHow to Protect or Change the MySQL Socket File
/tmp/mysql.sock
”.
Se você deseja compilar programas linkeditados
estaticamente (por exemplo, para criar uma distribuição
binária, obter mais velocidade, ou evitar problemas com
algumas distribuições Red Hat Linux), execute
configure
desta forma:
shell>./configure --with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static
Se você estiver usando gcc
e não tem
libg++
ou libstdc++
instalados você pode dizer ao configure
para usar o gcc
como seu compilador C++:
shell> CC=gcc CXX=gcc ./configure
Quando você usar como
seu compilador
C++, ele não tentará ligar com o libg++
ou libstdc++
. Isto pode ser uma boa
idéia para se fazer se você tiver as bibliotecas acimas
instaladas, já que algumas versões destas bibliotecas tem
causado problemas estranhos para usuários do MySQL no
passado.
Segue algumas configurações de variáveis de ambiente comuns, dependendo do compilador que você 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ê pode obter um binário MySQL razoavelmente otimizado usando as opções acima e adicionar as seguintes opções para a linha de configuração:
--prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
A linha completa de configuração deverá ser, em outras palavras, algo como o seguinte para todas as versões 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ários que fornecemos no site Web MySQL em http://www.mysql.com são todos compilados com otimização plena e deve ser perfeito para a maioria dos usuários. See Secção 2.2.8, “Binários MySQL compilados pela MySQL AB”. Existem algumas definições de configuração que você pode alterar para criar um binário ainda mais rápido, mas isto é somente para usuários avançados. See Secção 5.5.3, “Como a Compilação e a Ligação Afetam a Velocidade do MySQL”.
Se a construção falhar e produzir erros sobre seu
compilador ou linkeditor não estarem aptos para criarem a
biblioteca compartilhada
libmysqlclient.so.r#
('r#
' é um número de versão), você
pode evitar este problema fornecendo a opção
--disable-share
para o
configure
. Neste caso,
configure
não construirá uma biblioteca
libmysqlclient.so.*
compartilhada.
Você pode configurar o MySQL para não usar valores de
campos DEFAULT
para campos
não-NULL
(isto é, campos que não podem
ser NULL
). See
Secção 1.8.5.2, “Restrições de NOT NULL
”.
shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
Por padrão, o MySQL usa o conjunto de caracteres ISO-8859-1
(Latin1). Para alterar o conjunto padrão, use a opção
--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
.
See Secção 4.7.1, “O Conjunto de Caracteres Utilizado para Dados e Ordenação”.
Se você desja converter os caracteres entre o servidor e o
cliente, você deve dar uma olhada no comando SET
OPTION CHARACTER SET
. See
Secção 5.5.6, “Sintaxe de SET
”.
Cuidado: Se você alterar o
conjunto de caracteres depois de ter criado qualquer tabela,
você deve executar myisamchk -r -q
--set-character--set=charset
em cada tabela. Seus
índices podem ser ordenados incorretamente. (Isto pode
acontecer se você instalar o MySQL, criar algumas tabelas,
depois reconfigurar o MySQL para usar um conjunto diferente
de caracteres e reinstalá-lo).
Com a opção --with-extra-charset=LISTA
você pode definir qual conjunto de caracteres adicionais
deve ser compilado no servidor.
Aqui LISTA
é uma lista de conjuntos de
caracteres separados por espaços,
complex
para incluir todos caracteres que
não podem ser carregados dinamicamente ou
all
para incluir todos os conjuntos nos
binários.
Para configurar o MySQL com código para depuração, use a
opção --with-debug
:
shell> ./configure --with-debug
Isto inclui uma alocação segura de memória que pode encontrar alguns erros e fornecer saída sobre o que está acontecendo. See Secção E.1, “Depurando um Servidor MySQL”.
Se seus programas clientes usam threads, você precisará
também compilar uma versão thread-safe da biblioteca
cliente do MySQL com as opções do configure
--enable-thread-safe-client
. Isto irá
criar uma biblioteca libmysqlclient_r
com
o qual você deverá ligar suas aplicações que fazem uso
de threads. See Secção 12.1.14, “Como Fazer um Cliente em Threads”.
Opções que pertençam a sistemas particulares podem ser encontrados na seção com detalhes específicos de sistemas neste manual. See Secção 2.6, “Notas específicas para os Sistemas Operacionais”.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.