MySQL55服务器变量详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

autocommit={0|1}设定MySQL事务是否自动提交,1表示立即提交,0表示需要显式提交。作用范围为全局或会话,可用于配置文件中(但在5.5.8之前的版本中不可用于配置文件),属于动态变量。automatic_sp_privileges={0|1}设定MySQL服务器是否为存储例程的创建赋予其创建存储例程上的EXECUTE和ALTERROUTINE权限,默认为1(赋予此两个权限给其创建者)。作用范围为全局。back_log=#当MySQL的主线程在短时间内收到大量连接请求时,其会花些时间检测已经有线程并为新请求启动新线程,back_log参数的值即为短时间内到达的请求中有多少可以被接受并等待主MySQL线程进行后续处理。作用范围为全局,可以用配置文件,非动态变量。basedir=PATH,-bPATH用于指定MySQL的安装目录,所有其它的常用相对路径都相对于此处的路径而言。作用范围为全局,可用于配置文件中,但属于非动态变量。bind-address=ADDR指定mysqld服务监听的IP地址,默认为0.0.0.0,表示本机已配置的所有IP地址。作用范围为全局,可用于配置文件中,但属于非动态变量。binlog-format={ROW|STATEMENT|MIXED}指定二进制日志的类型,默认为STATEMENT。如果设定了二进制日志的格式,却没有启用二进制日志,则MySQL启动时会产生警告日志信息并记录于错误日志中。作用范围为全局或会话,可用于配置文件,且属于动态变量。buld_insert_buffer_sizeMyISAM引擎使用一个特殊的树状结构的缓存来加速批量插入操作,如INSERT...SELECT,INSERT...VALUES(...),(...),...和LOADDATAINFILE命令完成的插入操作。对于每个线程来说,此buffer的大小是独立的,其配置的数值单位为字节,有效取值范围为0至“2^CPU字长”次方,默认大小为8MB。作用范围为全局或会话,可用于配置文件,属动态变量。chroot=PATH,-rPATH设定MySQL基于chroot模式工作时的工作目录,在安全问题尤为重要的环境中,这是推荐使用的机制。但此时,LOADDATAINFILE等命令的工作可能会受到影响。可用于配置文件。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,-hPATH指定MySQL服务的数据目录。作用范围为全局,可用于配置文件中,但属于非动态变量。default_storage_engine={Engine_Name}设定MySQL服务器的默认存储引擎。MySQL5.5.5版本之前默认为MyISAM,之后的版本默认为InnoDB。作用范围为全局,可用于配置文件,属动态变量。delay-key-write={ON|OFF|ALL}仅用于MyISAM表,且要求在创建表时使用了DELAY_KEY_WRITE选项。在启用时,keybuffer不会在每一次索引更新时都予以清空,而是在表关闭时才执行keybuffer清空操作。OFF表示忽略DELAY_KEY_WRITE,ON表示MySQL接受CREATETABLE时使用的任何DELAY_KEY_WRITE选项,ALL表示所有新打开的表遵循此特性。error-count上一条SQL语句导致的错误信息的数目,此为只读变量。event-scheduler={ON|OFF|DISABLED}设定MySQL服务器是否启用以及否启动EventScheduler。OFF表示停止,此为默认值;ON表示启动,其处于运行状态并执行所有的调度事务;DISABLED表示禁用EventScheduler,即其不能切换为启动状态。作用范围为全局,可用于配置文件,属动态变量。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中已经移除,使用SHOWENGINES可获取此相关信息。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=STRINGmysqld服务器启动时将主机名称赋值给此变量。作用范围为全局,属非动态变量。identitylast_insert_id变量的同义词,其存在的主要目的是为了兼容其它数据库系统。会话级别的变量。init_connect=STRING设定在每个客户端与mysqld建立连接时事先执行的一个或多个(彼此间用分号隔开)SQL语句,但对于具有SUPER权限的用户来说,此功能无效。例如,在5.5.8之前的MySQL中尚未出现autocommit变量,此时若要为每位用户默认禁用autocommit功能,就可以在mysqld的配置文件中使用init_connect='SETautocommit=0'来实现,当然也可以使用SETGLOBALinit_connect='SETautocommit=0';命令完成。作用范围为全局级别,可用于配置文件,属动态变量。init-file=/PATH/TO/SOMEFILE定义在mysqld启动时使用的初始化文件,此文件每行包含一个单独的SQL语句(不能有注释,不需要且不能使用语句结束符),并会在mysqld启动时逐个执行。insert_id为某表中设定了AUTO_INCREMENT的字段执行INSERT或ALTER_TABLE语句时将使用此变量的值。主要为二进制日志所用。interactive_timeout=#mysqld进程等待一个已经建立连接的交互式客户端的后续命令之前所经过的秒数,默认为28800。作用范围为全局或会话级别,用于配置文件,属动态变量。join_buffer_size=#mysqld用于平面索引扫描(plainindexscans)、范围索引扫描或不使用索引的全表扫描时所能够使用的最小缓冲。正常情况下,添加索引是加快连接执行速度的有效手段,而无法添加索引时,增大join_buffer_size的值可以加快完全连接的执行速度。两表之间的每个完全连接会使用一个单独的joinbuffer,多表之间的非基于索引的复杂完全连接则有可能使用多个joinbuffer。将此变量值设定的大过每个匹配的行的大小等并不能带来太多的益处,因此,不应该在全局范围内将此值设定的过大。建议使用较小的全局设定,只为需要的会话中使用较大连接时设定较大值。其最大值取决平台,如32bit平台上的最大值为4G。keep_files_on_create={ON|OFF}此项默认值为OFF。创建MyISAM类型的表时,mysqld会在数据目录中为其创建一个.MYD文件和一个.MYI文件,如果数据目录中已经存在一个同名的文件,默认设定为覆盖操作,当设定此变量为OFF时,则会返回一个错误信息。作用范围为全局或会话级别,可用于配置文件,属动态变

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功