Opções típicas do configure
O script configure
fornece uma grande gama de controle sobre como você configura sua distribuição MariaDB. 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. Leia Apêndice F, Variáveis de Ambientes do MariaDB. 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 MariaDB 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++,
MariaDB
não irá compilar (ele é o programa cliente que exige C++). Neste caso, você pode remover o código noconfigure
que testa pelo compilador C++ e executar./configure
com a opção--without-server
. O passo da compiação continuará tentaindo construirMariaDB
, mas você pode ignorar as advertências sobremysql.cc
. (Se omake
parar, tentemake -k
para continuar com o resto da compilação mesmo se erros ocorrerem.) - Se você quiser uma biblioteca embutida do MariaDB (
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 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ó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. Leia "Arquivo de Opçõesmy.cnf
". - Se você estiver usando Unix e deseja que o arquivo socket do MariaDB fique em um diretório diferente do padrão (normalmente no diretório
/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ê também pode, mais tarde, alterar a localização de
mysql.sock
usando os arquivos de opções do MariaDB. Leia Seção A.4.5, "Como Proteger ou AlterarHow to Protect or Change the MariaDB 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 temlibg++
oulibstdc++
instalados você pode dizer aoconfigure
para usar ogcc
como seu compilador C++:shell>
CC=gcc CXX=gcc ./configure
Quando você usar
como
seu compilador C++, ele não tentará ligar com olibg++
oulibstdc++
. 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 MariaDB 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 MariaDB 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 MariaDB em http://www.mysql.com são todos compilados com otimização plena e deve ser perfeito para a maioria dos usuários. Leia "Binários MariaDB compilados pela MariaDB Foundation". 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. Leia "Como a Compilação e a Ligação Afetam a Velocidade do MariaDB".
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 oconfigure
. Neste caso,configure
não construirá uma bibliotecalibmysqlclient.so.*
compartilhada. - Você pode configurar o MariaDB para não usar valores de campos
DEFAULT
para campos não-NULL
(isto é, campos que não podem serNULL
). Leia "Restrições deNOT NULL
".shell>
CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure
- Por padrão, o MariaDB 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 debig5
,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
, ouwin1251ukr
. Leia "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
. Leia "Sintaxe deSET
".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 MariaDB 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 ouall
para incluir todos os conjuntos nos binários. - Para configurar o MariaDB 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. Leia Seçã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 MariaDB com as opções do configure
--enable-thread-safe-client
. Isto irá criar uma bibliotecalibmysqlclient_r
com o qual você deverá ligar suas aplicações que fazem uso de threads. Leia "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. Leia "Notas específicas para os Sistemas Operacionais".