-
ansi_mode. Está ligado (ON) se o mysqld foi iniciado com --ansi. See Secção 1.8.2, “Executando o MySQL no modo ANSI”.
-
back_log O número de requisições de conexões que o MySQL pode suportar. Isto entra em cena quando a thread principal do MySQL recebe MUITAS solicitações de conexões em um espaço curto de tempo. Eles tomam algum tempo (porém muito pouco) da a thread principal para conferir a conexão e iniciar uma nova thread. O valor back_log indica quantas requisições podem ser empilhadas durante este breve tempo antes do MySQL parar de responder a novas requisições. Você isó precisa aumentá-lo se espera um número alto de conexões em um curto período de tempo
Em outras palavras, este valor é o tamanho da fila de escuta para novas conexões TCP/IP. Seu sistema operacional tem o próprio limite para o tamanho desta fila. A página do manual Unix da chamada de sistema listen(2) deve fornecer maiores detalhes. Confira a documentação do seus SO para saber o valor máximo para esta variável. Tentativas de configurar back_log maior do que o limite de seu sistema operacional serão ineficazes.
-
basedir O valor da opção --basedir.
-
bdb_cache_size O buffer que é alocado para o cache de índice e registros de tabelas BDB. Se você não utiliza tabelas BDB, deve iniciar o mysqld com a opção --skip-bdb para evitar desperdício de memória para este cache.
-
bdb_log_buffer_size O buffer que é alocado para o cache de índice e registros de tabelas BDB. Se você não utiliza tabelas BDB, deve configurá-la com 0 ou iniciar o mysqld com a opção --skip-bdb para evitar desperdício de memória para este cache.
-
bdb_home O valor para a opção --bdb-home.
-
bdb_max_lock O número máximo de bloqueios (1000 por padrão) que podem ser feitas em uma tabela BDB. Você deve ser aumentá-la se obter erros do tipo: bdb: Lock table is out of available locks ou Got error 12 from ... quando são necessárias longas transações ou quando o mysqld precisar examinar vários registros para calcular a pesquisa.
-
bdb_logdir O valor da opção --bdb-logdir.
-
bdb_shared_data Está ligada (ON) se você estiver utilizando --bdb-shared-data.
-
bdb_tmpdir O valor da opção --bdb-tmpdir.
-
binlog_cache_size. O tamanho do cache para armazenar instruções SQL para o log binário durante uma transação. Se você geralmente utiliza transações grandes, multi-instruções, você pode aumentar este valor para obter mais performance. See Secção 6.7.1, “Sintaxe de START TRANSACTION, COMMIT e ROLLBACK”.
-
bulk_insert_buffer_size (era myisam_bulk_insert_tree_size) MyISAM usa uma cache especial em árvore para fazer inserções em bloco (isto é, INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., e LOAD DATA INFILE) mais rápidos. Esta variável limita o tamanho da árvore cache em bytes por thread. Definí-la com 0 desabilitará esta otimização Nota: esta cache só é usada quando é adicionado dados a uma tabela não vazia. O valor padrão é 8 MB.
-
character_set O conjunto de caracteres padrão.
-
character_sets Os conjuntos de caracteres suportados.
-
concurrent_inserts Se ON (ligado, por padrão), o MySQL permitirá o uso de INSERT em tabelas MyISAM ao mesmo tempo em que são executadas consultas SELECT. Você pode desligar esta opção iniciando mysqld com --safe ou --skip-new.
-
connect_timeout O número de segundos que o servidor mysqld espera para um pacote de conexão antes de responder com Bad handshake.
-
datadir O valor da opção --datadir.
-
delay_key_write
Option for MyISAM tables. Can have one of the following values:
Se DELAY_KEY_WRITE estiver habilitado, isto siginifica que o buffer de chaves das tabelas com esta opção não serão descarregadas a cada atualização do índice, mas somente quando a tabela é fechada. Isto irá aumentar bem a velocidade de escrita em chaves, mas você deve adicionar verificação automática de todas as tabelas com myisamchk --fast --force se você usá-lo.
-
delayed_insert_limit Depois de inserir delayed_insert_limit registros, o agente que cuida de INSERT DELAYED ira conferir se exitem instruções SELECT pendentes. Se sim, ele permite a execução destas antes de continuar.
-
delayed_insert_timeout Quanto tempo uma thread INSERT DELAYED deve esperar por instruções INSERT antes de terminar.
-
delayed_queue_size Qual tamanho deve ser alocado para a fila (em linhas) para lidar com INSERT DELAYED. Se a fila encher, algum cliente que executar INSERT DELAYED irá esperar até existir espaço na fila novamente.
-
flush É habilitado (ON) se você iniciar o MySQL com a opção --flush.
-
flush_time Se esta variável for configurada com um valor diferente de zero, então a cada flush_time segundos todas tabelas serão fechadas (para economizar recursos e sincronizar dados com o disco). Recomendamos esta opção somente em sistemas com Win95, Win98 ou outros sistemas com poucos recursos.
-
ft_boolean_syntax Lista de operadores suportados por MATCH ... AGAINST(... IN BOOLEAN MODE). See Secção 6.8, “Pesquisa Full-text no MySQL”.
-
ft_min_word_len O tamanho mínimo da palavra a ser incluída em um índice FULLTEXT. Nota: índices FULLTEXT devem ser reconstruídos depois de alterar esta variável. (Esta opção é nova para o MySQL 4.0.)
-
ft_max_word_len O tamanho máximo da palavra a ser incluída em um índice FULLTEXT. Nota: índices FULLTEXT devem ser reconstruídos depois de alterar esta variável. (Esta opção é nova para o MySQL 4.0.)
-
ft_query_expansion_limit Núnero de correspondências a usar para consulta de expansão (em MATCH ... AGAINST (... WITH QUERY EXPANSION). (Esta opção é nova no MySQL 4.1.1)
-
ft_max_word_len_for_sort O tamanho máximo da palavra a ser incluída em um índice FULLTEXT a ser usado no método rápido de recriação do índice em REPAIR, CREATE INDEX, ou ALTER TABLE. Palavras mais longas são inseridas de modo lento. A regra do dedão é a seguinte: com ft_max_word_len_for_sort aumentando, MySQL criará arquivos temporários maiores (tornando o processo lente, devido a E/S de disco), e colocará poucas chaves em um bloco ordenado (diminuindo a eficiência novamente). Quando ft_max_word_len_for_sort é muito pequeno, MySQL irá inserir várias palavras no índice de modo lento, mas pequenas palavras serão inseridas muito rapidamente.
-
ft_stopword_file O arquivo do qual se lê a lista de palavras de parada para pesquisa fulltext. Todas as palavras do arquivo serão usadas; comentários não são seguidos. Por padrão, a lista já incluída de palavras de parada é a usada (como definido em myisam/ft_static.c). Definir este parâmetro com uma string vazia ("") disabilitaa o filtro de palavras de parada. Nota: índices FULLTEXT devem ser reconstruídos depois de alterar esta variável. (Esta opção é nova para o MySQL 4.0.)
-
have_innodb YES if mysqld suporta tabelas InnoDB. DISABLED se --skip-innodb é usado.
-
have_bdb YES se o mysqld suportar tabelas Berkeley DB. DISABLED se a opção --skip-bdb for usada.
-
have_raid YES se o mysqld suportar a opção RAID.
-
have_openssl YES se o mysqld suportar SSL (criptografia) no protocolo cliente/ servidor.
-
init_file O nome do arquivo especificado com a opção --init-file quando você iniciar o servidor. Este é um arquivo das instruções SQL que você deseja que o servidor execute quando é iniciado.
-
interactive_timeout O número de segundos que o servidor espera por atividade em uma conexão antes de fechá-la. Um cliente interativo é definido como um cliente que utiliza a opção CLIENT_INTERACTIVE para mysql_real_connect(). Veja também wait_timeout.
-
join_buffer_size O tamanho do buffer que é utilizado para full joins (joins que não utilizam índices). O buffer é alocado uma vez para cada full join entre duas tabelas. Aumente este valor para obter um full join mais rápido quando a adição de índices não for possível. (Normalmente a melhor forma de obter joins rápidas é adicionar índices.)
-
key_buffer_size Blocos de índices são buferizados e compartilhados por todas as threads. key_buffer_size é o tamanho do buffer utilizado para indexar blocos.
Aumente-o para lidar melhor com os índices (para todas as leituras e escritas múltiplas) para o máximo possível 64M em uma máquina com 256M que executa, principalmente, o MySQL é bastante comum. Entretanto, se você deixar este valor muito grande (mais que 50% da sua memória total?) seu sistema pode iniciar a paginar e se tornar MUITO lento. Lembre-se que como o MySQL não utiliza cache de leitura de dados, será necessário deixar algum espaço para o cache do sistema de arquivos para o Sistema Operacional.
Você pode verificar a performance do buffer de chaves executando SHOW STATUS e examinar as variáveis Key_read_requests, Key_reads, Key_write_requests e Key_writes. A razão de Key_reads/Key_read_request deve normalmente ser < 0.01. O Key_write/Key_write_requests é normalmnte próximo de 1 se você estiver utilizando na maioria updates/deletes mas deve ser bem menor se você tender a fazer atualizações que afetam várias outras ao mesmo tempo ou se você estiver utilizando DELAY_KEY_WRITE. See Secção 4.6.8, “Sintaxe de SHOW”.
Para obter ainda mais velocidade quando estiver gravando vários registros ao mesmo tempo, utilize LOCK TABLES. See Secção 6.7.5, “Sintaxe LOCK TABLES e UNLOCK TABLES”.
-
language A linguagem utilizada para mensagens de erro.
-
large_file_support Se o mysqld foi compilado com opções para suporte a grandes arquivos.
-
locked_in_memory Se o mysqld foi travado na memória com --memlock
-
log Se o log de todas as consultas está habilitado.
-
log_update Se o log de atualizações está habilitado.
-
log_bin Se o log binários está habilitado.
-
log_slave_updates Se as atualizações do slave devem ser logadas.
-
long_query_time Se uma consulta demorar mais que isto (em segundos), o contador Slow_queries ser incrementado. Se você estiver utilizando --log-slow-queries, a consulta será logada ao arquivo de consultas lentas. See Secção 4.10.5, “O Log para Consultas Lentas”. Este valor é medido em tempo real, não em tempo de CPU, assim uma consulta que pode estar pode estar abaixo do limiar de um sistema de carga leve pode estar acima do limiar de um sistema de carga pesada. See Secção 4.10.5, “O Log para Consultas Lentas”.
-
lower_case_nome_tabelas Se estiver configurado para 1, nomes de tabelas são armazenados em letras minúsculas no disco e nomes de tabelas serão caso-insensitivo. Na versão .0.2, esta opção também se aplica aos nomes de banco de dados. Na versão 4.1.1 esta opção também se aplcia a alias de tabelas. See Secção 6.1.3, “Caso Sensitivo nos Nomes”.
-
max_allowed_packet O valor máximo de um pacote. O buffer de mensagens é iniciado por net_buffer_length bytes, mas pode crescer até max_allowed_packet bytes quando for necessário. Este valor por padrão é pequeno, para obter pacotes maiores (possivelmente errados). Você deve incrementar este valor se você estiver usando colunas BLOB grandes. Ele deve tão grande quanto o maior BLOB que você deseja utilizar. O protocol atual limita o max_allowed_packet à 16M no MySQL 3.23 e 1G no MySQL 4.0.
-
max_binlog_cache_size Se uma transação multi-instruções necessitar de mais que este montante de memória, será obtido o erro "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage" ("Transação multi-instruções necessita mais que 'max_binlog_cache_size' bytes de armazenamento").
-
max_binlog_size Disponível a partir da 3.23.33. Se uma escrita ao log binário (replicação) exceder o valor fornecido, rotacione os logs. Você não pode configurá-lo para menos de 4096 bytes (1024 na versão do MySQL anteriores a 4.0.14), ou mais que 1 GB. O valor padrão é 1 GB. Nota se você estiver usando transações: uma transação é escrita em um bloco no arquivo de log binário, já que ele nunca é separado entre diversos logs binários. Desta forma, se você tiver grandes transações, você pode ter logs binários maioores que max_binlog_size. Se max_relay_log_size (disponível a partir do MySQL 4.0.14) é 0, então max_binlog_size se aplicará bem aos relay logs.
-
max_connections O Número de clientes simultâneos permitidos. Aumentar este valor aumenta o número de descritores de arquivos que o mysqld necessita. Veja abaixo os comentários sobre os limites de descritores de arquivos. See Secção A.2.6, “Erro: Too many connections”.
-
max_connect_errors Se houver mais que este número de conexões interrompidas a partir de uma máquina está máquina terá as próximas conexões bloqueadas. Você pode desbloquar uma máquina com o comadno FLUSH HOSTS.
-
max_delayed_threads Não inicie mais do que este número de threads para lidar com instruções INSERT DELAYED. Se você tentar inserir dados em uma nova tabela depois que todas as threads INSERT DELAYED estiverem em uso, o registro será inserido como se o atributo DELAYED não fosse especificado. Se você configurá-lo com 0, o MySQL nunca criará uma thread max_delayed.
-
max_heap_table_size Esta variável define o tamanho máximo que uma tabela HEAP criada pode ter. O valor da variável é usado para calcular um valor MAX_ROWS da tabela HEAP. A definição desta variável não tem nenhum efeito sobre qualquet tabela HEAP existente, a memos que a tabela seja recriada com uma instrução como CREATE TABLE ou TRUNCATE TABLE, ou alterada com ALTER TABLE.
-
max_join_size Joins que provavelmente forem ler mais que max_join_size registros retornam um erro. Configure este valor se os seus usuários tendem a realizar joins que não possuem uma cláusula WHERE, que tomam muito tempo, e retornam milhões de registros.
-
max_relay_log_size Disponível a partir da versão 4.0.14. Se uma escrita ao relay log (um tipo de log usado por slaves de replicação, see Secção 4.11.3, “Detalhes de Implementação da Replicação”) exceder o valor dado, rotacione o relay log. Esta variável lhe permite colocar diferentes restrições de tamanho no relay logs e logs binários. No entanto, configurar a variável com 0 fará o MySQL usar max_binlog_size tanto para o log binário quanto para o relay logs. Você tem que configurar max_relay_log_size com 0 ou mais de 4096, e menos que 1 GB. O padrão é 0.
-
max_seeks_for_key Limite do número máximo de buscas ao procurar linhas com base em uma chave. O otimizador MySQL assumirá que quando pesquisar por linhas correspondentes em uma tabela através da varredura da chave, não faremos mais que este número de busca de chave independente da cardinalidade da chave. Configurando este parâmetro com um valor baixo (100 ?) você pode forçar o MySQL a preferir chaves em vez de varrer a tabela.
-
max_sort_length O número de bytes utilizados para ordenar valores BLOB ou TEXT (somente os primeiros max_sort_lenght bytes de cada valor são usados; o resto é ignorado).
-
max_user_connections O valor máximo de conexões ativas para um único usuário (0 = sem limite).
-
max_tmp_tables (Esta opção ainda não faz nada.) Número máximo de tabelas temporárias que um cliente pode manter abertas ao mesmo tempo.
-
max_write_lock_count Depois desta quantidade de bloqueios de escrita, permite que alguns bloqueios de leitura sejam executados.
-
myisam_recover_options O valor da opção --myisam-recover.
-
myisam_sort_buffer_size O buffer que é alocado ao ordenar o índice quando estiver fazendo um REPAIR ou estiver criando índices com CREATE INDEX ou ALTER TABLE.
-
myisam_max_extra_sort_file_size. Se a criação do arquivo temporário para criação rápida de índices fosse este valor maior que quando for usado o cache de chaves, de preferência ao método de cache de chaves. Isto é usado principalmente para forçar que longas chaves de caracteres em tabelas grandes usem o método de cache de chaves mais lenta para criar o índice. NOTE que este parâmetro é fornecido em megabytes!
-
myisam_repair_threads. Se este valor é maior que um, durante o processo reparo por ordenação os índices de tabels MyISAM serão criados em paralelo - cada índice em sua própria thread. Nota reparos com multi-threads está ainda sob código de qualidade alpha.
-
myisam_max_sort_file_size O tamanho máximo do arquivo temporário que é permitido ao MySQL usar enquanto recria os índices (durante REPAIR, ALTER TABLE ou LOAD DATA INFILE). Se o tamanho do arquivo for maior que isto, o índice será criado através do cache de chaves (que é mais lento). NOTE que este parâmetro é fornecido em megabytes antes da versão 4.0.3 e em bytes a partir desta versão.
-
net_buffer_length O buffer de comunicações é configurado para este tamanho entre queries. Isto não deve ser alterado normalmente, mas se você tem muito pouca memória, pode configurá-lo para o tamanho esperado de uma consulta. (Isto é, o tamanho experado das instruções SQL enviadas pelos clientes. Se as instruções excederem este valor, o buffer é aumentado automaticamente, até max_allowed_packet bytes.)
-
net_read_timeout Número de segundos para esperar por mais dados de uma conexão antes de abortar a leitura. Perceba que quando nós não esperamos dados de uma conexão, o tempo máximo de espera é definido pelo write_timeout. Veja também slave_read_timeout.
-
net_retry_count Se uma leitura na porta de comunicações for interrompida, tente novamente net_retry_count vezes antes de parar. Este valor deve ser bem alto no FreeBSD já que interrupções internas são enviadas para todas as threads.
-
net_write_timeout Número de segundos para esperar pela escrita de um bloco em uma conexão antes de abortar a escrita.
-
open_files_limit Número de arquivos que o sistema permite que o mysqld abra. Este é o valor real dado para o sistema e pode ser diferente do valor que você passa ao mysqld como parâmetro de inicialização. Ele é 0 em sistemas onde o MySQL não pode alterar o número de arquivos abertos.
-
pid_file O valor da opção --pid-file.
-
port O valor da opcao --port.
-
protocol_version A versão do protocolo usada pelo servidor MySQL.
-
range_alloc_block_size Tamanho dos blocos que são alocados ao se fazer uma otimização da faixa.
-
read_buffer_size (era record_buffer) Cada thread que faz uma leitura sequencial aloca um buffer deste tamanho para cada tabela lida. Se você fizer várias leituras sequenciais, você pode desejar aumentar este valor.
-
read_rnd_buffer_ae (era record_rnd_buffer) Ao ler registros na ordem depois de uma ordenação, os registros são lidos através deste buffer para evitar pesquisas em disco. Pode melhorar bastante o ORDER BY se configurado com um valor alto. Como esta é uma variável específica da thread, não se pode definí-la globalmente, mas apenas alterá-la ao executar alguma consulta específica grande.
-
query_alloc_block_size Tamanho dos blocos de alocação de memória que são alocados para objetos criados durante a análise e execução da consulta. Se você tiver problemas com fragmentação de memória ele pode ajudar a aumentar isto um pouco.
-
query_cache_limit Não armazena resultados que são maiores que esta variável. (Padrão 1M).
-
query_cache_size A memória alocada para armazenar resultados de consultas antigas. Se 0, a cache de consulta é desabilitada (padrãot).
-
query_cache_type Pode ser configurado com (somente numérico)
-
query_prealloc_size Buffer persistente para análise e execução da consulta. Não é liberado entre consultas. Em teoria, tornando-o ``grande o suficiente'' você pode fazer o MySQL executar consultas sem ter que fazer uma única chamada malloc.
-
safe_show_database Não exibe bancos de dados nos quais o usuário não tem nenhum privilégios. Isto pode melhorar a segurança se você se preocupa com o fato das pessoas estarem aptas a ver quais bancos de dados outros usuários possuem. Veja também skip_show_databases.
-
server_id O valor da opção --server-id.
-
skip_locking Está desligado (OFF) se o mysqld usar bloqueio externo.
-
skip_networking Está ligado (ON) se somente permitimos conexões locais (socket).
-
skip_show_databases Isto previne usuários de fazerem SHOW DATABASES se eles não possuirem o privilégio PROCESS_PRIV. Isto pode aumentar a segurança se você se preocupa com o fato das pessoas poderem ver quais bancos de dados outros usuários possuem. Veja também safe_show_databases.
-
slave_net_timeout Número de segundos para esperar por mais dados de uma conexão de master/slave antes de abortar a leitura.
-
slow_launch_time Se a criação de threads demorar mais que este valor (em segundos), o contador Slow_launch_threads será incrementado.
-
socket O socket Unix utilizado pelo servidor.
-
sort_buffer Cada thread que precisar fazer uma ordenação aloca um buffer deste tamanho. Aumente este valor para operações ORDER BY ou GROUP BY mais rápidas. See Secção A.4.4, “Onde o MySQL Armazena Arquivos Temporários”.
-
table_cache O número de tabelas abertas para todas as threads. Aumentar este valor aumenta o número de descritores de arquivos que o mysql necessita. O MySQL precisa de dois descritores de arquivos para cada tabela única aberta. Veja abaixo os comentaários sobre os limites do descritor de arquivos. Você pode conferir se necessita aumentar o cache de tabela conferindo a variável Opened_tables. See Secção 4.6.8.3, “SHOW STATUS”. Se esta variável for grande e você não faz muitos FLUSH TABLES (que apenas força todas as tabelas a serem fechadas e reabertas), então você deve aumentar o valor desta variável.
Para informações sobre como o cache de tabelas funciona, veja Secção 5.4.7, “Como o MySQL Abre e Fecha as Tabelas”.
-
table_type O tipo padrão de tabelas.
-
thread_cache_size Quantas threads devem ser mantidas em cache para reutilização. Quando um cliente desconecta, as threads dos clientes são colocadas no cache se não existir mais de thread_cache_size threads que antes. Todas novas threads serão obtidas primeiramente do cache, e só quando o cache estiver vazio uma nova thread é criada. Esta variável pode ser aumentada para melhorar a performance se você tiver várias conexões novas. (Normalmente isto não dá uma melhora de performance notável se você possuir uma boa implementação de threads.) Examinando as diferenças entre Connections e Threads_create (see Secção 4.6.8.3, “SHOW STATUS” para maiores detalhes) pode ser visto o quão eficente é o cache de threads atual.
-
thread_concurrency No Solaris, mysqld irá chamar thr_setconcurrency() com este valor. thdr_setconcurrency() permite que a aplicação forneça ao sistema de threads uma dica com o número desejado de threads que devem ser executados ao mesmo tempo.
-
thread_stack O tamanho da pilha para cada thread. Vários dos limites detectados pelo teste crash-me são dependentes deste valor. O padrão é grande o suficiente para operações normais. See Secção 5.1.4, “O Pacote de Benchmark do MySQL”.
-
timezone O fuzo horário para este servidor.
-
tmp_table_size Se uma tabela temporária em memória exceder este tamanho, o MySQL irá a convertê-la automaticamente para uma tabela MyISAM em disco. Aumente o valor de tmp_table_size se você fizer várias consultas GROUP BY avançadas e você tiver muita memória.
-
tmpdir O diretório utilizado para arquivos temporários e tabelas temporárias. A partir do MySQL 4.1, ele pode ser definido com uma lista de caminhos separados por dois pontos (:) (ponto e vírgula (; no Windows). Eles serão usados de modo robin-round. Este recurso pode ser usado para dividir a craga entre diversos discos físicos.
-
transaction_alloc_block_size Tamanho dos blocos de alocação de memória que são alocados para consultas de armazenamento que são parte de uma transação que está para ser armazenada no log binário ao se fazer um commit.
-
transaction_prealloc_block_size Buffer persistente para transaction_alloc_blocks que não é liberado entre as consultas. Tornando-o ``grande o suficiente'' para caber todas as consulta em uma transação comum você pode evitar muitas chamadas malloc.
-
version O número da versão do servidor.
-
wait_timeout O número de segundos que o servidor espera pela atividade em uma conexão antes de fechá-la. Veja também interactive_timeout.
Na inicialização da thread, SESSION.WAIT_TIMEOUT é inicializado por GLOBAL.WAIT_TIMEOUT ou GLOBAL.INTERACTIVE_TIMEOUT dependendo do tipo do cliente (como definido pela opção de conexão CLIENT_INTERACTIVE). Veja também interactive_timeout.