Mysql:命令选项、配置选项、(全局、会话)系统变量、状态变量:如何使用系统变量?...

概述

  • mysql有大量的系统变量,从变量的适用范围分为全局系统变量会话系统变量。全局系统变量仅仅影响新的连接会话,为其提供会话系统变量的默认值;而后者仅在当前的连接里存在并有效;
  • 每个全局系统变量都有其 编译默认值,又称全局默认值
  • 全局系统变量编译默认值可以通过命令选项、选项文件配置选项予以改变,其值 称之为 全局系统变量的全局当前值
  • 某些全局系统变量的全局当前值可以通过set global改变,这些全局系统变量称之为 动态全局系统变量当然也有只读的不可改变的全局系统变量
  • 新的连接会创建一套仅适用于该连接会话的会话系统变量;
  • 会话系统变量的默认值 为 对应的全局系统变量的全局当前值,称之为 会话默认值
  • 某些会话系统变量的默认值可以通过set改变,这些会话系统变量又叫动态会话系统变量;当然也有只读的不可改变的会话系统变量
  • 有些会话系统变量是会话里独有的,不妨叫做 独有会话系统变量;其中也有动态和只读之分

 

系统变量的范围限制符

  • GLOBAL  @@GLOBAL.  
  • SESSION  @@SESSION  @@  LOCAL  @@LOCAL.


