SHOW [GLOBAL | SESSION] VARIABLES [LIKE wild]
SHOW VARIABLES exibe os valores de algumas
variáveis de sistema do MySQL.
As opções GLOBAL e
SESSION são novas no MySQL 4.0.3. Com
GLOBAL você obterá as variáveis que
serão utilizadas para novas conexões ao MySQL. Com
SESSION você obterá os valores que estão
em efeito para a conexão atual. Se você não estiver usando
nenhuma opção, SESSION será usada.
Se os valores padrões não lhe servirem, você pode
configurar a maioria destas variáveis usando as opções de
linha de comando na inicialização do
mysqld. See
Secção 4.1.1, “Opções de Linha de Comando do mysqld”. Você pode alterar a maioria
das variáveis com o comando SET. See
Secção 5.5.6, “Sintaxe de SET”.
A saída de SHOW VARIABLES se parece com o
exibido abaixo, embora o formato e os números possam
divergir. Você também pode conseguir esta informação
usando o comando mysqladmin variables.
+---------------------------------+------------------------------+ | Variable_name | Value | +---------------------------------+------------------------------| | back_log | 50 | | basedir | /usr/local/mysql | | bdb_cache_size | 8388572 | | bdb_log_buffer_size | 32768 | | bdb_home | /usr/local/mysql | | bdb_max_lock | 10000 | | bdb_logdir | | | bdb_shared_data | OFF | | bdb_tmpdir | /tmp/ | | bdb_version | Sleepycat Software: ... | | binlog_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set | latin1 | | character_sets | latin1 big5 czech euc_kr | | concurrent_insert | ON | | connect_timeout | 5 | | convert_character_set | | | datadir | /usr/local/mysql/data/ | | delay_key_write | ON | | delayed_insert_limit | 100 | | delayed_insert_timeout | 300 | | delayed_queue_size | 1000 | | flush | OFF | | flush_time | 0 | | ft_boolean_syntax | + -><()~*:""&| | | ft_min_word_len | 4 | | ft_max_word_len | 84 | | ft_query_expansion_limit | 20 | | ft_stopword_file | (built-in) | | have_bdb | YES | | have_innodb | YES | | have_isam | YES | | have_raid | NO | | have_symlink | DISABLED | | have_openssl | YES | | have_query_cache | YES | | init_file | | | innodb_additional_mem_pool_size | 1048576 | | innodb_buffer_pool_size | 8388608 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | | innodb_file_io_threads | 4 | | innodb_force_recovery | 0 | | innodb_thread_concurrency | 8 | | innodb_flush_log_at_trx_commit | 1 | | innodb_fast_shutdown | ON | | innodb_flush_method | | | innodb_lock_wait_timeout | 50 | | innodb_log_arch_dir | | | innodb_log_archive | OFF | | innodb_log_buffer_size | 1048576 | | innodb_log_file_size | 5242880 | | innodb_log_files_in_group | 2 | | innodb_log_group_home_dir | ./ | | innodb_mirrored_log_groups | 1 | | interactive_timeout | 28800 | | join_buffer_size | 131072 | | key_buffer_size | 16773120 | | language | /usr/local/mysql/share/... | | large_files_support | ON | | local_infile | ON | | locked_in_memory | OFF | | log | OFF | | log_update | OFF | | log_bin | OFF | | log_slave_updates | OFF | | log_slow_queries | OFF | | log_warnings | OFF | | long_query_time | 10 | | low_priority_updates | OFF | | lower_case_table_names | OFF | | max_allowed_packet | 1047552 | | max_binlog_cache_size | 4294967295 | | max_binlog_size | 1073741824 | | max_connections | 100 | | max_connect_errors | 10 | | max_delayed_threads | 20 | | max_heap_table_size | 16777216 | | max_join_size | 4294967295 | | max_relay_log_size | 0 | | max_sort_length | 1024 | | max_user_connections | 0 | | max_tmp_tables | 32 | | max_write_lock_count | 4294967295 | | myisam_max_extra_sort_file_size | 268435456 | | myisam_repair_threads | 1 | | myisam_max_sort_file_size | 2147483647 | | myisam_recover_options | force | | myisam_sort_buffer_size | 8388608 | | net_buffer_length | 16384 | | net_read_timeout | 30 | | net_retry_count | 10 | | net_write_timeout | 60 | | open_files_limit | 1024 | | pid_file | /usr/local/mysql/name.pid | | port | 3306 | | protocol_version | 10 | | query_cache_limit | 1048576 | | query_cache_size | 0 | | query_cache_type | ON | | read_buffer_size | 131072 | | read_rnd_buffer_size | 262144 | | rpl_recovery_rank | 0 | | safe_show_database | OFF | | server_id | 0 | | slave_net_timeout | 3600 | | skip_external_locking | ON | | skip_networking | OFF | | skip_show_database | OFF | | slow_launch_time | 2 | | socket | /tmp/mysql.sock | | sort_buffer_size | 2097116 | | sql_mode | | | table_cache | 64 | | table_type | MYISAM | | thread_cache_size | 3 | | thread_stack | 131072 | | tx_isolation | READ-COMMITTED | | timezone | EEST | | tmp_table_size | 33554432 | | tmpdir | /tmp/:/mnt/hd2/tmp/ | | version | 4.0.4-beta | | wait_timeout | 28800 | +---------------------------------+------------------------------+
Cada opção é descrita abaixo. Valores para tamanhos de
buffer, comprimento e tamanho de pilha são fornecidos em
bytes. Você pode especificar valores com sufixos
‘K’ ou M
para indicar o valor em kilobytes ou megabytes. Por exemplo,
16M indica 16 Megabytes. Não importa se os
sufixos estão em letras maiúsuculas ou minúsculas;
16M e 16m são
equivalentes:
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:
| OFF | All CREATE TABLE ... DELAYED_KEY_WRITE são
ignorados. |
| ON | (padrão) MySQL seguirá a opção DELAY_KEY_WRITE
para CREATE TABLE. |
| ALL | Todas as novas tabelas abertas são tratadas como se fossem criadas com
a opção DELAY_KEY_WRITE. |
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)
| Valor | Alias | Comentário |
| 0 | OFF | Não armazena ou recupera resultados |
| 1 | ON | Armazena todos os resultados exceto consultas SELECT
SQL_NO_CACHE .... |
| 2 | DEMAND | Armazena apenas consultas SELECT SQL_CACHE .... |
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.
A seção do manual que descreve o ajuste do MySQL contém algumas informações de como sintonizar as variáveis acima. See Secção 5.5.2, “Parâmetros de Sintonia do Servidor”.
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.
