mysql系统变量(下)

70read_only                               | OFF

当变量对复制从服务器设置为ON时,从服务器不允许更新,除非通过从服务器的线程或用户拥有SUPER权限。可以确保从服务器不接受客户端的更新命令。

READ_ONLY不适用临时表,也防止服务器日志表插入行,这个变量并不妨碍分析TABLEOPTIMIZE TABLE命令语句的使用,因为其目的是为了防止表的结构或内容的变化。

READ_ONLY只存在一个全局变量,所以需要SUPER权限才能改变其值。在主服务器上的设置为READ_ONLY不会被复制到从服务器。可以在主从服务器上分开、独立的设置READ_ONLY的值。

作用域:全局

默认是:false

------------------------------------------------------------------------------------------

71 read_rnd_buffer_size                    | 262144

当排序后按排序后的顺序读取行时,则通过该缓冲区读取行,避免搜索硬盘。将该变量设置为较大的值可以大大改进ORDER BY的性能。但是,这是为每个客户端分配的缓冲区,因此你不应将全局变量设置为较大的值。相反,只为需要运行大查询的客户端更改会话变量。

作用域:全局、会话

默认262144

值域:8200~ 4294967295

------------------------------------------------------------------------------------------

72relay_log_index                         |

使用的中继日志索引文件的名称。默认名称是HOST_NAM_relay_bin.index数据目录中,其中host_name是从服务器的名称。

如果指定此选项,指定的值也被用作中继日志的主档名。

作用域:全局、会话

值:文件名

ps笔者这里没有中继日志,所以为空。

------------------------------------------------------------------------------------------

73relay_log_info_file                    | relay-log.info

这是从服务器保存中继日志有关信息的文件名。

默认是relay-log.info

------------------------------------------------------------------------------------------

74 relay_log_purge                         | ON

当不再需要中继日志时禁用或启用自动清空中继日志。默认值是1(启用)

这是一个全局变量且可以通过SET GLOBAL relay_log_purge = N.来动态改变。

------------------------------------------------------------------------------------------

75 relay_log_space_limit                   | 0

所有中继日志空间大小。

作用域:全局

值域:

32位系统:默认值域:0~ 4294967295

64位系统:默认值域:0~18446744073709547520

------------------------------------------------------------------------------------------

76 report_host                             |

-- report_host 选项的值

作用域:全局

字符串类型值

------------------------------------------------------------------------------------------

77 report_password                         |

-- report_password 选项的值 ,与MySQL的复制用户帐户使用的密码不相同。

作用域:全局

字符串类型值

------------------------------------------------------------------------------------------

78 report_port                             | 3306

-- report_port 选项的值

作用域:全局

默认是0

Ps:version()>5.6.5

------------------------------------------------------------------------------------------

79 report_user                             |

-- report_user 选项的值 ,与MySQL的复制用户帐户使用的账户不相同。

作用域:全局

------------------------------------------------------------------------------------------

80 rpl_recovery_rank                       | 0

------------------------------------------------------------------------------------------

81 secure_auth                             | OFF

如果用--secure-auth选项启动了MySQL服务器,它将阻塞有旧格式(4.1之前)密码的所有账户所发起的连接。在这种情况下,该变量的值为ON,否则为OFF

 

如果你想要防止使用旧格式的密码(致使网络通信不安全),你应启用该选项。

Version()<=5.6.4默认是OFF

Version()>=5.6.5 默认是ON

------------------------------------------------------------------------------------------

82 secure_file_priv                        |

该变量默认为空,若给该变量赋值(目录),则限制函数load_file(),load data,selectinto outfile 语句只有在相应目录下起作用。

作用域:全局

默认为空

------------------------------------------------------------------------------------------

83server_id                              | 0

--server-id选项的值。用于主复制服务器和从复制服务器。

默认值:0

值域:0~ 4294967295

------------------------------------------------------------------------------------------

84 shared_memory                           | OFF

(只用于Windows)服务器是否允许共享内存连接。

作用域:全局

------------------------------------------------------------------------------------------

85shared_memory_base_name                 | MYSQL

(只用于Windows)说明服务器是否允许共享内存连接,并为共享内存设置识别符。当在单台机器上运行多个MySQL实例时很有用。

作用域:全局

------------------------------------------------------------------------------------------

