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-serverSe você não possui um compilador C++,
MariaDBnão irá compilar (ele é o programa cliente que exige C++). Neste caso, você pode remover o código noconfigureque testa pelo compilador C++ e executar./configurecom a opção--without-server. O passo da compiação continuará tentaindo construirMariaDB, mas você pode ignorar as advertências sobremysql.cc. (Se omakeparar, tentemake -kpara 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/mysqlshell>./configure --prefix=/usr/local \--localstatedir=/usr/local/mysql/dataO primeiro comando altera o diretório instalação para que tudo seja instalado sobre
/usr/local/mysqlem 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
/tmpou/var/run) use o comandoconfigureda seguinte forma:shell>
./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sockPerceba que o arquivo fornecido deve ter um caminho absoluto ! Você também pode, mais tarde, alterar a localização de
mysql.sockusando 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
configuredesta forma:shell>
./configure --with-client-ldflags=-all-static \--with-mysqld-ldflags=-all-static - Se você estiver usando
gcce não temlibg++oulibstdc++instalados você pode dizer aoconfigurepara usar ogcccomo seu compilador C++:shell>
CC=gcc CXX=gcc ./configureQuando você usar
comoseu 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-sharepara oconfigure. Neste caso,configurenão construirá uma bibliotecalibmysqlclient.so.*compartilhada. - Você pode configurar o MariaDB para não usar valores de campos
DEFAULTpara 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=CHARSETCHARSETpode 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=charsetem 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=LISTAvocê pode definir qual conjunto de caracteres adicionais deve ser compilado no servidor.Aqui
LISTAé uma lista de conjuntos de caracteres separados por espaços,complexpara incluir todos caracteres que não podem ser carregados dinamicamente ouallpara 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-debugIsto 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_rcom 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".