本文转载自:http://dwchaoyue.blog.51cto.com/2826417/1599394
以下变量全部来自mysql5.5.40-log 包括该版本的所有变量,绝大部分变量都是解释的,那些没有解释的变量不是很重要,不过后期还是会补充上去的。以下变量只有部分经过本人验证,,没有验证均来自大师的博客.仅供参考。
#自增值相关
auto_increment_increment # 增量
auto_increment_offset # 起始值/偏移量
http://chengxuyuan.naxieshir.com/fenlei/2/p/151.html
http://blog.csdn.net/feihong247/article/details/7748783
automatic_sp_privileges # 这个参数的不是很重要,默认值就行了,大致意思是 sp创建之后,
是否对其创建者赋予该sp的执行权限和修改权限。
http://www.tuicool.com/articles/EvY3ee
back_log # TCP/IP连接的侦听队列的大小 http://www.jb51.net/article/5148.htm
basedir # mysql 的安装目录
big_tables # 就版本中使用 ,同 sql_big_tables
binlog_cache_size # 事务性(innodb/ndb)存储引擎的产生的二进制日志缓存区大小 http://blog.sina.com.cn/s/blog_63426ff90101dwno.html
binlog_direct_non_transactional_updates # 非事务引擎(myisam)产生的二进制日志直接写入二进制文件,防止造成主从不一致, 该变量在5.6中已停用
binlog_format # 二进制日志格式 , 建议设置为row,
binlog_stmt_cache_size # 非事务语句的二进制日志缓存
bulk_insert_buffer_size # 批量插入数据缓存大小,可以有效提高插入效率,默认为8M
# 字符设置,
character_set_client
character_set_connection
character_set_database
character_set_filesystembinary
character_set_results
character_set_server
character_set_system
character_sets_dir
collation_connection
collation_database
collation_server
# 事务相关
completion_type # 事务类型, 默认为扁平事务
autocommit # 设置隐式事务是否自动提交
# myisam的并发设置
concurrent_insert
通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的频率,根据concurrent_insert的设置,
MyISAM是可以并行处理查询和插入的:
当concurrent_insert=0时,不允许并发插入功能。
当concurrent_insert=1时,允许对没有洞洞的表使用并发插入,新数据位于数据文件结尾(缺省)。
当concurrent_insert=2时,不管表有没有洞洞,都允许在数据文件结尾并发插入。
这样看来,把concurrent_insert设置为2是很划算的,至于由此产生的文件碎片,可以定期使用OPTIMIZE TABLE语法优化。
connect_timeout # 链接超时设置 ,在网络状态不佳时可以将该值设置大一点
datadir
date_format
datetime_format
default_storage_engineInnoDB # 默认存储引擎
default_week_format
delay_key_write # 延迟键值插入 ,数据更新可以先写入磁盘,键值更新稍后再写入磁盘, http://database.51cto.com/art/201108/285874.htm
delayed_insert_limit # 延迟行插入 不建议使用 ,有丢失数据的风险 http://www.shangxueba.com/jingyan/1942545.html
delayed_insert_timeout # 延迟插入超时 http://www.jb51.net/article/25654.htm
delayed_queue_size # 为INSERT DELAYED分配多一个队列;如果队列满了,当有客户端插入时将等待直到队列又有空间了
http://blog.chinaunix.net/uid-16569211-id-2945912.html
div_precision_increment # 小数精度控制 http://blog.chinaunix.net/uid-7692530-id-2567599.html
engine_condition_pushdown # 该变量适用于NDB
event_scheduler # 事件调度器开关
expire_logs_days # 保留的 二进制日志天数
flush
flush_time # 默认1800,最小值0。如果设置为一个非零值,所有表关闭每flush_time的的秒钟以释放资源并同步未刷新到磁盘上的数据。
http://www.hicoogle.com/mysql5-5-database-my-cnf-configuration-file-variable-description.html
foreign_key_checks # 启用外键约束
# 全文索引相关
ft_boolean_syntax # 改变IN BOOLEAN MODE的查询字符,不用重新启动MySQL也不用重建索引。 http://www.cnblogs.com/macula7/archive/2011/05/18/2050525.html
ft_max_word_len # 最长的索引字符串,默认值因版本而不同,余同上一点。 http://www.cnblogs.com/macula7/archive/2011/05/18/2050525.html
ft_min_word_len # 最短的索引字符串,默认值为4,修改后必须重建索引文件。 http://www.cnblogs.com/macula7/archive/2011/05/18/2050525.html
ft_query_expansion_limit # 使用WITH QUERY EXPANSION进行全文搜索的最大匹配数。
ft_stopword_file # 内建列表
# 查询日志相关
general_log # 查询日志开关
general_log_file # 查询日志路径
group_concat_max_len # group_concat的 长度 http://www.jb51.net/article/31945.htm
have_compress # 是否zlib压缩库适合该服务器。如果不适合,不能使用COMPRESS()和UNCOMPRESS()函数。
have_crypt # 是否crypt()系统调用适合该服务器。如果不适合,不能使用CRYPT()函数。
have_csv # 如果mysqld支持ARCHIVE表则为YES,否则为NO。
have_dynamic_loading # 是否支持动态加载插件
http://blog.csdn.net/tenfyguo/article/details/7706534
have_geometry # 是否支持空间数据类型
have_innodb # 是否支持innodb
have_ndbcluster # 是否支持ndb。
have_openssl # 如果mysqld支持客户端/服务器协议的SSL(加密)则为YES。
have_partitioning # 是否支持分区
have_profiling # 只读变量,用于控制是否由系统变量开启或禁用profiling
have_query_cache # 是否支持查询缓存
have_rtree_keys # RTREE索引是否可用。(用于MyISAM表的空间索引)。
have_ssl
have_symlink # 是否启用符号链接支持。在Unix中需要用于支持DATA DIRECTORY和INDEX DIRECTORY表选项。
hostname # 服务器的名字
ignore_builtin_innodb # 是否忽略内建的innodb http://www.orczhou.com/index.php/2010/03/innodb-plugin-setup/
init_connect # 服务器为每个连接的客户端执行的字符串。字符串由一个或多个SQL语句组成。要想指定多个语句,用分号间隔开。
例如,每个客户端开始时默认启用autocommit模式。没有全局服务器变量可以规定autocommit默认情况下应禁用,但可以用init_connect来获得相同的效果:
init_file # 启动服务器时用--init-file选项指定的文件名。文件中包含服务器启动时要执行的SQL语句。每个语句必须在同一行中并且不能包括注释。
init_slave # 该变量类似init_connect,但是每次SQL线程启动时从服务器应执行该字符串。该字符串的格式与init_connect变量相同。
innodb_adaptive_flushing #设定是否允许MySQL服务器根据工作负载动态调整刷写InnoDB buffer pool中的脏页的速率。
动态调整刷写速率的目的在于避免出现IO活动尖峰。默认值为ON。作用范围为全局级别,可用于选项文件,属动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_adaptive_hash_index # 开启自适应哈希索引 增强性能 http://blog.csdn.net/z1988316/article/details/7844808
innodb_additional_mem_pool_size # 用于缓存InnoDB数据字典及其他内部结构的内存池大小,类似于Oracle的library cache。这不是一个强制参数,可以被突破
innodb_autoextend_increment # 当自动扩展表空间被填满之时,每次扩展空间的大小,默认值是8(单位MB) http://linux.chinaunix.net/techdoc/database/2008/10/09/1037252.shtml
innodb_autoinc_lock_model # 生成自增长值锁的模式 http://www.tuicool.com/articles/m2Uvqa
innodb_buffer_pool_instances # 设定将InnoDB的buffer pool分隔为多少个区域。对于有着数GB空间的buffer pool来说,
将其分隔为多个区域可以降低不同的线程对缓存页面的读写操作时资源争用系数,进行增强其并发能力。
在buffer pool中,读取或存入页面时所选择的区域是基于hash算法随机进行的。每个buffer pool管理自己的空闲列表、列表刷写、LRU以及
其它跟buffer pool相关的数据结构,并通过各自的互斥锁进行保护
http://www.tuicool.com/articles/m2Uvqa
innodb_buffer_pool_size # innodb内存缓冲池大小
innodb_change_buffering # 设定InnoDB是否启用修改缓冲(change buffering)以及使用何种类型的修改缓冲。
修改缓冲是一种优化方式,它能够通过延迟写入操作至第二索引将IO操作转换为顺序模式。其接受的值有inserts(缓冲insert操作)、
deletes(缓冲delete-marking操作)、changes(缓冲insert和delete-marking操作)、purges(缓冲purge操作)、all(缓冲insert、delete-marking和purge操作)
和none(不缓冲任何操作)。默认值是all
http://www.tuicool.com/articles/m2Uvqa
innodb_checksums # InnoDB能够使用校验和(checksum)来验正从磁盘读取的所有页面数据的完整性,从而提高对硬件或数据文件损坏的容错能力。
默认为启用,然而,在少数情况下或许需要禁用这种特性,这可以通过使用--skip-innodb-checksums命令行选项实现。
作用范围为全局,可用于选项文件,属非动态变量
http://www.tuicool.com/articles/m2Uvqa
innodb_commit_concurrency # 这个参数设置了同一时刻允许同时commit的线程数。默认是0即不限制,取值范围0-1000,不可动态修改
http://www.tuicool.com/articles/m2Uvqa
innodb_concurrency_tickets # 在一个线程进入(enter)InnoDB时,其将会获取一定数量的“自由卷轴”(free tickets)并凭这些卷轴自由出入InnoDB(即免检),
直到其卷轴耗尽;而后的线程将被置于等待队列中,并可能需要再次接受并发上限限制检查。此变量则正是用于设定可同时进入InnoDB的线程并发数,
即线程的“自由卷轴”数量。默认值是500。作用范围为全局,可用于选项文件,属动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_data_file_path # 指定InnoDB的各个数据文件及其大小,文件多于一个时彼此间用分号隔开
innodb_data_home_dir # innodb 数据目录
innodb_doublewrite # 开启二次写功能
innodb_fast_shutdown # 在关闭时,参数innodb_fast_shutdown影响着表的存储引擎为InnoDB的行为。该参数可取值为0、1、2,默认值为1。
0表示在MySQL数据库关闭时,InnoDB需要完成所有的full purge和merge insert buffer,并且将所有的脏页刷新回磁盘。
这需要一些时间,有时甚至需要几个小时来完成。如果在进行InnoDB升级时,必须将这个参数调为0,然后再关闭数据库。
1是参数innodb_fast_shutdown的默认值,表示不需要完成上述的full purge和merge insert buffer操作,但是在缓冲池中的一些数据脏页还是会刷新回磁盘。
2表示不完成full purge和merge insert buffer操作,也不将缓冲池中的数据脏页写回磁盘,而是将日志都写入日志文件。这样不会有任何事务的丢失,
但是下次MySQL数据库启动时,会进行恢复操作(recovery)。
http://book.2cto.com/201305/23349.html
innodb_file_format # 设定新建InnoDB表的文件格式。其可接受的参数有Antelope和Barracuda,
但这仅对基于变量innodb_file_per_file的每表表空间文件有影响。某些InnoDB特性如表压缩功能仅有Barracuda文件格式支持。
作用范围为全局,可用于选项文件,属动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_file_format_check # 用于设定InnoDB是否在MySQL服务器启动时检查共享表空间的文件格式标签。检查标签时如果其高于当前InnoDB版本所支持的能力,
InnoDB就会产生错误并拒绝启动;否则,对MySQL 5.5.5 及后来的版本来说InnoDB则会设置变量innodb_file_format_max的值为共享表空间的文件格式标签,
而对于MySQL 5.5.5之前的版本来说,InnoDB会将共享表空间的文件格式设置为变量innodb_file_format_check的值。作用范围为全局,可用于选项文件,属非动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_file_format_max #在MySQL服务启动时,InnoDB会将变量innodb_file_format_max的值设置为共享表空间的文件格式标签(比如,Antelope或Barracuda)。
如果MySQL服务器创建或打开了一个有着更高级格式的表,此变量的值则会被设置为那个更高级的格式。作用范围为全局,可用于选项文件,属动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_file_per_table # 独立表空间
innodb_flush_log_at_trx_commit # 日志刷新的方式,可以设置为 {0,1,2}
0:表示每秒钟刷新一次日志到磁盘
1:每个事务提交时刷新日志到磁盘
2:事务提交提交时刷新日志到文件系统
innodb_flush_method # 控制innodb数据文件及redo log的打开、刷写模式http://blog.csdn.net/dukope/article/details/9015539
innodb_force_load_corrupted # 设定InnoDB在启动时是否装载标记为“已损坏(corrupted)”的表。仅应该在troubleshooting的场景中启用该功能以修复无法访问的表
,在troubleshooting任务完成后应该禁用此功能并重启MySQL服务。作用范围为全局,可用于选项文件,属非动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_force_recovery # 设定InnoDB的故障恢复模式 http://www.tuicool.com/articles/m2Uvqa
innodb_io_capacity # 设定InnoDB后台任务(如从缓冲池刷写页面或合并修改缓冲中的数据等)可执行的I/O操作上限
http://www.tuicool.com/articles/m2Uvqa
innodb_large_prefix # 设定对于使用了DYNAMIC或COMPRESSED行格式的InnoDB表来说,是否能够使用大于767字节长度的索引前缀
http://www.tuicool.com/articles/m2Uvqa
innodb_lock_wait_timeout # innodb 锁等待超时
innodb_locks_unsafe_for_binlog # 设定InnnoDB是否在搜索和索引扫描中使用间隙锁(gap locking)http://www.tuicool.com/articles/m2Uvqa
innodb_log_buffer_size # 日志缓冲区大小
innodb_log_file_size # 日志文件大小
innodb_log_files_in_group # 控制日志文件数量
innodb_log_group_home_dir # 日志文件目录 ,
innodb_max_dirty_pages_pct # 设定InnoDB的缓冲池中脏页比例的上限,默认为75。当缓存池中的脏页比例接近或达到此变量定义的比值时,
InnoDB的主线程会将刷写部分脏页中的数据至对应的文件中。作用范围为全局级别,可用于选项文件,属动态变量。
innodb_max_purge_lag # InnoDB事务系统会维持一个有索引记录被添加了删除标记(delete-marked)的事务的列表,此列表的长度即为清写延迟(purge_lag)。
此变量用于设定当发生清写延迟时,其队列长度达到多大时开始延迟INSERT、UPDATE或DELETE操作
http://www.tuicool.com/articles/m2Uvqa
innodb_mirrored_log_groups # 设定日志组镜像的个数。其值应该为1。
innodb_old_blocks_pct # 冷热页面分界点 http://www.tuicool.com/articles/m2Uvqa
innodb_old_blocks_time # 用于设定缓冲池中旧块子列表中的某旧块在其第一次又被访问到时,
其至少需要在旧块子列表中再呆上多长时间(单位为毫秒)才会被转移至新块子列表
http://www.tuicool.com/articles/m2Uvqa
innodb_open_files # 设定MySQL可同时打开的.ibd表空间文件的数量上限 http://www.tuicool.com/articles/m2Uvqa
innodb_print_all_deadlocks # 打印出死锁的相关信息到错误日志
innodb_purge_batch_size # 清写(purge)是指将缓存池中的脏页同步至持久性存储设备中的操作,以重做日志的记录为单位。
此变量则用于定义清写操作的粒度,即多少个重做日志记录组合起来可以触发一次清写操作,默认值为20。
此变量通常用于跟innodb_purge_threads=1一起对进行性能调优,
但一般场景中都不需要修改它。作用范围为全局级别,可用于选项文件,属非动态变量
http://www.tuicool.com/articles/m2Uvqa
innodb_purge_threads # 设定InnoDB执行清写操作的线程数量。默认值为0,表示清写操作由InnoDB的主线程自己完成,
这可以降低内部资源竞争发生的概率,进而增强MySQL服务伸缩能力。不过,随着InnoDB内部各式各样的竞争越来越多,
这种设置带来的性能优势已几乎不值一提。作用范围为全局级别,可用于选项文件,属动态变量。
http://www.tuicool.com/articles/m2Uvqa
innodb_random_read_ahead :随机预读
innodb_read_ahead_threshold # 设定InnoDB预读页面至缓冲池时的线性预读敏感度,也即InnoDB的读操作至少从一个盘区(extent,包含64个页面)
中读取多个页面时才会为读取整个盘区中后续的页面初始化一个异步读操作。默认值为56
http://www.tuicool.com/articles/m2Uvqa
innodb_read_io_threads # 设定InnoDB为读操作启动的I/O线程数量,默认为4个。作用范围为全局级别,可用于选项文件,属非动态变量
innodb_replication_delay # 设定在从服务器(slave)上运行的线程数达到innodb_thread_concurrency变量定义的并发上限时复制线程需要延迟的时长
innodb_rollback_on_timeout # 设定事务执行过程超时时事务回滚的方式。在MySQL 5.5中,默认为OFF,
表示仅回滚事务中的最后一个语句。如果设置为ON,则表示中止事务执行并回滚整个事务.
innodb_rollback_segments # 设定InnoDB在系统表空间中为每个事务使用多少个回滚段(rollback segment),默认为128个
innodb_spin_wait_delay # 此变量则正是用于定义InnoDB自旋操作的空闲循环转数,默认为6转
innodb_stats_method # 设定MySQL为InnoDB表收集分布的索引值的统计数据时如何处理NULL类型的数据
innodb_stats_on_metadata # 设定使用SHOW TABLE STATUS或者SHOW INDEX这两个元数据语句时,或访问INFORMATION_SCHEMA中的TABLES或STATISTICS表时,
InnoDB是否更新统计数据。默认为更新
innodb_stats_sample_pages # 默认范围1-2*64-1号样品的折射率分布统计的索引页 (索引数据抽样大小)
innodb_strict_mode # 开启InnoDB严格检查模式 http://book.2cto.com/201402/40321.html
innodb_support_xa # 支持外部事务 ,保证事务日志和二进制日志的一致性
innodb_sync_spin_loops # 设定一个线程在等待InnoDB释放某个互斥量(mutex)之前自旋的转数,当自旋操作达到这个转数但互
斥量仍未被释放时此线程将被挂起。默认值为30
innodb_table_locks # InnoDB在存储引擎级别支持行级锁,而MySQL在服务器级别还支持使用表级锁。
此变量则正是用来定义InnoDB是否在其内部支持使用MySQL表级锁
innodb_thread_concurrency # 设定InnoDB可在其内部并发运行的操作系统线程数量上限
innodb_thread_sleep_delay # 设定InnoDB线程在加入InnoDB队列之前的睡眠时长,单位是毫秒,默认值为10000。0值表示禁止睡眠而直接加入队列
innodb_use_native_aio # 设定InnoDB是否使用Linux的异步I/O子系统,因此,其仅应用于Linux系统平台,且MySQL启动后不能更改其值
innodb_use_sys_malloc # 设定InnoDB使用操作系统的(ON)还是自有的(OFF)内存分配器。默认值为ON
innodb_version # InnoDB存储引擎的版本号,只读变量。
innodb_write_io_threads # 设定InnoDB用于完成写操作的I/O线程数量,默认为4个。
interactive_timeout # 交互式链接的链接超时时间
join_buffer_size # join 缓存大小
keep_files_on_create # 此项默认值为OFF。创建MyISAM类型的表时,mysqld会在数据目录中为其创建一个.MYD文件和一个.MYI文件,如果数据目录中已经存在一个同名的文件,
默认设定为覆盖操作,当设定此变量为OFF时,则会返回一个错误信息
http://www.tuicool.com/articles/EvY3ee
key_buffer_size # myisam 键值缓存大小
key_cache_age_threshold # 控制Hot Area中的Cache Block何时该被降级到Warm Area中。系统默认值为300,
最小可以设置为100。值越小,被降级的可能性越大
http://www.tuicool.com/articles/EvY3ee
key_cache_block_size # 键缓存块大小
key_cache_division_limit # 键值链中hotArea和WarmArea的分界点
http://www.tuicool.com/articles/EvY3ee
large_files_support # mysqld是否在编译时的编译选项中指定了支持大文件 http://www.tuicool.com/articles/EvY3ee
large_page_size # Linux平台上专用的参数,用于设定mysqld使用的大内存页的大小,一般为4MB,在其它平台上此参数的值为0,即为禁用
large_pages # Linux平台上专用的参数,用于设定mysqld是否支持使用大内存页。使用大内存而可以提高TLB的命中率,进行提高系统性能
lc_message # 错误信息的区域设定(即语言区域),mysqld将此值转换为语言名称,并结合lc_messages_dir参数指定的路径中的区域相关的语言文件来返回错误信息
lc_messages_dir
lc_time_name # 设定基于语言区域来显示日、月及其简写方式等日期信息的语言区域,其值如en_US等,但与系统的locale无关
license
local_infile # 设定mysqld是否支持使用LOAD DATA INFILE语句。默认为ON
lock_wait_timeout :锁请求超时阀值(在服务器层实现的,因此对所有的存储引擎都是生效的)
log_bin # 开启二进制日志
log_bin_trust_function_creators # 此参数仅在启用二进制日志时有效,用于控制创建存储函数时如果会导致不安全的事件记录二进制日志条件下是否禁止创建存储函数
log_error # 错误日志路径
log_output # 慢查询日志,查询日志的输出格式
log_queries_not_using_indexes # 没有使用索引的查询是否记入慢查询日志文件
log_slave_updates # 主从复制中,主服务器上的sql是否写入从服务器的二进制日志
log_slow_queries # 开启慢查询
log_warnings # 设定是否将警告信息记录进错误日志。默认设定为1,表示启用;可以将其设置为0以禁用;
而其值为大于1的数值时表示将新发起连接时产生的“失败的连接”和“拒绝访问”类的错误信息也记录进错误日志。
long_query_time # 慢查询阀值
low_priority_updates # 设定是否降低更新操作的优先级,仅对只支持表级别锁的存储引擎有效,如MyISAM、MEMORY或MERGE。
其值为1则表示所有的INSERT、UPDATE、DELETE或LOCK TABLE WRITE语句只能在没有等待执行的SELECT或LOCK TABLE READ语句时才能执行
lower_case_file_system # 用于描述数据目录所在的文件系统是否区分文件名称字符大小写,OFF表示区分大小写,ON表示不区分大小写
lower_case_table_names # 表明是否区分大小写
max_allowed_packet # 设定单个报文或任何中间字符串(intermediate string)的最大长度,单位是字节
max_binlog_cache_size # 事务性存储引擎二进制日志的最大缓存值
max_binlog_size # 单个二进制文件的最大大小
max_binlog_stmt_cache_size # 非事务性存储引擎的二进制日志的最大缓存值
max_connect_errors # 设定客户端连接至mysqld时的最大错误尝试次数
max_connections # 设定mysqld允许客户端同时发起的最大并发连接数
max_delayed_threads # 设定为INSERT DELAYED语句所能够启动的最大线程数。如果当前相关的线程数目已经达到此参数所设定的值,
后续的INSERT DELAYED语句将无视其DELAYED属性
max_error_count # 设定为SHOW ERRORS或SHOW WARNINGS语句所保留的关于错误、警告或注意信息条目的最大数
max_heap_table_size # 设定每个用户创建的MEMORY表所能够使用的最大内存空间
max_insert_delayed_threads # max_delayed_threads的同义词
max_join_size # 设定SELECT语句执行时所能够检查的行数(单表)或行组合(多表查询)的最大值
max_length_for_sort_data # ilesort算法改进版所能够使用的字段最大长度值http://www.tuicool.com/articles/EvY3ee
max_long_data_size # 设定可以由mysql_stmt_send_long_data()这个C API函数所传送的参数值的最大长度,如果没有在mysqld启动时设定,
其默认为max_allowed_packet变量的值。MySQL 5.6已经弃用此变量
max_prepared_stmt_count # 设定mysqld所允许的所有连接会话中执行的准备语句的总数 http://www.tuicool.com/articles/EvY3ee
max_relay_log_size # 设定从服务器上中继日志的体积上限,到达此限度时其会自动进行中继日志滚动
max_seeks_for_key # 设定基于某key执行查询时所允许的最大查找次数 http://www.tuicool.com/articles/EvY3ee
max_sort_length # 设定mysqld执行数值排序时所使用的字节数,剩余的将被忽略
max_sp_recursion_depth # 默认值0,最大值255倍,任何给定的存储过程可以递归调用的数量
max_tmp_tables # 一个客户能同时保持打开的临时表的最大数量。 http://www.bitscn.com/network/hack/200607/29802.html
max_user_connections # 单个账号的最大链接数
max_write_lock_count # mysqld已施加的写锁个数达到此参数值指定的个数时,将允许处理一些挂起的读请求。其最小值为1,最大值取决于平台字长
metadata_locks_cache_size # 设定mysqld元数据锁缓存的上限。此缓存可用来避免创建或销毁同步对象(synchronization object),
这对于此类操作代价较高的操作系统(如Windows XP)来说尤为有用
min_examined_row_limit # 所检查的行数低于此参数设定的数值的查询操作将不被记入慢查询日志
multi_range_count # 不知道
myisam_data_pointer_size # 默认指针大小,单位是字节,当未指定MAX_ROWS选项时,
CREATE TABLE使用该变量创建MyISAM表。该变量不能小于2或大于7,指定myisam表的最大大小
myisam_max_sort_file_size # 重建MyISAM索引(在REPAIR TABLE、ALTER TABLE或LOAD DATA INFILE过程中)时,允许MySQL使用的临时文件的最大空间大小。
如果文件的大小超过该值,则使用键值缓存创建索引,要慢得多。该值的单位为字节。
myisam_mmap_size # 设定基于内存映射压缩MyISAM文件时可以使用的内存上限
myisam_recover_options # 用于保存mysqld命令行选项--myisam-revover-options的值http://www.tuicool.com/articles/EvY3ee
myisam_repair_threads # 在通过排序修复过程中为MyISAM表创建索引的线程的个数,默认为1;如果给定大于1的值,
则可以启动多个并行创建索引的线程(每个索引只能由一个线程创建)
myisam_sort_buffer_size # 在REPAIR TABLE过程中,或通过CREATE INDEX/ALTER TABLE
为MyISAM表添加索引时为了对索引排序所能够使用的缓冲空间大小
myisam_stats_method # 定义在为MyISAM表收集索引分布相关的统计信息时处理NULL值的方式
myisam_use_mmap # 在读写MyISAM表时能否使用内存映射
named_pipe # (只适用Windows)说明服务器是否支持命名管道连接。
net_buffer_length # 在查询之间将通信缓冲区重设为该值。一般情况不应改变,但如果内存很小,可以将它设置为期望的客户端发送的SQL语句的长度。
如果语句超出该长度,缓冲区自动扩大,直到max_allowed_packet字节。
net_read_timeout # 设定mysqld等待从客户端接收更多数据的超时时长,默认值为30
net_retry_count # 如果某个通信端口的读操作中断了,在放弃前重试多次
net_write_timeout # 设定mysqld等待向客户端传输数据的超时时长,默认值为60(数据未及时发送或接送造成的)
new # 用于MySQL 4.0中以启用支持MySQL 4.1版本上的某些新特性的能力,但仍然可以保持向后兼容。在MySQL 5.5无须设置,故其值为OFF
old # 用于定义兼容老版本MySQL的变量,默认是禁用的,但可以在mysqld启动时将其启用以兼容较老的MySQL版本。
old_alter_table # 在线DDL的相关设置 http://blog.itpub.net/26515977/viewspace-1208250/
old_passwords # old-passwords选项的目的是当服务器生成长密码哈希值时,允许维持同4.1之前的客户端的向后兼容。
http://ju.outofmemory.cn/entry/67116
open_files_limit # 操作系统允许mysqld打开的文件的数量。这是系统允许的实际值,可能与你在启动选项中赋给mysqld的值不同。
若在系统中MySQL不能更改打开的文件的数量,则该值为0
# 查询优化相关:
optimizer_prune_level # 默认值1;控制在查询优化过程中采用启发式http://my.oschina.net/victorli/blog/10563
optimizer_search_depth # 查询优化器进行的搜索的最大深度 ***2014/09/74997.html
optimizer_switch # 优化器设置 选项index_merge=on,index_merge_union=on,index_merge_sort_union=on,
index_merge_intersection=on,engine_condition_pushdown=on
# performance_schema 相关,很少用到
performance_schema
performance_schema_events_waits_history_long_size
performance_schema_events_waits_history_size
performance_schema_max_cond_classes
performance_schema_max_cond_instances
performance_schema_max_file_classes
performance_schema_max_file_handles
performance_schema_max_file_instances
performance_schema_max_mutex_classes
performance_schema_max_mutex_instances
performance_schema_max_rwlock_classes
performance_schema_max_rwlock_instances
performance_schema_max_table_handles
performance_schema_max_table_instances
performance_schema_max_thread_classes
performance_schema_max_thread_instances
pid_file # pid文件的位置
plugin_dir # 插件的目录
port3306 # 端口号
preload_buffer_size # 重载索引时分配的缓冲区大小
profiling
profiling_history_size
protocol_version
query_alloc_block_size # 为查询分析和执行过程中创建的对象分配的内存块大小。如果内存分段过程中遇到问题,将该变量增加一位会有帮助。
query_cache_limit # query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M
query_cache_min_res_unit # 设置Query Cache中每次分配内存的最小空间大小,也就是每个Query的缓存块的最小占用的内存空间大小
内存块分配的最小单元非常重要,设置过大可能增加内存碎片的概率发生,太小又可能增加内存分配的消耗,为此在系统平稳运行一个阶段性后
http://ju.outofmemory.cn/entry/67410
query_cache_size # 设置Query Cache所使用的内存大小,默认是0 http://ju.outofmemory.cn/entry/67410
query_cache_type # 查询缓存类型
query_cache_wlock_invalidate # 控制当写锁定发生在表上的时候,是否先失效该表相关的Query Cache,如果设置为1(true),
则在写锁定的同时将失效该表相关的Query Cache,如果设置为0(False)则在锁定时仍然允许读取该表相关的Query Cache
query_prealloc_size8192 # 用于查询分析和执行的固定缓冲区的大小。在查询之间该缓冲区不释放。如果你执行复杂查询,
分配更大的query_prealloc_size值可以帮助提高性能,因为它可以降低查询过程中服务器分配内存的需求。
http://www.mysqlpub.com/onlinemanual/doc/refman/5.1/zh/database-administration.html
range_alloc_block_size # # 范围优化时分配的块的大小
read_buffer_size # 每个线程连续扫描时为扫描的每个表分配的缓冲区的大小(字节)。如果进行多次连续扫描,可能需要增加该值,
read_only # 当变量对复制从服务器设置为ON时,从服务器不允许更新,除非通过从服务器的线程或用户拥有SUPER权限。
可以确保从服务器不接受客户端的更新命令。
read_rnd_buffer_size # 当排序后按排序后的顺序读取行时,则通过该缓冲区读取行,避免搜索硬盘。将该变量设置为较大的值可以大大改进ORDER BY的性能。
但是,这是为每个客户端分配的缓冲区,因此你不应将全局变量设置为较大的值。
# 复制相关
relay_log # 开启中继日志
relay_log_index # 中继日志索引文件名
relay_log_info_file # 中继日志明
relay_log_purge # 自动清理旧的中继日志数据
relay_log_recovery # 是否开启中继日志的自我修复功能 http://book.2cto.com/201402/40320.html
relay_log_space_limit # 单个中继日志的空间大小限制
report_host
report_password
report_port
report_user
rpl_recovery_rank
secure_auth # 如果用--secure-auth选项启动了MySQL服务器,它将阻塞有旧格式(4.1之前)密码的所有账户所发起的连接。在这种情况下,该变量的值为ON
secure_file_priv
server_id # 服务器id
shared_memory # (只用于Windows)服务器是否允许共享内存连接。
shared_memory_base_nam # (只用于Windows)说明服务器是否允许共享内存连接,并为共享内存设置识别符。当在单台机器上运行多个MySQL实例时很有用。
skip_external_locking # 跳过外部锁定
skip_name_resolve # 跳过DNS 反向解析
skip_networking # 禁止网络 链接数据库服务器
skip_show_database # 防止不具有SHOW DATABASES权限的人们使用SHOW DATABASES语句
slave_compressed_protocol # 如果主、从服务器均支持,确定是否使用从/主压缩协议
slave_exec_mode # 是否自动跳过某些错误 http://19370575.blog.hexun.com/80530915_d.html
slave_load_tmpdir # 从服务器为复制LOAD DATA INFILE语句创建临时文件的目录名
slave_max_allowed_packet # 在MySQL5.5.26中及以后,这个变量设置从SQL和I / O线程的最大数据包大小,
因此,使用基于行的复制的大更新不会因为更新超过max_allowed_packet导致复制失败
http://blog.csdn.net/heianemo/article/details/8060351
slave_net_timeout # 在从机认为连接中断,中止读,并尝试重新连接之前等待来自主机的更多的数据的秒数。第一次重试在超时之后立即发生。
重试之间的间隔由CHANGE MASTER TO语句的MASTER_CONNECT_RETRY选项控制,
并且尝试重新连接的次数被–master-retry-count选项限制。默认值是3600秒(1小时)。
http://blog.csdn.net/heianemo/article/details/8060351
slave_skip_errors # 跳过的错误号
slave_transaction_retries # 如果复制从SQL线程因为InnoDB死锁或因为事务的执行时间超过InnoDB的innodb_lock_wait_timeout或
NDBCLUSTER的TransactionDeadlockDetectionTimeout或TransactionInactiveTimeout而执行事务失败,在报错停止前(before stopping with an error),
它会自动重试slave_transaction_retries次。默认值是10。
http://blog.csdn.net/heianemo/article/details/8060351
slave_type_conversions # 这个参数在mysql5.5.3 引入,目的是启用row 格式的bin-log 的时候,
如果主从的column 的数据类型不一致,会导致复制失败,mysql5.5.3 之后支持,主库是int 从库是bigint 这种类型的复制,
这个参数的意义就是控制些类型转换容错性。
如果从库的类型比主库类型大,那么复制没有问题的。
如果从库类型比主库类型小,比如从int 复制到tinyint 这个参数就会起作用。
http://blog.itpub.net/133735/viewspace-756696/
slow_launch_time #线程创建耗时阀值,如果某个线程的创建时间超过这个值(s) , 状态变量Slow_launch_threads 就加1
slow_query_log # 开启慢查询日志
slow_query_log_file # 慢查询日志文件名
socket # Unix中用于连接的套接字文件。默认情况下,文件名为/tmp/mysqlmanager.sock。
sort_buffer_size # 排序缓存大小 一般情况下设置为1M ,最大不要超过2 http://bbs.chinaunix.net/thread-1805254-1-1.html
sql_auto_is_null # 如果被设置为 1 ( 默认值 ) ,则可以通过以下语句来获得某个包含 AUTO_INCREMENT 类型字段的表最后一条插入的记录:
sql_big_selects # 如果设置为 0 ,则 MySQL 会放弃那些可能会耗费很长时间(是指那些通过优化程序
估计到需要检查的行数会超过 max_join_size 设定值的情况)的 SELECT 语句http://blog.sina.com.cn/s/blog_53b95aec0101fvbv.html
sql_big_tables # 旧版本中使用, http://dp.imysql.com:8080/node/13
sql_buffer_result # SQL_BUFFER_RESULT 强制将 SELECT 语句查询的结果放在临时表中。这可以让 MySQL 尽快释放加载表上的锁,
同时还有助于改善向客户端发送结果需要较长时间的情况
http://dp.imysql.com:8080/node/13
sql_log_bin # 如果设置为 0,就不再记录任何二进制日志了。必须要有 SUPER (超级) 权限方可修改它的值
sql_log_off # 如果设置为 1 ,系统将不记录任何普通的查询日志。必须要有 SUPER (超级) 权限方可修改它的值。
sql_low_priority_updates # 如果设置为1,所有INSERT、UPDATE、DELETE和LOCK TABLE WRITE语句将等待直到受影响的表没有挂起的SELECT或LOCK TABLE READ。
http://www.mysqlpub.com/onlinemanual/doc/refman/5.1/zh/database-administration.html
sql_max_join_size # 和 max_join_size 同义
sql_modeSTRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # 当前的服务器SQL模式,可以动态设置
http://www.mysqlpub.com/onlinemanual/doc/refman/5.1/zh/database-administration.html
sql_notes # 若是1/on,warning_count数会增加且服务器会记录警告内容,否者不会
http://relay.programfan.info/mysql/146.jsp
sql_quote_show_create # sql_quote_show_create,有两个值(1,0),默认是1,表示表名和列名会用``包着的。
这个服务器参数只可以在session级别设置,不支持global设置的(不支持my.cnf设置)。
http://bbs.chinaunix.net/thread-3709996-1-1.html
sql_safe_updates # 安全模式开关, 在安全模式下,不能直接操作表中的数据。
sql_select_limit # 它决定了执行 SELECT 语句时返回的最大记录数。新连接的默认设置值是“ unlimited (无限)”。
如果它被改变了,可以设定重新设 SQL_SELECT_LIMIT 的值定为 DEFAULT 以将它恢复为默认值。
当 SELECT 语句中有 LIMIT 分句时, LIMIT 优先级高于 SQL_SELECT_LIMIT 的值。
sql_slave_skip_counter # 当slave由于某些错误而导致复制失败的时候,可以使用sql_slave_skip_counter 跳过这个sql语句
sql_warnings # 它决定了在执行单行 INSERT 语句(译者注:一次只有一个 INSERT 语句)发生错误的情况下,是否要报告错误信息。
它的默认值是 0 ,如果设置为 1 ,则会在发生错误时报告错误信息
ssl_ca
ssl_capath
ssl_cert
ssl_cipher
ssl_key
storage_engine #
stored_program_cache
sync_binlog # 每次写入时是否都将binlog与硬盘同步 http://blog.sina.com.cn/s/blog_4d8a2c970100f531.html
sync_frm # 默认为true时,任何非临时表被创建。frm文件同步到磁盘
sync_master_info # 默认为0,如果大于0,每sync_master_info事件 从机同步master.info文件到磁盘后,
sync_relay_log # 默认值0,如果大于0时,服务器中继日志同步到磁盘后,每一个sync_relay_log写入中继日志
sync_relay_log_info # 默认值0,如果大于0,从机同步继电器log.info文件到磁盘后,每sync_relay_log_info交易
system_time_zone
table_definition_cache # 默认400,范围400-524288;可以缓存表定义,它不使用文件描述符
table_open_cache # 默认400;范围400-524288;为所有线程打开表的数量,它需要的文件描述符。
thread_cache_size # 线程缓存大小
thread_concurrency # 线程并发数 http://ju.outofmemory.cn/entry/47334
thread_handling # http://blog.csdn.net/z1988316/article/details/7335937
thread_stack # 每个线程的堆栈大小。用crash-me测试检测出的许多限制取决于该值。 默认值足够大,可以满足普通操作
time_format # 时间格式
time_zone # 当前的时区。初使值是'SYSTEM'(使用system_time_zone的值),但可以用--default-time-zone选项在服务器启动时显式指定。
timed_mutexes # 默认关闭??,当启用时,os_wait_times表示,在操作系统中花费的时间等待。
tmp_table_size20971520 # 内存临时表的大小
tmpdir # 缺省为/ tmp,用于创建临时文件的目录的路径。
transaction_alloc_block_size # 为保存将保存到二进制日志中的事务的查询而分配的内存块的大小(字节)。
transaction_prealloc_size # 为transaction_alloc_blocks分配的固定缓冲区的大小(字节),在两次查询之间不会释放。使该值足够大,
将所有查询固定到一个事务中,可以避免多次malloc()调用。
tx_isolation # mysql 默认的隔离级别
unique_checks # 是否开启唯一性检查 http://www.dedecms.com/knowledge/data-base/mysql/2012/0819/7459.html
updatable_views_with_limit # 该变量控制如果更新包含LIMIT子句,是否可以在当前表中使用不包含主关键字的视图进行更新
http://relay.programfan.info/mysql/146.jsp
version # mysql 版本
version_comment # configure脚本有一个--with-comment选项,当构建MySQL时可以进行注释。该变量包含注释值。
version_compile_machine # MySQL构建的机器或架构的类型
version_compile_os # MySQL构建的操作系统的类型
wait_timeout # 非交互式链接的超时设置
mysql 手册:
http://www.mysqlpub.com/onlinemanual/doc/refman/5.1/zh/database-administration.html
innodb并发相关:
http://blog.itpub.net/15480802/viewspace-1067518/
innodb核心参数解释:
http://www.360doc.com/content/13/1120/17/13159363_330819746.shtml
参数解释手册:
http://www.tuicool.com/articles/EvY3ee
http://www.tuicool.com/articles/m2Uvqa
http://www.hicoogle.com/mysql5-5-database-my-cnf-configuration-file-variable-description.html
相关推荐
目录 ... 1.2、 show global status like ‘Max_used_connections’; 1.3、设置最大连接数值方法: mysqld服务器维护两种变量: 全局变量影响服务器的全局操作。 会话变量影响具体客户端连接
1. 慢查询配置:通过 show variables like '%slow%' 和 show global status like '%slow%' 命令可以获取慢查询的配置信息。从结果中可以看到,慢查询配置中关闭了记录慢查询,而慢查询的阈值设置为 2 秒,共有 279 ...
mysql>show gloable variables like “%timeout%”; 进行查看 interactive_timeout 的黓认值为28800 wait_timeout 的默认值这:120 根据情况增加吧. 这两个值是一个全局变量,可以动态增加,如: mysql> set ...
首先,登录 MySQL,查询插件目录:show global variables like 'plugin_dir';默认 MySQL 的插件目录为 /usr/lib64/mysql/plugin/。接着,将插件文件移动到插件目录,使用 shell 命令将文件修改为可执行文件。 加载...
2. 查看 wait_timeout 参数的值:可以通过 SHOW GLOBAL VARIABLES 命令来查看 wait_timeout 参数的值,例如:mysql> show global variables like 'wait_timeout'; 这将显示当前的 wait_timeout 值。 3. 避免使用 ...
mysql> show global status; 可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句: mysql> show variables; 一、慢查询 mysql> show variables like ‘%slow%’;+——————+——-+| Variable...
- `show GLOBAL status like 'Questions';` 可以查看自 MySQL 启动以来总的查询次数。 - `show global status like 'Uptime';` 可以查看 MySQL 自启动以来的时间。 - 计算公式为: \( QPS = \frac{Questions}{...
11. SHOW VARIABLES: 此命令用于查看MySQL服务器中的配置变量,可以是全局变量(SHOW GLOBAL VARIABLES)或会话变量(SHOW SESSION VARIABLES)。还可以使用LIKE来过滤特定的配置变量,比如以'have%'开头的变量。 ...
SHOW GLOBAL VARIABLES LIKE '%slow_query_log%'; ``` mysql架构的巡检 mysql数据库的架构巡检是非常重要的。我们需要检查mysql的架构配置,以确保mysql数据库的架构正确。例如,我们可以检查mysql的复制同步状态...
命令:show variables like ‘%sc%’; 发现event_sheduler是OFF关闭的; 2. 打开event_scheuler: 临时开启(mysql服务重启后之后失效) SET GLOBAL event_scheduler = ON; SET GLOBAL event_scheduler = 1; — 0代表...
在MySQL数据库管理中,了解服务器的状态信息对于优化数据库性能和排查问题至关重要。...在实际应用中,结合其他性能分析工具,如`SHOW VARIABLES`、`EXPLAIN`等,可以更全面地进行数据库性能调优。
我们可以通过语句查看一下允许的最大包大小:show global variables like 'max_allowed_packet'; MySQL使用最大数据包站站点进行服务器和客户端之间的通信。如果语句包含大字段,则可能由于SQL语句的大小,而被中止...
可以使用 show variables like 'max_connections' 语句来查看 MySQL 服务器的最大连接数。然后,可以使用 show global status like 'Max_used_connections' 语句来查看服务器响应的最大连接数。比较理想的设置是 Max...
- **SHOW GLOBAL VARIABLES**:这是一个MySQL命令,用于显示服务器级别的变量及其当前值。通过对比默认值,可以发现哪些变量被设置了非默认值。 - **INFORMATION_SCHEMA.GLOBAL_VARIABLES**:这是一个系统表,包含了...
`SHOW GLOBAL STATUS`和`SHOW VARIABLES`提供服务器状态和配置信息,`pt-query-digest`等工具可用于分析慢查询。 9. 监控与告警:监控MySQL的CPU、内存、磁盘I/O等资源使用情况,以及监控锁等待、连接数等数据库...
- `SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';`:查看当前设置。 - `SHOW GLOBAL VARIABLES;`:显示所有全局变量。 以上就是从给定的文件信息中整理出的主要知识点,涵盖了MySQL的安装过程及常见操作。
正确答案是检查SHOW GLOBAL VARIABLES的输出并与默认值进行比较。这种方法涉及查询MySQL的内部信息模式数据库,这通常用于诊断和获取关于服务器设置的详细信息。 此外,还提到了在安装MySQL 5.6.13版本时通过RPM包...