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/mysqlshell>./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.

