mysql服务器的系统变量,mysql server system viriables,其实我更愿意叫它为“系统参数”!

每一个系统变量都有一个默认值,这个默认值是在编译mysql系统的时候确定的。对系统变量的指定,一般可以在server启动的时候在命令行指定选项或者通过选项文件来指定,当然,大部分的系统变量,可以在系统的运行时,通过set命令指定其值。

mysql的系统参数(系统变量)一共分为2类,全局变量(global variables)和会话变量(session

variables),它们的含义与区别如其各占的名称所示。session

variables是在session级别的,对其的变更只会影响到本session。global

variables是系统级别的,对其的变更会影响所有新session(变更时已经存在session不受影响)至下次mysql

server重启动,注意它的变更影响不能跨重启,要想再mysql

server重启时也使用新的值,那么就只有通过在命令行指定变量选项或者更改选项文件来指定,而通过SET变更是达不到跨重启的。

系统启动是,它会初始化所有的global变量为它们对应的默认值,这些默认值可以通过命令行指定选项或者选项文件来改变。当一个新的连接建立后,系统也

会初始化一批session变量,把它们的值初始化对应的系统变量的值。可见任何一个session变量都有一个global变量与其对应,但是未必每个

global变量都有对应的session变量。

系统变量的变更,如果它的值是数字的,你可以通过简化使用K/M/G作为单位来指定。下面就来介绍一下几种变更系统变量的方法:

1、在mysql server启动的时候,命令行选项中指定

mysqld --query_cache_size=16M

--max_allowed_packet=1G

2、在mysql server启动的时候,通过选项文件中指定

[mysqld]

query_cache_size=16M

max_allowed_packet=1G

如果你想限制某个变量的最大值,那么在系统启动的时候通过–maximum-var_name=value方式来指定,如果假设我要限制

max_allowed_packet最多设置为4G,那么我只需要通过1、2方法指定:–maximum_allowed_packet=4G,就可以

了,这样在后面的动态改动中,都无法指定大于4G。

3、在mysql server运行的时候,通过SET命令动态指定

有很多的系统变量,都可以在mysql

server运行时,通过SET命令来动态指定她的值,这样的系统变量,我们又称之为“动态系统变量”(Dynamic System

Variables)。

我们首先来看看SET命令的语法:

SET variable_assignment [, variable_assignment] …

variable_assignment:

user_var_name = expr

| [GLOBAL | SESSION] system_var_name = expr

| [@@global. | @@session. | @@]system_var_name = expr

i):如果要修改global系统变量值,你必须要显示指定“GLOBAL”或者“@@global.”,同时注意,你必须要有SUPER权限。

ii):如果要修改session变量值,可以指定“SESSION”或者“@@session.”或者“@@”或者“LOCAL”或者“@@local.”,或者什么都不使用。

有没有办法,将session变量值设置为对应的global变量值呢?有,采用如下方式:

SET @@session.var_name=@@global.var_name;

有没有办法,将session变量值设置为mysql编译时候的默认值呢?有,采用如下方式:

SET var_name=DEFAULT;

这里要注意的是,并不是所有的系统变量都能被设置为DEFAULT,如果你设置这些变量为DEFAULT则会返回错误。

上面说了如何设置变量,下面来介绍如何查询变量。

1、使用SELECT @@global.var_name等来查询。

mysql> select

@@session.table_type,@@local.table_type,@@table_type;

+----------------------+--------------------+--------------+

| @@session.table_type | @@local.table_type | @@table_type |

+----------------------+--------------------+--------------+

| InnoDB | InnoDB |

InnoDB |

+----------------------+--------------------+--------------+

1 row in set (0.00 sec)

mysql> select @@global.table_type;

+---------------------+

| @@global.table_type |

+---------------------+

| InnoDB |

+---------------------+

1 row in set (0.00 sec)

这里要注意的是,如果你查询session变量的值,如果没有这个session设置了值则返回其值,如果没有设置则其对应的global变量的值,这里与SET的时候是不一样滴。

2、使用SHOW VARIABLES语法:

SHOW [GLOBAL | SESSION] VARIABLES