86skip_external_locking                  | ON

如果mysqld使用外部锁定,该值为OFF,否则是ON。这个在MYISAM表中有作用

------------------------------------------------------------------------------------------

87skip_name_resolve                       | OFF

这是变量是通过选项—skip-name-resolve设置。

若是ON,在检查客户端连接时,mysqld会解析主机名。

若是OFFmysqld使用唯一的IP号码和所有在授权表的Host列值必须是IP地址或localhost

------------------------------------------------------------------------------------------

88skip_networking                        | OFF

如果服务器只允许本地(TCP/IP)连接,该值为ON。在Unix中,本地连接使用Unix套接字文件。在Windows中,本地连接使用命名管道或共享内存。在NetWare中,只支持TCP/IP连接,因此不要将该变量设置为ON

------------------------------------------------------------------------------------------

89 skip_show_database                      | OFF

防止不具有SHOW DATABASES权限的人们使用SHOW DATABASES语句。如果你担心用户能够看见属于其它用户的数据库,这样设置可以提高安全性。其效果取决于SHOW DATABASES权限:如果变量值为ON,只允许具有SHOW DATABASES权限的人们使用SHOW DATABASES 语句,并且该语句将显示所有数据库名。如果值为OFF,允许所有用户执行SHOW DATABASES,但只显示用户具有SHOW DATABASES或其它权限的数据库的名称。

ps:这个对mysql服务器安全性能提升很有用

------------------------------------------------------------------------------------------

90 slave_compressed_protocol               | OFF

如果ON,则在主、从服务器均支持,使用从/主压缩协议。

默认是OFF

------------------------------------------------------------------------------------------

91 slave_exec_mode                         | STRICT

控制在复制的冲突解决和错误检查中是使用IDEMPOTENT模式还是STRICT模式。

IDEMPOTENT模式会发生抑制重复键和no-key-found错误,这种模式下,应采用多主复制,循环复制,和其他一些特殊的复制场景。

是默认模式,并适用于其他大多数情况下。

------------------------------------------------------------------------------------------

92slave_load_tmpdir                      | C:WindowsTEMP

这是从服务器复制load data infile语句时在哪里生成临时文件的目录。

默认是是系统的tmp文件夹。

------------------------------------------------------------------------------------------

93slave_net_timeout                      | 3600

放弃读操作前等待主/从连接的更多数据的等待秒数。

作用域:全局

默认3600

最小值1

------------------------------------------------------------------------------------------

94 slave_skip_errors                       | OFF

正常的来说,当出现错误的时候,复制就会停止。

该变量为ON的时候,则告诉服务器复制不管在任何错误提示的情况下都继续进行下去。

默认:OFF

值有以下:

[list of error codes]

all

ddl_exist_errors

------------------------------------------------------------------------------------------

95slave_transaction_retries              | 10

如果因为InnoDB出现死锁或超过InnoDBinnodb_lock_wait_timeout设置的时间,复制从服务器SQL线程未能执行事务,在提示错误并停止前它自动重复slave_transaction_retries次。 默认值是10

------------------------------------------------------------------------------------------

96 slow_launch_time                        | 2

当创建线程的时间超过该秒数,服务器则增加Slow_launch_threads状态变量。

------------------------------------------------------------------------------------------

97slow_query_log                          | OFF

98slow_query_log_file                    | C:ProgramDataMySQLMySQL Server 5.

1DataBsky-PC-slow.log

slow_query_log是否开启慢查询日志。slow_query_log_file是慢查询日志的路径。

这个和第一点类似

------------------------------------------------------------------------------------------

99 socket                                  | MySQL

uninx平台上,该变量的值是用于本地客户端连接的socket文件的名字,默认是‘tmp/mysql.socket(对于一些分布式中,比较特殊,如RPMs 中是/var/lib/mysql)

windows,则是本地客户端命名管道连接的文件名,默认是mysql(不区分大小写)

------------------------------------------------------------------------------------------

100 sort_buffer_size                        | 262144

每个排序线程分配的缓冲区的大小。增加该值可以加快ORDER BYGROUP BY操作。

当用show global status输出信息后,看到很多Sort_merge_passes输出,则要增加sort_buffer_size 的值来提高order by group by 的性能,这种情况通过优化器优化和索引是不起作用。

默认2G 最大4G

