zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    使用博客园平台写文章赚外快的实践
    博客换来的不仅仅是评论,还有Money!!!
    软件测试方法和规则
    向string,int,类对象等中扩展方法
    江苏省计算机三级偏软知识点整理
    MVC是什么
    ASP.NET关于session的用法
    ASP.Net 中Application的用法
    什么是单件模式
    输入法中全角和半角的区别
  • 原文地址:https://www.cnblogs.com/spzhangfei/p/4801778.html
Copyright © 2011-2022 走看看