选项、系统变量设置  --各方式各有不同的设置范围,并不完全相同;另外,对同一参数的设置,表达式也不相同:如set可以使用表达式,而其他方式则不可以

  1. 命令选项
  2. 选项文件
  3. 运行时set
  • 很多命令选项、配置选项、全局系统变量、会话系统变量system_variable_name 都一个对应的 max-system_variable_name,对其资源的最大值进行了限定
  • 设置动态全局系统变量必须具有super系统权限;设置会话系统变量不需要任何权限
  • 如果做了不适当的set,mysql会产生错误消息。例如 只适用于会话系统变量的设置,你设置到了全局系统变量上;或者只适用于全局的系统变量设置,你没有指明是全局设置(因为mysql对没有指明global的设置认为是会话的)
  • set语句可以设置多个系统变量,各设置之间使用逗号“,”分割。最后出现的global或session会作为后面没有做出范围限定的变量的默认范围;但是如果set语句仅设置一个系统变量,且没有global或session范围修饰,则作为session范围
  • 强调:set @@sys_var=var_value,总是设置会话系统变量。var_value中可以使用 表达式、变量——如果此处使用了@@sys_other_var,mysql或自动寻找该存在的变量,先会话,后全局,而不仅仅限于会话级变量!!。所以,select @@sys_var 可以返回会话系统变量的值;如果不存在,就会返回全局系统变量的值;如果全局系统变量也不存在,就产生unknown system variable的错误!
  • 可以通过set使用default值:使会话默认值=全局当前值;或使全局当前值=编译默认值。注意并不是所有的系统变量都具有default值
  • 某些命令选项、配置选项可以使用k、m、g、t..等表示计算机上字节大小的单位(不区分大小写;但绝对不可以使用表达式!相反,set可以使用表达式,却不能使用k、m、g、t..等。另外,对于开关型bool选项或变量设置:命令选项、配置选项可以使用0、1,不可以使用on、off!set 两种形式都可以

 

 

显示、获取系统变量  --两种方式各有不同的显示范围,并不完全相同

  1. show [GLOBAL|SESSION] variales;    --显示所有系统变量
  2. show [GLOBAL|SESSION] variales like 'special system variable';  --显示指定的系统变量
  3. show [GLOBAL|SESSION] variales like '%pat[\_]ern[%\_]';  --显示模式匹配的系统变量
  4. select [GLOBAL|SESSION] @@system_variable_name

 

 

 

 

仅仅在session里的会话系统变量  --一些仅仅存在于会话的系统变量:只读变量、可配置变量。这些变量绝大多数不能通过show variables 来显示,而仅仅能通过select来显示!

NameCmd-LineOption fileSystem VarDynamic
autocommit  YesYes
big-tablesYesYes  
- Variable: big_tables  YesYes
error_count  YesNo
foreign_key_checks  YesYes
identity  YesYes
insert_id  YesYes
last_insert_id  YesYes
ndb_table_no_logging  YesYes
ndb_table_temporary  YesYes
profiling  YesYes
rand_seed1  YesYes
rand_seed2  YesYes
sql_auto_is_null  YesYes
sql_big_selects  YesYes
sql_big_tables  YesYes
sql_buffer_result  YesYes
sql_log_bin  YesYes
sql_log_off  YesYes
sql_log_update  YesYes
sql_notes  YesYes
sql_quote_show_create  YesYes
sql_safe_updates  YesYes
sql_warnings  YesYes
timestamp  YesYes
transaction_allow_batching  YesYes
unique_checks  YesYes
warning_count  YesNo

 

全部动态系统变量(包括仅仅出现在session总的会话系统变量)  --可以通过select显示,大部分也可以通过show variables显示

Variable NameVariable TypeVariable Scope
auto_increment_incrementnumericGLOBAL | SESSION
auto_increment_offsetnumericGLOBAL | SESSION
autocommitbooleanSESSION
automatic_sp_privilegesbooleanGLOBAL
big_tablesbooleanSESSION
binlog_cache_sizenumericGLOBAL
binlog_formatenumerationGLOBAL | SESSION
bulk_insert_buffer_sizenumericGLOBAL | SESSION
character_set_clientstringGLOBAL | SESSION
character_set_connectionstringGLOBAL | SESSION
character_set_databasestringGLOBAL | SESSION
character_set_filesystemstringGLOBAL | SESSION
character_set_resultsstringGLOBAL | SESSION
character_set_serverstringGLOBAL | SESSION
collation_connectionstringGLOBAL | SESSION
collation_databasestringGLOBAL | SESSION
collation_serverstringGLOBAL | SESSION
completion_typenumericGLOBAL | SESSION
concurrent_insertbooleanGLOBAL
connect_timeoutnumericGLOBAL
date_formatstringGLOBAL | SESSION
datetime_formatstringGLOBAL | SESSION
debugstringGLOBAL | SESSION
default_week_formatnumericGLOBAL | SESSION
delay_key_writeenumerationGLOBAL
delayed_insert_limitnumericGLOBAL
delayed_insert_timeoutnumericGLOBAL
delayed_queue_sizenumericGLOBAL
div_precision_incrementnumericGLOBAL | SESSION
engine_condition_pushdownbooleanGLOBAL | SESSION
event_schedulerenumerationGLOBAL
expire_logs_daysnumericGLOBAL
flushbooleanGLOBAL
flush_timenumericGLOBAL
foreign_key_checksbooleanSESSION
ft_boolean_syntaxstringGLOBAL
general_logbooleanGLOBAL
general_log_filefilenameGLOBAL
group_concat_max_lennumericGLOBAL | SESSION
identitynumericSESSION
init_connectstringGLOBAL
init_slavestringGLOBAL
innodb_autoextend_incrementnumericGLOBAL
innodb_commit_concurrencynumericGLOBAL
innodb_concurrency_ticketsnumericGLOBAL
innodb_fast_shutdownbooleanGLOBAL
innodb_flush_log_at_trx_commitnumericGLOBAL
innodb_max_dirty_pages_pctnumericGLOBAL
innodb_max_purge_lagnumericGLOBAL
innodb_stats_on_metadatabooleanGLOBAL
innodb_support_xabooleanGLOBAL | SESSION
innodb_sync_spin_loopsnumericGLOBAL
innodb_table_locksbooleanGLOBAL | SESSION
innodb_thread_concurrencynumericGLOBAL
innodb_thread_sleep_delaynumericGLOBAL
innodb_use_legacy_cardinality_algorithmbooleanGLOBAL
insert_idnumericSESSION
interactive_timeoutnumericGLOBAL | SESSION
join_buffer_sizenumericGLOBAL | SESSION
keep_files_on_createbooleanGLOBAL | SESSION
key_buffer_sizenumericGLOBAL
key_cache_age_thresholdnumericGLOBAL
key_cache_block_sizenumericGLOBAL
key_cache_division_limitnumericGLOBAL
last_insert_idnumericSESSION
lc_time_namesstringGLOBAL | SESSION
local_infile GLOBAL
logstringGLOBAL
log_bin_trust_function_creatorsbooleanGLOBAL
log_bin_trust_routine_creatorsbooleanGLOBAL
log_outputenumerationGLOBAL
log_queries_not_using_indexesbooleanGLOBAL
log_slow_queriesbooleanGLOBAL
log_warningsnumericGLOBAL | SESSION
long_query_timenumericGLOBAL | SESSION
low_priority_updatesbooleanGLOBAL | SESSION
max_allowed_packetnumericGLOBAL | SESSION
max_binlog_cache_sizenumericGLOBAL
max_binlog_sizenumericGLOBAL
max_connect_errorsnumericGLOBAL
max_connectionsnumericGLOBAL
max_delayed_threadsnumericGLOBAL | SESSION
max_error_countnumericGLOBAL | SESSION
max_heap_table_sizenumericGLOBAL | SESSION
max_insert_delayed_threadsnumericGLOBAL | SESSION
max_join_sizenumericGLOBAL | SESSION
max_length_for_sort_datanumericGLOBAL | SESSION
max_prepared_stmt_countnumericGLOBAL
max_relay_log_sizenumericGLOBAL
max_seeks_for_keynumericGLOBAL | SESSION
max_sort_lengthnumericGLOBAL | SESSION
max_sp_recursion_depthnumericGLOBAL | SESSION
max_tmp_tablesnumericGLOBAL | SESSION
max_user_connectionsnumericGLOBAL | SESSION
max_write_lock_countnumericGLOBAL
min_examined_row_limitnumericGLOBAL | SESSION
multi_range_countnumericGLOBAL | SESSION
myisam_data_pointer_sizenumericGLOBAL
myisam_max_sort_file_sizenumericGLOBAL
myisam_repair_threadsnumericGLOBAL | SESSION
myisam_sort_buffer_sizenumericGLOBAL | SESSION
myisam_stats_methodenumerationGLOBAL | SESSION
myisam_use_mmapbooleanGLOBAL
ndb_autoincrement_prefetch_sznumericGLOBAL | SESSION
ndb_cache_check_timenumericGLOBAL
ndb_extra_loggingnumericGLOBAL
ndb_force_sendbooleanGLOBAL | SESSION
ndb_log_empty_epochsbooleanGLOBAL
ndb_log_update_as_writebooleanGLOBAL
ndb_log_updated_onlybooleanGLOBAL
ndb_optimization_delaynumericGLOBAL
ndb_table_no_loggingbooleanSESSION
ndb_table_temporarybooleanSESSION
ndb_use_exact_countbooleanGLOBAL | SESSION
net_buffer_lengthnumericGLOBAL | SESSION
net_read_timeoutnumericGLOBAL | SESSION
net_retry_countnumericGLOBAL | SESSION
net_write_timeoutnumericGLOBAL | SESSION
newbooleanGLOBAL | SESSION
old_passwordsbooleanGLOBAL | SESSION
optimizer_prune_levelbooleanGLOBAL | SESSION
optimizer_search_depthnumericGLOBAL | SESSION
optimizer_switchsetGLOBAL | SESSION
preload_buffer_sizenumericGLOBAL | SESSION
profilingbooleanSESSION
profiling_history_sizenumericGLOBAL | SESSION
query_alloc_block_sizenumericGLOBAL | SESSION
query_cache_limitnumericGLOBAL
query_cache_min_res_unitnumericGLOBAL
query_cache_sizenumericGLOBAL
query_cache_typeenumerationGLOBAL | SESSION
query_cache_wlock_invalidatebooleanGLOBAL | SESSION
query_prealloc_sizenumericGLOBAL | SESSION
rand_seed1numericSESSION
rand_seed2numericSESSION
range_alloc_block_sizenumericGLOBAL | SESSION
read_buffer_sizenumericGLOBAL | SESSION
read_onlynumericGLOBAL
read_rnd_buffer_sizenumericGLOBAL | SESSION
relay_log_purgebooleanGLOBAL
rpl_recovery_ranknumericGLOBAL
safe_show_databasebooleanGLOBAL
secure_authbooleanGLOBAL
server_idnumericGLOBAL
slave_allow_batchingbooleanGLOBAL
slave_compressed_protocolbooleanGLOBAL
slave_exec_modeenumerationGLOBAL
slave_net_timeoutnumericGLOBAL
slave_transaction_retriesnumericGLOBAL
slow_launch_timenumericGLOBAL
slow_query_logbooleanGLOBAL
slow_query_log_filefilenameGLOBAL
sort_buffer_sizenumericGLOBAL | SESSION
sql_auto_is_nullbooleanSESSION
sql_big_selectsbooleanSESSION
sql_big_tablesbooleanSESSION
sql_buffer_resultbooleanSESSION
sql_log_binbooleanSESSION
sql_log_offbooleanSESSION
sql_log_updatebooleanSESSION
sql_low_priority_updatesbooleanGLOBAL | SESSION
sql_max_join_sizenumericGLOBAL | SESSION
sql_modesetGLOBAL | SESSION
sql_notesbooleanSESSION
sql_quote_show_createbooleanSESSION
sql_safe_updatesbooleanSESSION
sql_select_limitnumericGLOBAL | SESSION
sql_slave_skip_counternumericGLOBAL
sql_warningsbooleanSESSION
storage_engineenumerationGLOBAL | SESSION
sync_binlognumericGLOBAL
sync_frmbooleanGLOBAL
table_cachenumericGLOBAL
table_definition_cachenumericGLOBAL
table_lock_wait_timeoutnumericGLOBAL
table_open_cachenumericGLOBAL
table_typeenumerationGLOBAL | SESSION
thread_cache_sizenumericGLOBAL
time_formatstringGLOBAL | SESSION
time_zonestringGLOBAL | SESSION
timed_mutexesbooleanGLOBAL
timestampstringSESSION
tmp_table_sizenumericGLOBAL | SESSION
transaction_alloc_block_sizenumericGLOBAL | SESSION
transaction_allow_batchingbooleanSESSION
transaction_prealloc_sizenumericGLOBAL | SESSION
tx_isolationenumerationGLOBAL | SESSION
unique_checksbooleanSESSION
updatable_views_with_limitbooleanGLOBAL | SESSION
wait_timeoutnumericGLOBAL | SESSION

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值