作用域:全局、会话

值域:

32位系统:默认2097144 值域:0~ 4294967295

64位系统:默认2097144 值域:0~18446744073709547520

------------------------------------------------------------------------------------------

101 sql_auto_is_null                        | ON

如果sql_auto_is_null=1/ON,则会自动的插入给自动增长列插入值。

该值可以通过一下来获取

SELECT * FROM tbl_name WHERE auto_col IS NULL

如果有返回行数据,则插入的数值和last_insert_id()函数返回的值是一致。

默认是0

------------------------------------------------------------------------------------------

102 sql_big_tables                          | OFF

保存所有临时值在文件中来启用大型结果集,此选项可防止最“表已满”的错误,而且还减慢查询内存中的表就足够了。自MySQL3.23.2中,服务器能够处理大的结果,小临时表使用内存和切换到磁盘表在必要时自动设置。

------------------------------------------------------------------------------------------

103 sql_buffer_result                       | OFF

若是1sql_buffer_result强迫用select语句返回的结果保存在临时表。这样可以提前解开表的锁定,且当给客户端发送结果集要很久的情况下很有用。

默认值0

作用域:全局,会话

------------------------------------------------------------------------------------------

104sql_log_bin                            | ON

该变量控制语句是否写进二进制日志。

默认是开启。通过改变此变量来改变会话值,不过要有super权限

Ps:version 5.6中没交易或子查询的情况下不可以通过set @@session.sql_log_bin来设置

------------------------------------------------------------------------------------------

105sql_log_off                             | OFF

该变量控制是否写进常规日志。默认是OFF表示写,通过改变此变量来改变会话值,不过要有super权限

------------------------------------------------------------------------------------------

106 sql_log_update                          | ON

是否开启更新日志。详情可以看http://www.phpben.com/?post=67

作用域:全局

------------------------------------------------------------------------------------------

107 sql_low_priority_updates                | OFF

该控制控制读写优先级。

若值为1/ON,则读优先于写。即是所有INSERT, UPDATE, DELETE LOCK TABLE WRITE 语句都要等没有 SELECTLOCK TABLE READ作用于表上

ps:一般情况下写优先于读

------------------------------------------------------------------------------------------

108sql_max_join_size                       | 18446744073709551615

不允许可能需要检查多于max_join_size(为单个表语句)或行组合(为多个表语句)或可能执行大于max_join_size次硬盘查询的SELECT语句。通过设置该值,你可以捕获键使用不正确并可能花很长时间的SELECT语句。如果用户想要执行没有WHERE子句的花较长时间或返回数百万行的联接,则设置它。

将该变量设置为DEFAULT之外的值,将SQL_BIG_SELECTS的值重设为0。如果你重新设置SQL_BIG_SELECTS值,sql_max_join_size变量被忽略。

如果查询结果位于查询缓存中,则不检查结果大小,因为前面已经计算了结果,不会要求服务器将它发送给客户端。

ps: max_join_size等同于sql_max_join_size

------------------------------------------------------------------------------------------

109sql_mode       | STRICT_TRANS_TABLES,NO_AUTO_CREATE_U

SER,NO_ENGINE_SUBSTITUTION  

------------------------------------------------------------------------------------------

110 sql_notes                               | ON

若是1/on,warning_count数会增加且服务器会记录警告内容,否者不会。

mysqldump输出内容到这个变量设置为0,使重载转储文件不会产生警告事件不影响重载操作的完整性。

------------------------------------------------------------------------------------------

111sql_quote_show_create                   | ON

若值为1,则会给SHOW CREATE TABLESHOW CREATE DATABASE添加服务器引号表示符

否则引号被禁用。

------------------------------------------------------------------------------------------

112 sql_safe_updates                        | OFF

值若是1,则mysql则退出在wherelimit字句中没关键字的updatedelete语句。这有利于捕抓到键使用不当的updatedelete语句。

默认值是0

------------------------------------------------------------------------------------------

113sql_select_limit                       | 18446744073709551615

这是设置select查询语句返回数据最大行数。一个新的连接的默认值是服务器允许每个表的最大行数。如果你已经改变了极限,默认值可以通过指定一个DEFAULT值恢复。

------------------------------------------------------------------------------------------

114sql_slave_skip_counter                 |

从服务器应跳过的从主服务器传来的事件的数量。

