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.