autocommit={0|1}html
设定MySQL事务是否自动提交,1表示当即提交,0表示须要显式提交。做用范围为全局或会话,可用于配置文件中(但在5.5.8以前的版本中不可用于配置文件),属于动态变量。mysql
automatic_sp_privileges={0|1}算法
设定MySQL服务器是否为存储例程的建立赋予其建立存储例程上的EXECUTE和ALTER ROUTINE权限,默认为1(赋予此两个权限给其建立者)。做用范围为全局。sql
back_log=#数据库
当MySQL的主线程在短期内收到大量链接请求时,其会花些时间检测已经有线程并为新请求启动新线程,back_log参数的值即为短期内到达的请求中有多少能够被接受并等待主MySQL线程进行后续处理。做用范围为全局,能够用配置文件,非动态变量。缓存
basedir=PATH, -b PATH安全
用于指定MySQL的安装目录,全部其它的经常使用相对路径都相对于此处的路径而言。做用范围为全局,可用于配置文件中,但属于非动态变量。服务器
bind-address=ADDR并发
指定mysqld服务监听的IP地址,默认为0.0.0.0,表示本机已配置的全部IP地址。做用范围为全局,可用于配置文件中,但属于非动态变量。ide
binlog-format={ROW|STATEMENT|MIXED}
指定二进制日志的类型,默认为STATEMENT。若是设定了二进制日志的格式,却没有启用二进制日志,则MySQL启动时会产生警告日志信息并记录于错误日志中。做用范围为全局或会话,可用于配置文件,且属于动态变量。
buld_insert_buffer_size
MyISAM引擎使用一个特殊的树状结构的缓存来加速批量插入操做,如INSERT...SELECT, INSERT...VALUES(...),(...),...和LOAD DATA INFILE命令完成的插入操做。对于每一个线程来讲,此buffer的大小是独立的,其配置的数值单位为字节,有效取值范围为0至“2^CPU字长”次方,默认大小为8MB。做用范围为全局或会话,可用于配置文件,属动态变量。
chroot=PATH, -r PATH
设定MySQL基于chroot模式工做时的工做目录,在安全问题尤其重要的环境中,这是推荐使用的机制。但此时,LOAD DATA INFILE等命令的工做可能会受到影响。可用于配置文件。
console
仅用于Windows平台的选项,用于实现将错误日志信息发送至标准输入和错误输出,即便配置了--log-error选项,此功能也同样有效。
concurrent_insert={NEVER|AUTO|ALWAYS} 或分别使用{0|1|2}
设定是否容许在MyISAM表上并行执行INSERT和SELECT语句。做用范围为全局,可用于配置文件,属动态变量。
connect_timeout=#
mysqld服务器端在响应“失败的握手操做”信息给客户端以前所等待的秒数,默认为10秒。做用范围为全局,可用于配置文件,属动态变量。
core-file
当MySQL进程宕掉时将信息保存为一个core文件,在Linux平台上,core文件一般被保存至当前进程的工做目录中,并命名为core.pid,其文件名后缀pid为当前进程的进程号;对MySQL而言,保存目录为数据文件目录。
datadir=PATH, -h PATH
指定MySQL服务的数据目录。做用范围为全局,可用于配置文件中,但属于非动态变量。
default_storage_engine={Engine_Name}
设定MySQL服务器的默认存储引擎。MySQL 5.5.5版本以前默认为MyISAM,以后的版本默认为InnoDB。做用范围为全局,可用于配置文件,属动态变量。
delay-key-write={ON|OFF|ALL}
仅用于MyISAM表,且要求在建立表时使用了DELAY_KEY_WRITE选项。在启用时,key buffer不会在每一次索引更新时都予以清空,而是在表关闭时才执行key buffer清空操做。OFF表示忽略DELAY_KEY_WRITE,ON表示MySQL接受CREATE TABLE时使用的任何DELAY_KEY_WRITE选项,ALL表示全部新打开的表遵循此特性。
error-count
上一条SQL语句致使的错误信息的数目,此为只读变量。
event-scheduler={ON|OFF|DISABLED}
设定MySQL服务器是否启用以及否启动Event Scheduler。OFF表示中止,此为默认值;ON表示启动,其处于运行状态并执行全部的调度事务;DISABLED表示禁用Event Scheduler,即其不能切换为启动状态。做用范围为全局,可用于配置文件,属动态变量。
expire_logs_days={0..99}
设定二进制日志的过时天数,超出此天数的二进制日志文件将被自动删除。默认为0,表示不启用过时自动删除功能。若是启用此功能,自动删除工做一般发生在MySQL启动时或FLUSH日志时。做用范围为全局,可用于配置文件,属动态变量。
external_user=name
在MySQL服务器上基于认证插件进行用户认证时,此插件会把发起链接请求用户看成另外一个用户以达到权限检查的目的,这样可使得外部用户做第二用户的代理用户,并拥有第二用户的全部权限。当使用MySQL的内部认证机制或没有插件为其设定值时,此变量的值为NULL。做用范围为会话级别,不可用于配置文件,属非动态变量。
flush={ON|OFF}
设定MySQL服务器是否单独为每一个SQL语句执行数据同步(将数据写入磁盘)。正常状况下,MySQL为每一个语句执行数据同步工做,并将后续的同步过程交由操做系统完成。默认为OFF。做用范围为全局,可用于配置文件,属动态变量。
flush-time={0..}
为非0值时,MySQL服务器会将全部打开的表每隔flush_time指定的时长进行关闭,使用其释放全部资源并将数据同步至磁盘中。只有在系统资源极其稀缺的状况下才须要启用此功能。默认值是0,即为禁用此功能。做用范围为全局,可用于配置文件,属动态变量。
foreign-key-checks={0|1}
设定是否为InnoDB表查检外键约束,默认为1,即检查。在不确保按原有顺序从新装载全部InnoDB表时,禁用此功能会避免外键约束的反作用。
general_log={ON|OFF}
设定是否启用查询日志,默认值为取决于在启动mysqld时是否使用了--general_log选项。如若启用此项,其输出位置则由--log_output选项进行定义,若是log_output的值设定为NONE,即便用启用查询日志,其也不会记录任何日志信息。做用范围为全局,可用于配置文件,属动态变量。
general_log_file=FILE_NAME
查询日志的日志文件名称,默认为“hostname.log"。做用范围为全局,可用于配置文件,属动态变量。
group_concat_max_len={4..}
设定GROUP_CONCAT()函数返回值的最大长度,默认为1024。有效取值范围为4至“2^CPU字长”次方。做用范围为全局或会话级别,用于配置文件,属动态变量。
have-compress={YES|NO}
zlib压缩库是否能为MySQL服务器所用。当其值为NO时,COMPRESS()和UNCOMPRESS()函数均不可用。
have_crypt={YES|NO}
crypt()系统调用是否可为MySQL服务器所用。当其值为NO时,ENCRYPT()函数则不可用。
have_csv={YES|NO}
mysqld支持CSV引擎时为YES,不然为NO。
have_dynamic_loading={YES|NO}
mysqld支持动态加载插件时为YES,不然为NO。
have_geometry={YES|NO}
mysqld支持空间数据类型时为YES,不然为NO。
have_innodb={YES|NO}
mysqld支持InnoDB存储引擎时为YES,不然为NO。
have_openssl={YES|NO}
此为have_ssl选项的别名;
have_ssl={YES|NO}
mysqld支持SSL链接时为YES,不然为NO。DISABLED表示mysqld编译时启用了对SSL的支持,但在启动mysqld时没能使用正确的ssl-xxx类(如ssl_cert)的选项。
have_partitioning={YES|NO}
mysqld是否支持partitioning,此选项已经基本废弃,且在MySQL-5.6中已经移除,使用SHOW ENGINES可获取此相关信息。
have_profiling={YES|NO}
mysqld支持语句性能分析时则为YES,不然为NO。若是支持profiling功能,则--profiling变量则用于控制是否启动此功能。
have_query_cache={YES|NO}
mysqld支持查询缓存则为YES,不然为NO。
have_rtree_keys={YES|NO}
mysqld支持RTREE索引则为YES,不然为NO。RTREE索引用于MyISAM表的空间索引。
have_symlink={YES|NO}
mysqld支持符号连接则为YES,不然为NO。在Unix主机上,此功能对数据目录和索引目录有用。
hostname=STRING
mysqld服务器启动时将主机名称赋值给此变量。做用范围为全局,属非动态变量。
identity
last_insert_id变量的同义词,其存在的主要目的是为了兼容其它数据库系统。会话级别的变量。
init_connect=STRING
设定在每一个客户端与mysqld创建链接时事先执行的一个或多个(彼此间用分号隔开)SQL语句,但对于具备SUPER权限的用户来讲,此功能无效。例如,在5.5.8以前的MySQL中还没有出现autocommit变量,此时若要为每位用户默认禁用autocommit功能,就能够在mysqld的配置文件中使用init_connect='SET autocommit=0'来实现,固然也可使用SET GLOBAL init_connect='SET autocommit=0';命令完成。做用范围为全局级别,可用于配置文件,属动态变量。
init-file=/PATH/TO/SOMEFILE
定义在mysqld启动时使用的初始化文件,此文件每行包含一个单独的SQL语句(不能有注释,不须要且不能使用语句结束符),并会在mysqld启动时逐个执行。
insert_id
为某表中设定了AUTO_INCREMENT的字段执行INSERT或ALTER_TABLE语句时将使用此变量的值。主要为二进制日志所用。
interactive_timeout=#
mysqld进程等待一个已经创建链接的交互式客户端的后续命令以前所通过的秒数,默认为28800。做用范围为全局或会话级别,用于配置文件,属动态变量。
join_buffer_size=#
mysqld用于平面索引扫描(plain index scans)、范围索引扫描或不使用索引的全表扫描时所可以使用的最小缓冲。正常状况下,添加索引是加快链接执行速度的有效手段,而没法添加索引时,增大join_buffer_size的值能够加快彻底链接的执行速度。两表之间的每一个彻底链接会使用一个单独的join buffer,多表之间的非基于索引的复杂彻底链接则有可能使用多个join buffer。将此变量值设定的大过每一个匹配的行的大小等并不能带来太多的益处,所以,不该该在全局范围内将此值设定的过大。建议使用较小的全局设定,只为须要的会话中使用较大链接时设定较大值。其最大值取决平台,如32bit平台上的最大值为4G。
keep_files_on_create={ON|OFF}
此项默认值为OFF。建立MyISAM类型的表时,mysqld会在数据目录中为其建立一个.MYD文件和一个.MYI文件,若是数据目录中已经存在一个同名的文件,默认设定为覆盖操做,当设定此变量为OFF时,则会返回一个错误信息。做用范围为全局或会话级别,可用于配置文件,属动态变量。
key_buffer_size=#
全部线程共享的、用于MyISAM表的索引缓冲空间大小,其也一般被称做key cache。在32位平台上其最大值为4G,64位平台上容许使用更大的值,但较为有效的值取决于可用物理RAM资源的大小和每进程可用RAM大小的限制。mysqld启动时会尽量分配接近于指定大小的RAM空间给key_buffer_size,而非必定是指定大小。增大此值能够加速读写操做时对索引的处理速度,所以,在一个以MyISAM为主要表类型的应用场景中能够将此值设定到物理内存空间的25%,然而,比此者再大的值则反而可能引发系统性能降低了,好比设定到物理内容间的50%时则可能带来严重的性能问题。更况且,还须要考虑其它类型存储引擎对内存的须要。
当向表中同时插入多行数据时,使用LOCK TABLES会加速其执行过程。固然,也能够观察SHOW STATUS命令输出中的Key_read_requests, Key_reads, Key_write_requests和Key_writes值也断定mysqld的性能表现。正常状况下,Key_reads/Key_read_requests的比值应该小于0.01,而Key_writes/Key_write_requests的比值一般会接近于1,不过在启用了DELAY_KEY_WRITE选项的场景中,这个比值可能会更小。
key_cache_block_size=#
MyISAM存储引擎的索引存放于“.MYI”文件中,每一个“.MYI”文件由文件头和实际的索引数据共同组成。在“.MYI”的相关概念中,其逻辑上表现为多个Index Block,但并不是物理结构。在物理上,索引是以文件块(File Block)的形式来存放在磁盘上面的。在Key Cache中缓存的索引信息是以缓存块(Cache Block)的形式组织存放的,缓存块是一组相同大小的存储空间,和“.MYI”文件物理存储的Block(File Block)相似。
在一条查询语句经过索引检索表数据的时候,首先会检查索引缓存(key_buffer_cache)中是否已经存储了须要的索引信息,若是没有,则会读取“.MYI”文件,将相应的索引数据读入Key Cache中的内存空间中,并存储为缓存块格式。此时,若是整个Key Cache中已经没有空闲的缓存块空间可使用的话,mysqld将会经过LRU算法将某些缓存块予以清除。
key_cache_block_size参数则用于设定cache block的大小,默认为1024。做用范围为全局级别,可用于配置文件,属动态变量。
key_cache_division_limit=#
实际上,在MySQL的Key Cache中所使用的LRU算法并不像传统的算法同样仅仅只是经过访问频率以及最后访问时间来经过一个惟一的链表实现,而是将其分红了两部分。一部分用来存放使 用比较频繁的Hot Cache Lock(Hot Chain),被称做Hot Area,另一部分则用来存放使用不太频繁的Warm Cache Block(Warm Chain),也被称做Warm Area。这样作的目的主要是为了保护使用比较频繁的Cache Block更不容易被换出。而key_cache_division_limit参数则正是用于告诉MySQL该如何划分整个Cache Chain划分为Hot Chain和Warm Chain两部分,参数值为Warm Chain占整个Chain 的百分比值。设置范围1~100,系统默认为100,也就是只有Warm Chain。
key_cache_age_threshold=#
控制Hot Area中的Cache Block什么时候该被降级到Warm Area中。系统默认值为300,最小能够设置为100。值越小,被降级的可能性越大。
large_files_support={YES|NO}
mysqld是否在编译时的编译选项中指定了支持大文件。其做用域为全局,为非动态变量。
large_pages={YES|NO}
Linux平台上专用的参数,用于设定mysqld是否支持使用大内存页。使用大内存而能够提升TLB的命中率,进行提升系统性能。其做用域为全局,能够用于配置文件中,为非动态变量。
large_page_size=#
Linux平台上专用的参数,用于设定mysqld使用的大内存页的大小,通常为4MB,在其它平台上此参数的值为0,即为禁用。其做用域为全局,为非动态变量。
last_insert_id
此参数的值由LAST_INSERT_ID()函数返回,在更新表的语句中使用LAST_INSERT_ID()时其对应的确切值会存储于二进制日志中。
lc_messages=STRING
错误信息的区域设定(即语言区域),mysqld将此值转换为语言名称,并结合lc_messages_dir参数指定的路径中的区域相关的语言文件来返回错误信息。做用范围为全局或会话级别,可用于配置文件,属动态变量。
lc_messages_dir=/PATH/TO/SOME_DIR
错误信息的存储目录,经过与lc_messages参数设定的语言区域来返回错误信息。做用范围为全局或会话级别,可用于配置文件,属动态变量。
lc_time_names=STRING
设定基于语言区域来显示日、月及其简写方式等日期信息的语言区域,其值如en_US等,但与系统的locale无关。此设定将影响DATE_FORMAT(), DAYNAME()和MONTHNAME()函数的输出结果。做用范围为全局或会话级别,属动态变量。
local_infile={YES|NO}
设定mysqld是否支持使用LOAD DATA INFILE语句。默认为ON。做用范围为全局级别,属动态变量。
local_wait_timeout=#
以秒为单位设定全部SQL语句等待获取元数据锁(metadata lock)的超时时长,默认为31536000(1年),有效取值范围为0-31536000。其影响的SQL语句包括用于表、视图、存储过程和存储函数的DML和DDL语句,以及LOCK TABLES、FLUSH TABLES WITH READ LOCK和HANDLER语句等。但其做用的全部对象不包括mysql数据库中的系统表及用于记录日志的表上的GRANT或REVOKE语句,但包括SELECT或UPDATE语句。
另外,此超时时长分别应用于每一个元数据锁,所以,一个语句可能会持有多个元数据锁,那么其最后的生效超时时长有可能会长时这个设定值。做用范围为全局或会话级别,可用于配置文件,属动态变量。
locked_in_memory={YES|NO}
mysqld是否使用--memlock选项锁定在了内存中。做用范围为全局级别,属非动态变量。
log={YES|NO}
是否启用记录全部语句的日志信息于通常查询日志(general query log)中,默认一般为OFF。MySQL 5.6已经弃用此选项。
log-bin={YES|NO}
是否启用二进制日志,若是为mysqld设定了--log-bin选项,则其值为ON,不然则为OFF。其仅用于显示是否启用了二进制日志,并不反应log-bin的设定值。做用范围为全局级别,属非动态变量。
log_bin_trust_function_creators={TRUE|FALSE}
此参数仅在启用二进制日志时有效,用于控制建立存储函数时若是会致使不安全的事件记录二进制日志条件下是否禁止建立存储函数。默认值为0,表示除非用户除了CREATE ROUTING或ALTER ROUTINE权限外还有SUPER权限,不然将禁止建立或修改存储函数,同时,还要求在建立函数时必需为之使用DETERMINISTIC属性,再否则就是附带READS SQL DATA或NO SQL属性。设置其值为1时则不启用这些限制。做用范围为全局级别,可用于配置文件,属动态变量。
log_error=/PATH/TO/ERROR_LOG_FILENAME
定义错误日志文件。做用范围为全局或会话级别,可用于配置文件,属非动态变量。
log_output={TABLE|FILE|NONE}
定义通常查询日志和慢查询日志的保存方式,能够是TABLE、FILE、NONE,也能够是TABLE及FILE的组合(用逗号隔开),默认为TABLE。若是组合中出现了NONE,那么其它设定都将失效,同时,不管是否启用日志功能,也不会记录任何相关的日志信息。做用范围为全局级别,可用于配置文件,属动态变量。
log_query_not_using_indexes={ON|OFF}
设定是否将没有使用索引的查询操做记录到慢查询日志。做用范围为全局级别,可用于配置文件,属动态变量。
log_slave_updates
用于设定复制场景中的从服务器是否将从主服务器收到的更新操做记录进本机的二进制日志中。本参数设定的生效须要在从服务器上启用二进制日志功能。
log_slow_queries={YES|NO}
是否记录慢查询日志。慢查询是指查询的执行时间超出long_query_time参数所设定时长的事件。MySQL 5.6将此参数修改成了slow_query_log。做用范围为全局级别,可用于配置文件,属动态变量。
log_warnings=#
设定是否将警告信息记录进错误日志。默认设定为1,表示启用;能够将其设置为0以禁用;而其值为大于1的数值时表示将新发起链接时产生的“失败的链接”和“拒绝访问”类的错误信息也记录进错误日志。
long_query_time=#
设定区别慢查询与通常查询的语句执行时间长度。这里的语句执行时长为实际的执行时间,而非在CPU上的执行时长,所以,负载较重的服务器上更容易产生慢查询。其最小值为0,默认值为10,单位是秒钟。它也支持毫秒级的解析度。做用范围为全局或会话级别,可用于配置文件,属动态变量。
low_priority_updates={TRUE|FALSE}
设定是否下降更新操做的优先级,仅对只支持表级别锁的存储引擎有效,如MyISAM、MEMORY或MERGE。其值为1则表示全部的INSERT、UPDATE、DELETE或LOCK TABLE WRITE语句只能在没有等待执行的SELECT或LOCK TABLE READ语句时才能执行。做用范围为全局或会话级别,可用于配置文件,属动态变量。
lower_case_file_system={ON|OFF}
用于描述数据目录所在的文件系统是否区分文件名称字符大小写,OFF表示区分大小写,ON表示不区分大小写。此变量是只读的,其是否区分大小写取决于文件系统。
lower_case_table_name={0|1|2}
设定是否区分表、表别名或者数据库名称中的字符大小写。0表示区分大小写,1表示不区分大小写且一概存储为小写字符,2表示按给定的大小写进行存储但不区分大小写。对于自己不支持区分文件名称大小写功能的文件系统来说,不该该设定为0值;而在设定为0值的系统上,对于MyISAM存储引擎来讲,使用大小写不对应的名称进行访问可能会致使索引文件崩溃。Windows系统上,其默认值为1,Mac OS X上其默认值为2。
对于InnoDB存储引擎来讲,应该将其设定为1,不管基于什么平台。同时,也不该该为主从复制集群中的主机使用不一样的设定,否则,其可能致使复制失败。做用范围为全局级别,可用于配置文件,属非动态变量。
max_allowed_packet={YES|NO}
设定单个报文或任何中间字符串(intermediate string)的最大长度,单位是字节。报文消息缓冲由net_buffer_length参数进行设定,但其最终能够按需增加至max_allowed_packet参数设定的大小。此参数的默认值较小,在使用了BLOB列或长字符串的场景中,应该增大其值至能容纳最大BLOB数据的长度。协议自己限定此值最大为1G,参数只接受1024整数倍的数值,非1024的整数倍将会被自动圆整至离其最近的1024整数倍的数值。
最终生效的报文长度还取决于客户端的设定。客户端程序如mysql或mysqldump的默认设定为1G。做用范围为全局级别,可用于配置文件,属动态变量。
max_connect_errors=#
设定客户端链接至mysqld时的最大错误尝试次数。在某客户端尝试链接当前mysqld的错误次数链接达到max_connect_errors所设定的值时,其后续的链接尝试将被直接阻止。管理员能够经过FLUSH HOSTS语句或mysqladmin flush-hosts命令清空主机缓存(host cache)来解除对此前阻止主机的访问锁定。若是某客户端的在其错误尝试次数达到此参数设定的值以前成功创建了链接,其错误尝试次数的计数器将会被清空。做用范围为全局级别,可用于配置文件,属动态变量。
max_connections=#
设定mysqld容许客户端同时发起的最大并发链接数。增长此值将增长mysqld进程须要同时访问的文件描述符数目。做用范围为全局级别,可用于配置文件,属动态变量。
max_delayed_threads=#
设定为INSERT DELAYED语句所可以启动的最大线程数。若是当前相关的线程数目已经达到此参数所设定的值,后续的INSERT DELAYED语句将无视其DELAYED属性。若是将其值高精为0,mysqld将不为INSERT DELAYED建立任何线程,即禁用DELAYED功能。做用范围为全局级别,可用于配置文件,属动态变量。
max_error_count=#
设定为SHOW ERRORS或SHOW WARNINGS语句所保留的关于错误、警告或注意信息条目的最大数。做用范围为全局或会话级别,可用于配置文件,属动态变量。
max_heap_table_size=#
设定每一个用户建立的MEMORY表所可以使用的最大内存空间。修改其值对当前已经建立的MEMORY表没有影响,除非使用CREATE TABLE、ALTER TABLE或TRUNCATE TABLE对表进行了重建。其最在小值为16384,单位是字节。最大值受限于平台字长,如32位平台为4G。此参数与tmp_table_size参数联合使用可用于限制内部内存表的大小。另外,max_heap_table_size不会被复制。做用范围为全局或会话级别,可用于配置文件,属动态变量。
max_insert_delayed_threads=#
max_delayed_threads的同义词。做用范围为全局级别,动态变量。
max_join_size=#
设定SELECT语句执行时所可以检查的行数(单表)或行组合(多表查询)的最大值。此参数能够阻止对键的错误使用而致使的须要执行较长时间的查询操做,所以,其尤为适用于有用户常用不带WHERE子句的查询场景中。有效取值范围为1-18446744073709551615,默认为18446744073709551615,这能够被理解为不限制。做用范围为全局或会话级别,可用于配置文件,属动态变量。
max_length_for_sort_data=#
filesort算法改进版所可以使用的字段最大长度值。有效取值范围是4-8388608。MySQL的filesort算法有两个版本,即原始版本和修改版本,字段长度大于max_length_for_sort_data设定的将使用原始版本,小于此参数值的则使用修改版本在排序缓冲(sort buffer)中完成排序。在使用超出字段超出指定长度时使用修改版本算法,因为可能须要更多的I/O操做,将会致使修改版算法执行速度更慢,而不是更快。做用范围为全局或会话级别,可用于配置文件,属动态变量。
max_long_data_size=#
设定能够由mysql_stmt_send_long_data()这个C API函数所传送的参数值的最大长度,若是没有在mysqld启动时设定,其默认为max_allowed_packet变量的值。MySQL 5.6已经弃用此变量。 做用范围为全局级别,可用于配置文件,属非动态变量。
max_prepared_stmt_count={0..1048576}
设定mysqld所容许的全部链接会话中执行的准备语句的总数。大量的准备语句同时执行会消耗大量的内存资源,这会带来潜在的“拒绝服务”的风险,所以,应该根据生产须要仔细设定此参数的值。若是新设定的值低于目前已经打开的准备语句总数,其不会对原有的语句产生影响,但再也不接受新的执行请求,直到有新的空余额度。默认值是16382,0表示禁用准备语句。做用范围为全局级别,可用于配置文件,属动态变量。
max_relay_log_size={4096..1073741824}
设定从服务器上中继日志的体积上限,到达此限度时其会自动进行中继日志滚动。此参数值为0时,mysqld将使用max_binlog_size参数同时为二进制日志和中继日志设定日志文件体积上限。做用范围为全局级别,可用于配置文件,属动态变量。
max_seeks_for_key={1 .. 18446744073709547520}
设定基于某key执行查询时所容许的最大查找次数。在经过扫描索引的方式在某表中搜寻与查询条件匹配的行时,不管其索引的基数是什么,MySQL优化器都会假定其查找次数不须要超过此参数设定的数值。较小的值能够强制MySQL更倾向于索引扫描而非表扫描。做用范围为全局或会话级别,可用于配置文件,属动态变量。
max_sort_length={4 .. 8388608}
设定mysqld执行数值排序时所使用的字节数,剩余的将被忽略。做用范围为全局级别,可用于配置文件,属动态变量。
max_sp_recoursion_depth={0 .. 255}
设定存储过程可被递归调用的最大次数。递归调用会增大对线程栈空间的须要,所以,增大此参数的值,可能还须要在启动时调整thread_stack参数的值。默认值为0,表示禁止递归;最大值为255。做用范围为全局级别,可用于配置文件,属动态变量。
max_user_connections={ 0 .. 4294967295 }
设定单个用户容许同时向mysqld发起的最大并发链接请求个数。默认值为0,表示无上限。可为mysqld为此参数指定全局(GLOBAL)参数值,也可将某用户账号的此参数值设定为只读觉得其设定有效并发上限(经过GRANT语句实现)。这意味着,若是用户的此参数有个非0值,则以此限定为准;不然,mysqld会将用户的此参数值设定为全局值。做用范围为全局或会话级别,可用于配置文件,属动态变量。
max_write_lock_count=#
mysqld已施加的写锁个数达到此参数值指定的个数时,将容许处理一些挂起的读请求。其最小值为1,最大值取决于平台字长。做用范围为全局级别,属非动态变量。
metadata_locks_cache_size={1 .. 1048576}
设定mysqld元数据锁缓存的上限。此缓存可用来避免建立或销毁同步对象(synchronization object),这对于此类操做代价较高的操做系统(如Windows XP)来讲尤其有用。默认值为1024。做用范围为全局级别,属非动态变量。
min_examined_row_limit=#
所检查的行数低于此参数设定的数值的查询操做将不被记入慢查询日志。默认值为0,最大值取决于平台字长。做用范围为全局或会话级别,可用于配置文件,属动态变量。
myisam_data_point_size={2 .. 7}
建立MyISAM表时若是没有设定MAX_ROWS选项,则经过此参数设定其默认指针的大小,单位为字节。默认值是6。做用范围为全局级别,可用于配置文件,属动态变量。
myisam_max_sort_file_size=#
设定在MySQL在使用REPARE TABLE、ALTER TABLE或LOAD DATA INFILE命令时为MyISAM表从新建立索引所可以使用的临时文件的体积上限,单位是字节。若是临时文件的大小大过了此上限值,则mysqld会使用key cache建立索引。默认值是2G,而若是MyISAM索引文件自己大过此值且其所在的文件系统有足够的空闲空间,增大此值会提高MySQL性能。做用范围为全局级别,可用于配置文件,属动态变量。
myisam_mmap_size=#
设定基于内存映射压缩MyISAM文件时可使用的内存上限。在有着不少压缩格式MyISAM表的场景中,下降此值能够帮助减小出现内存交换的可能性。其最小值为7,默认值和最大值取决于平台位数。做用范围为全局级别,可用于配置文件,属非动态变量。
myisam_recover_options
用于保存mysqld命令行选项--myisam-revover-options的值。此选项用于设定MyISAM存储引擎的恢复模式,其可接受的值有OFF、DEFAULT(恢复模式,但无备份、强制或快速检测)、BACKUP(若是恢复过程当中数据发生了改变,则将原表文件备份为table_name-datatime.BAK)、FORCE(强制恢复,哪怕会丢失数据)和QUICK(快速修复),能够以逗号为分隔为此选项同时指定多个值。也能够不为其提供任何参数值,默认为DEFAULT,而“”则表示为OFF,即禁用恢复模式。
若是启用恢复模式,mysqld每次打开一个MyISAM表时都会检测其是否标记为损坏或非正常关闭。若是损坏,则mysqld会尝试修复它;若是为非正常关闭,mysqld将会对其进行检测。
myisam_repair_threads=#
在经过排序修复过程当中为MyISAM表建立索引的线程的个数,默认为1;若是给定大于1的值,则能够启动多个并行建立索引的线程(每一个索引只能由一个线程建立)。最大值取决于平台位数。做用范围为全局或会话级别,可用于配置文件,属动态变量。
myisam_sort_buffer_size=#
在REPAIR TABLE过程当中,或经过CREATE INDEX/ALTER TABLE为MyISAM表添加索引时为了对索引排序所可以使用的缓冲空间大小。最小值为4,32位系统上所可以使用的最大值为4294967295,即4G;64位系统上可使用更大的空间。做用范围为全局或会话级别,可用于配置文件,属动态变量。
myisam_stats_method={nulls_equal|nulls_unequal|nulls_ignored}
定义在为MyISAM表收集索引分布相关的统计信息时处理NULL值的方式。nulls_equal表示全部的NULL值都视做相同值,nulls_unequal表示全部的NULL值都视做不一样值,nulls_ignored表示全部的NULL值都将被忽略。做用范围为全局或会话级别,可用于配置文件,属动态变量。
myisam_use_mmap={ON|OFF}
在读写MyISAM表时可否使用内存映射。默认值为OFF。做用范围为全局级别,可用于配置文件,属动态变量。
net_buffer_length={1024 .. 1048576}
每一个客户端线程都有一个链接缓冲(connection buffer)和一个结果缓冲(result buffer),此参数能够设定这两个缓冲的大小,但它们均可以按需动态增加至max_allowed_packet参数所设定的大小。但每一个SQL语句完成后,结果缓冲都会收缩至net_buffer_length参数所定义的大小。通常说来不须要修改此参数的值,除非是内存资源较吃紧的场景中能够将其调小至客户端预期的SQL语句长度。如SQL语句超出此长度,链接缓冲会自动调节其值。其默认值为16384,单位是字节。做用范围为全局或会话级别,可用于配置文件,属动态变量,但对于会话级别来讲,此变量是只读的。
net_read_timeout=#
设定mysqld等待从客户端接收更多数据的超时时长,默认值为30。做用范围为全局和会话级别,可用于配置文件,属动态变量。
net_write_timeout=#
设定mysqld等待向客户端传输数据的超时时长,默认值为60。做用范围为全局和会话级别,可用于配置文件,属动态变量。
net_retry_timeout=#
设定mysqld与客户端的通信中断时,其停止与客户端的链接以前须要重试的次数。默认值为10,其最大取值取决于平台位数。做用范围为全局和会话级别,可用于配置文件,属动态变量。
new={ON|OFF}
用于MySQL 4.0中以启用支持MySQL 4.1版本上的某些新特性的能力,但仍然能够保持向后兼容。在MySQL 5.5无须设置,故其值为OFF。
old={ON|OFF}
用于定义兼容老版本MySQL的变量,默认是禁用的,但能够在mysqld启动时将其启用以兼容较老的MySQL版本。
参考连接 http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_insert_id
做者原创,开源文档。转载请务必保留此连接,http://mageedu.blog.51cto.com。
本文出自 “马哥Linux培训” 博客,转载请与做者联系!