------------------------------------------------------------------------------------------

115 sql_warnings                            | OFF

该变量操作单行插入数据出现warning错误时是否产生一个warning字符串信息。

默认值是01的话就产生信息。

------------------------------------------------------------------------------------------

116 ssl_ca                                  |

一个受信任的SSLCA列表中的文件路径。

作用域:全局

------------------------------------------------------------------------------------------

117ssl_capath                             |

包含受信任的SSL PEM格式的CA证书目录的路径。

作用域:全局

------------------------------------------------------------------------------------------

118ssl_cert                                |

为建立一个安全的连接使用的SSL证书文件的名称。

作用域:全局

------------------------------------------------------------------------------------------

119 ssl_cipher                              |

允许使用SSL加密的密码列表。

作用域:全局

------------------------------------------------------------------------------------------

120ssl_key                                |

为建立一个安全的连接使用的SSL密钥文件的名称。

作用域:全局

------------------------------------------------------------------------------------------

121storage_engine                          | InnoDB

默认的存储引擎。

------------------------------------------------------------------------------------------

122sync_binlog                             | 0

当值>0,则每一个sync_binlog写二进制日志后mysql都同步该日志到磁盘中(fddatasync().

作用域:全局

值域:

32位系统:默认值域:0~ 4294967295

64位系统:默认值域:0~18446744073709547520

------------------------------------------------------------------------------------------

123sync_frm                                | ON

若值为1,任何非临时表在创建其.frm文件时会同步到磁盘。这会速度变慢但数据奔溃时安全点。

作用域:全局变量。

默认是:true

------------------------------------------------------------------------------------------

124system_time_zone                       |

服务器系统时区。当 服务器开始执行时,它继承机器默认时区设置值,可以由运行服务器的账户或在启动脚本中进行修改。该值用来设置system_time_zone。典型情况用TZ环境变量来指定时区。还可以用mysqld_safe脚本的--timez选项来指定。

作用域:全局 

------------------------------------------------------------------------------------------

125table_definition_cache                  | 256

可以存储在定义缓存的表定义的数目,如果使用大量的表,你可以创建一个大表的定义缓存,加快开放表,他表定义缓存占用较少的空间,并且不使用文件描述符,不像正常的表缓存。最低和默认值均为400

作用域:全局

默认值:400

值域:0~ 524288

------------------------------------------------------------------------------------------

126 table_lock_wait_timeout                 | 50

这个参数已经没用了

------------------------------------------------------------------------------------------

127 table_open_cache                        | 256

所有线程一共能打开的表的数量,增加该值增加mysqld要求的文件描述符的数量。

可以通过检查Opened_tables状态变量来检查是否要增加该值。

如果Opened_tables状态变量很大则不需要用flush tables,而是怎么该变量的值。

作用域:全局

默认值:400

值域:400~52488

------------------------------------------------------------------------------------------

128table_type                              | InnoDB

默认创建表时用到的引擎

------------------------------------------------------------------------------------------

129thread_cache_size                       | 8

该变量设置多少个线程服务器重用缓存。当一个客户端断开连接的时候,该客户端的线程总数还没超过该值数时,则还是保存在缓冲区内。

如果有很多新的连接,则可以通过增加该值来提交性能。

通常情况下,这并不能提供一个显着的性能改进,除非你有一个很好的线程执行。

但是,如果服务器每秒有成千新连接的话,则需要确保该值足够大以至于新的连接的线程可以保存在缓存区内。

默认值:0

值域:0~16384

------------------------------------------------------------------------------------------

130thread_handling                        | one-thread-per-connection

服务器用什么线程句柄来控制连接线程。

当值是no-theads,服务器使用单独的线程

当值是one-thread-per-connection,服务器用一个线程控制每一个客户连接。

当值是no-threads,linuxdebug是很有用的。

作用域:全局

------------------------------------------------------------------------------------------

131thread_stack                           | 196608

每个线程的栈的大小。crash-me测试检测到的限制,很多都是依赖于这个值。

如果线程的堆栈大小是太小了,它限制了复杂的服务器可以处理的SQL语句,存储过程的递归深度,和其他消耗内存的行动。

作用域:全局

值域:

32位系统:默认196608 值域:131072~ 4294967295

64位系统:默认262144 值域:262144 ~18446744073709547520

------------------------------------------------------------------------------------------

132 time_format                             | %H:%i:%s

该变量被弃用

------------------------------------------------------------------------------------------

133time_zone                               | SYSTEM

当前的时区。初使值是'SYSTEM'(使用system_time_zone的值),但可以用--default-time-zone选项在服务器启动时显式指定。

作用域:全局、会话

------------------------------------------------------------------------------------------

134timed_mutexes                          | OFF

------------------------------------------------------------------------------------------

135 timestamp                               | 1335315763

时间戳


 

设置此客户端的时间。这是用来取得原始时间戳,如果您使用的二进制日志恢复行。 timestamp_value应该是一个Unix纪元时间戳,而不是一个MySQL时间戳。

------------------------------------------------------------------------------------------

136 tmp_table_size                          | 15728640

如果内存内的临时表超过该值,MySQL自动将它转换为硬盘上的MyISAM表。如果你执行许多高级GROUP BY查询并且有大量内存,则可以增加tmp_table_size的值。

作用域:全局、会话

默认值:0

值域:1024~ 4294967295

------------------------------------------------------------------------------------------

137 tmpdir                                  | C:WindowsTEMP

临时目录的路径

------------------------------------------------------------------------------------------

138 transaction_alloc_block_size            | 8192

将保存到二进制日志中的事务的查询而分配的内存块的大小

作用域:全局、会话

值域:

32位系统:默认8192 值域:1024~ 4294967295

64位系统:默认8192值域:1024 ~18446744073709547520

------------------------------------------------------------------------------------------

139transaction_prealloc_size              | 4096

transaction_alloc_blocks分配的固定缓冲区的大小(字节),在两次查询之间不会释放。使该值足够大,将所有查询固定到一个事务中,可以避免多次malloc()调用。

作用域:全局、会话

值域:

32位系统:默认4096 值域:1024~ 4294967295

64位系统:默认4096值域:1024 ~18446744073709547520

------------------------------------------------------------------------------------------

140 tx_isolation                            | REPEATABLE-READ

默认事务隔离级别。默认值为REPEATABLE-READ

该变量可以被直接设置(全局),也可以通过set transaction= 语句来设置。

值可以是:

READ-UNCOMMITTED

READ-COMMITTED

REPEATABLE-READ

SERIALIZABLE

------------------------------------------------------------------------------------------

141unique_checks                                 | ON

该变量控制是否在InnoDB表的辅助索引的唯一性进行检查。

当值是0/OFF,则服务器假设输入的数据不存在重复键,储存引擎则跳过运行。(这个是你要储存的数据不用唯一性)

作用域:全局、会话

默认值是1

------------------------------------------------------------------------------------------

142updatable_views_with_limit             | YES

该变量控制如果更新包含LIMIT子句,是否可以在当前表中使用不包含主关键字的视图进行更新。(通常用GUI工具生成这类更新)。更新指UPDATEDELETE语句。这儿主关键字指PRIMARY KEY,或一个UNIQUE索引,其中任何列不可以包含NULL

该变量有两个值:

值是1YES:只发出警告(没有错误消息)。这是 默认值。

值是0NO:禁止更新。

作用域:全局、会话

默认值是1

------------------------------------------------------------------------------------------

143version                                 | 5.1.49-community

服务器的版本号

------------------------------------------------------------------------------------------

144version_comment                         | MySQL Community Server (GPL)

configure脚本有一个--with-comment选项,当构建MySQL时可以进行注释。该变量包含注释值

作用域:全局

------------------------------------------------------------------------------------------

145version_compile_machine                 | ia32

Mysql程序是用什么工具编译出来的

------------------------------------------------------------------------------------------

146version_compile_os                      | Win32

Mysql程序是编译时的操作系统

------------------------------------------------------------------------------------------

147wait_timeout                            | 28800

服务器关闭非交互连接之前等待活动的秒数

作用域:全局、会话

值域:

32位系统:默认28800 值域:1~ 4294967295

64位系统:默认28800 值域:1 ~18446744073709547520

------------------------------------------------------------------------------------------

148 warning_count                           | 1

上一个查询语句出现的errors, warnings, notes错误的数目。

版权声明:QQ:597507041

原文地址:https://www.cnblogs.com/spzhangfei/p/4801778.html