欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL 5.5 服务器变量详解(一)

程序员文章站 2022-05-19 09:19:22
...

autocommit={0|1}设定MySQL事务是否自动提交,1表示立即提交,0表示需要显式提交。作用范围为全局或会话,可用于配置文件中(但在5.5.8之前的版本中不可用于配置

autocommit={0|1}

设定MySQL事务是否自动提交,1表示立即提交,0表示需要显式提交。作用范围为全局或会话,可用于配置文件中(但在5.5.8之前的版本中不可用于配置文件),属于动态变量。

automatic_sp_privileges={0|1}

设定MySQL服务器是否为存储例程的创建赋予其创建存储例程上的EXECUTE和ALTER ROUTINE权限,默认为1(赋予此两个权限给其创建者)。作用范围为全局。

back_log=#

当MySQL的主线程在短时间内收到大量连接请求时,其会花些时间检测已经有线程并为新请求启动新线程,back_log参数的值即为短时间内到达的请求中有多少可以被接受并等待主MySQL线程进行后续处理。作用范围为全局,可以用配置文件,非动态变量。

basedir=PATH, -b PATH

用于指定MySQL的安装目录,所有其它的常用相对路径都相对于此处的路径而言。作用范围为全局,可用于配置文件中,但属于非动态变量。

bind-address=ADDR

指定mysqld服务监听的IP地址,默认为0.0.0.0,表示本机已配置的所有IP地址。作用范围为全局,可用于配置文件中,但属于非动态变量。

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