A partir do MySQL 4.0.3 fornecemos melhor acesso a diversas variáveis de sistema e conexão. Pode-se alterar a maioria dele ser ter de desligar o servidor.
Exite dois tipos de variáveis de sistema: Específica de threads (ou específica da conexão), variáveis que estão apenas na conexão atual e variáveis globais que são usadas para conigurqar eventos globais. Variáveis globais também são usadas para configurar os valores iniciais da variável específica da thread correspondente a nova conexão.
Quando o mysqld
inicia, todas as variáveis
globais são inicialisadas a partir dos argumentos de linha de
comando e arquivos de opção. Você pode alterar o valor com o
comando SET GLOBAL
command. Quando uma nova
thread é criada, a variável específica da thread é iniciada
a partir das variáveis globais e não alteram mesmo se você
executar um novo comando SET GLOBAL
.
Para definir os valor de uma variável
GLOBAL
, você deve usar uma das seguintes
sintaxes: (Aqui usamos sort_buffer_size
como
uma variável exemplo).
SET GLOBAL sort_buffer_size=valor; SET @@global.sort_buffer_size=valor;
Para definir o valor de uma variável
SESSION
, você pode usar uma das seguintes
sintaxes:
SET SESSION sort_buffer_size=valor; SET @@session.sort_buffer_size=valor; SET sort_buffer_size=valor;
Se você não especificar GLOBAL
ou
SESSION
então será usado
SESSION
. See Secção 5.5.6, “Sintaxe de SET
”.
LOCAL
é um sinônimo para
SESSION
.
Para recuperar o valor de uma variável
GLOBAL
você pode usar um dos seguintes
comandos:
SELECT @@global.sort_buffer_size; SHOW GLOBAL VARIABLES like 'sort_buffer_size';
Para retornar o valor de uma variável
SESSION
você pode usar um dos seguintes
comandos:
SELECT @@session.sort_buffer_size; SHOW SESSION VARIABLES like 'sort_buffer_size';
Quando você retorna o valor de
uma cariável com a sintaxe @@nome_variável
e você não especificar GLOBAL
ou
SESSION
então o MySQL retornará o valor
específico da thread (SESSION
), se ele
existir. Se não, o MySQL retornará o valor global.
A razão da exigência de GLOBAL
apenas para
definir a variável GLOBAL
, mas não para
recuperá-la e assegurar que não criemos problemas
posteriormente ao introduzirmos um variável específica da
thread com o mesmo nome ou remover uma variável específica da
thread. Neste caso, você pode acidentalmente alterar o estado
do servidor como um todo, e não apenas em sua conexão.
A seguir apresentamos uma lista completa de todas as variáveis
que altera e recupera se você pode usar
GLOBAL
ou SESSION
com
elas.
Nome Variável | Tipo Valor | Tipo |
autocommit | bool | SESSION |
big_tables | bool | SESSION |
binlog_cache_size | num | GLOBAL |
bulk_insert_buffer_size | num | GLOBAL | SESSION |
concurrent_insert | bool | GLOBAL |
connect_timeout | num | GLOBAL |
convert_character_set | string | SESSION |
delay_key_write | OFF | ON | ALL | GLOBAL |
delayed_insert_limit | num | GLOBAL |
delayed_insert_timeout | num | GLOBAL |
delayed_queue_size | num | GLOBAL |
error_count | num | SESSION |
flush | bool | GLOBAL |
flush_time | num | GLOBAL |
foreign_key_checks | bool | SESSION |
identity | num | SESSION |
insert_id | bool | SESSION |
interactive_timeout | num | GLOBAL | SESSION |
join_buffer_size | num | GLOBAL | SESSION |
key_buffer_size | num | GLOBAL |
last_insert_id | bool | SESSION |
local_infile | bool | GLOBAL |
log_warnings | bool | GLOBAL |
long_query_time | num | GLOBAL | SESSION |
low_priority_updates | bool | GLOBAL | SESSION |
max_allowed_packet | num | GLOBAL | SESSION |
max_binlog_cache_size | num | GLOBAL |
max_binlog_size | num | GLOBAL |
max_connect_errors | num | GLOBAL |
max_connections | num | GLOBAL |
max_error_count | num | GLOBAL | SESSION |
max_delayed_threads | num | GLOBAL |
max_heap_table_size | num | GLOBAL | SESSION |
max_join_size | num | GLOBAL | SESSION |
max_relay_log_size | num | GLOBAL |
max_sort_length | num | GLOBAL | SESSION |
max_tmp_tables | num | GLOBAL |
max_user_connections | num | GLOBAL |
max_write_lock_count | num | GLOBAL |
myisam_max_extra_sort_file_size | num | GLOBAL | SESSION |
myisam_repair_threads | num | GLOBAL | SESSION |
myisam_max_sort_file_size | num | GLOBAL | SESSION |
myisam_sort_buffer_size | num | GLOBAL | SESSION |
net_buffer_length | num | GLOBAL | SESSION |
net_read_timeout | num | GLOBAL | SESSION |
net_retry_count | num | GLOBAL | SESSION |
net_write_timeout | num | GLOBAL | SESSION |
query_cache_limit | num | GLOBAL |
query_cache_size | num | GLOBAL |
query_cache_type | enum | GLOBAL |
read_buffer_size | num | GLOBAL | SESSION |
read_rnd_buffer_size | num | GLOBAL | SESSION |
rpl_recovery_rank | num | GLOBAL |
safe_show_database | bool | GLOBAL |
server_id | num | GLOBAL |
slave_compressed_protocol | bool | GLOBAL |
slave_net_timeout | num | GLOBAL |
slow_launch_time | num | GLOBAL |
sort_buffer_size | num | GLOBAL | SESSION |
sql_auto_is_null | bool | SESSION |
sql_big_selects | bool | SESSION |
sql_big_tables | bool | SESSION |
sql_buffer_result | bool | SESSION |
sql_log_binlog | bool | SESSION |
sql_log_off | bool | SESSION |
sql_log_update | bool | SESSION |
sql_low_priority_updates | bool | GLOBAL | SESSION |
sql_max_join_size | num | GLOBAL | SESSION |
sql_quote_show_create | bool | SESSION |
sql_safe_updates | bool | SESSION |
sql_select_limit | bool | SESSION |
sql_slave_skip_counter | num | GLOBAL |
sql_warnings | bool | SESSION |
table_cache | num | GLOBAL |
table_type | enum | GLOBAL | SESSION |
thread_cache_size | num | GLOBAL |
timestamp | bool | SESSION |
tmp_table_size | enum | GLOBAL | SESSION |
tx_isolation | enum | GLOBAL | SESSION |
wait_timeout | num | GLOBAL | SESSION |
warning_count | num | SESSION |
unique_checks | bool | SESSION |
Variáveis marcadas com num
podem ter um
valor numérico. Variáveis marcadas com bool
podem ser definidas com 0, 1, ON
ou
OFF
. Variáveis do tipo
enum
devem, normalmente, ser atribuídas com
um dos valores disponíveis para a variável, mas podem também
ser definidas com o número correspondente ao valor enum. (O
primeiro valor enum é 0).
Aqui está uma descrição de algumas das variáveis:
Variáveis | Descrição |
identity | Alias para last_insert_id (compatibilidade com Sybase) |
sql_low_priority_updates | Alias para low_priority_updates |
sql_max_join_size | Alias para max_join_size |
version | Alias para VERSION() (compatibilidade com Sybase (?)) |
Uma descrição da outra definição de tabela pode ser
encontrada na seção de opções de inicialização, na
descrição de SHOW VARIABLES
e na seção
SET
. See Secção 4.1.1, “Opções de Linha de Comando do mysqld
”.
See Secção 4.6.8.4, “SHOW VARIABLES
”. See
Secção 5.5.6, “Sintaxe de SET
”.
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.