[LIKE ‘pattern’ | WHERE expr]

mysql 不需要@的变量_mysql参数变量相关推荐

  1. mysql索引缓存的内容_mysql服务器变量、缓存及索引

    服务器变量 注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置. ...

  2. mysql session变量_mysql 系统变量和session变量

    mysql系统变量包括全局变量(global)和会话变量(session),global变量对所有session生效,session变量包括global变量.mysql调优必然会涉及这些系统变量的调整 ...

  3. mysql 生明变量_mysql中变量的使用

    4.4.1 局部变量 局部变量是用户可自定义的变量,它的作用范围仅在程序内部.在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用.局部变量必须以"@"开头,而 ...

  4. mysql负变量_MySQL的变量

    [1]系统变量 系统定义好的变量,大部分时候用户根本不需要使用系统变量.系统变量是用来控制服务器表现的.如:autocommit,auto_increment_increment等. ① 查看系统变量 ...

  5. mysql系统变量_MySQL 系统变量(system variables)

    3.全局与会话级别设置示例 --如何设置隔离级别 mysql> help isolation Name: 'ISOLATION' Description: Syntax: SET [GLOBAL ...

  6. mysql用户变量_MySQL用户变量的用法

    MySQL数据库中的变量分为MySQL系统变量和MySQL用户变量,下面就为您介绍MySQL用户变量的应用,供您参考学习之用. MySQL用户变量: 基于会话变量实现的, 可以暂存值, 并传递给同一连 ...

  7. mysql系统变量_MySQL系统变量

    @v是用户自定义的变量set @a="1" @@是mysql系统变量select @@version_comment, @@global.xxxx, @@session.xxxx, ...

  8. MySQL数据库变量_数据库参数_MySQL变量_系统变量_用户变量

    文章目录 MySQL 变量分类 系统变量 查看系统变量 设置系统变量 如何通过配置文件来设置变量值 通过命令行选项来设置变量值 动态设置全局级的系统变量 设置静态的系统变量 设置会话级的系统变量 引用 ...

  9. mysql/mariadb:数据库变量(参数)管理

    如果我们想要查看mysql的某些属性或状态,我们可以查看mysql的变量,我们也可以通过改变这些变量的值,来设置mysql的工作属性,我们可以把mysql变量理解成mysql的参数,或者说属性值. m ...

最新文章

  1. 正压防爆气体分析系统
  2. java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...
  3. SpringJunit测试类 BaseTest(转)
  4. DHTML【5】--HTML
  5. 字符串中最后一个单词长度
  6. iOS wkwebview https 加载不受信用的站点
  7. plsql查询中补入空行--做报表分页挺有用
  8. “开源社区运营就像种菜”,黄东旭谈开源商业化 | 独家
  9. Linux桌面环境安装matlab并创建快捷方式
  10. pr cpu100%_【Premiere】视频剪辑必装插件,5个PR插件推荐
  11. 2020年净利润腰斩,麦格纳要转型“造车”?
  12. 线性判别分析(Linear Discriminant Analysis,LDA)
  13. EXCEL公式与函数
  14. 自助装机配置专家点评3
  15. 指南|查询美国的关税清单
  16. 在Unity中使用ComputeShader
  17. Scrum立会报告+燃尽图(Beta阶段第二周第五次)
  18. 给matlab输出excel加表头
  19. 什么是云效,云原生时代一站式DevOps平台
  20. Python复数属性和方法操作实例

热门文章

  1. 1036 跟奥巴马一起编程(15 分)
  2. Bug调试(lldb)
  3. fprintf 和 perror 的理解1
  4. WAMP PHP开发环境
  5. WPF and Silverlight 学习笔记(十二):WPF Panel内容模型、Decorator内容模型及其他...
  6. Jupyter notebook 导入和卸载 conda 虚拟环境
  7. python-聚类图像分割
  8. Neo4j 图创建2 以小麦及其相关信息为例(未完成)
  9. git idea 图形化_Git大全,你所需要的Git资料都在这里
  10. 查询 oracle_ORACLE数据库查询语句