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.

