通常在服务器启动时,会将每个全局变量初始化为其默认值(我们可以通过命令行或选项文件中指定的选项更改这些默认值),然后服务器还为每个连接的客户端维护一组会话变量,客户端的会话变量在连接时使用相应全局变量的当前值初始化。

举例说明如下:

在服务器启动时会初始化一个名为default_storage_engine,作用范围为GLOBAL的系统变量,之后每当有一个客户端连接到该服务器时,服务器都会单独为该客户端分配一个名为default_storage_engine,作用范围为SESSION的系统变量,该作用范围为SESSION的系统变量值按照当前作用范围为GLOBAL的同名系统变量值进行初始化。

(免费学习视频教程推荐:mysql视频教程)

很显然,通过启动选项设置的系统变量的作用范围都是GLOBAL的,也就是对所有客户端都有效的,因为在系统启动的时候还没有客户端程序连接进来呢。了解了系统变量的GLOBAL和SESSION作用范围之后,我们再看一下在服务器程序运行期间通过客户端程序设置系统变量的语法:SET [GLOBAL|SESSION] 系统变量名 = 值;

或者如下写法:SET [@@(GLOBAL|SESSION).]var_name = XXX;

比如我们想在服务器运行过程中把作用范围为GLOBAL的系统变量default_storage_engine的值修改为MyISAM,也就是想让之后新连接到服务器的客户端都用MyISAM作为默认的存储引擎,那我们可以选择下边两条语句中的任意一条来进行设置:

语句一:SET GLOBAL default_storage_engine = MyISAM;

语句二:SET @@GLOBAL.default_storage_engine = MyISAM;

如果只想对本客户端生效,也可以选择下边三条语句中的任意一条来进行设置:

语句一:SET SESSION default_storage_engine = MyISAM;

语句二:SET @@SESSION.default_storage_engine = MyISAM;

语句三:SET default_storage_engine = MyISAM;

从上边的语句三也可以看出,如果在设置系统变量的语句中省略了作用范围,默认的作用范围就是SESSION。也就是说SET 系统变量名 = 值和SET SESSION 系统变量名 = 值是等价的。

查看不同作用范围的系统变量

既然系统变量有作用范围之分,那我们的SHOW VARIABLES语句查看的是什么作用范围的系统变量呢?

答:默认查看的是SESSION作用范围的系统变量。

当然我们也可以在查看系统变量的语句上加上要查看哪个作用范围的系统变量,就像这样:SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];

相关文章教程推荐:mysql教程

mysql 全局变量_详细讲解mysql全局变量与局部变量相关推荐

  1. mysql全局变量和局部变量的区别_详细讲解mysql全局变量与局部变量

    通常在服务器启动时,会将每个全局变量初始化为其默认值(我们可以通过命令行或选项文件中指定的选项更改这些默认值),然后服务器还为每个连接的客户端维护一组会话变量,客户端的会话变量在连接时使用相应全局变量 ...

  2. mysql握手_详细介绍mysql 协议的服务端握手包及对其解析

    概况 mysql客户端登陆到mysql服务端需要一个交互的过程,这里先看服务端给客户端发送的初始握手包.如下,client通过socket连接到server指定的端口后,server将往client发 ...

  3. MySQL 变量的详细讲解

    MySQL 变量的详细讲解 每博一文案 见面少没关系,你不要喜欢上别人就好 一禅小和尚的微博视频 很喜欢席慕容写的一句话,挫折回来,也会去,热泪会流下,也会收起,没有什么 可以让我气馁的,因为我有着长 ...

  4. 了解MySQL(超详细的MySQL工作原理 体系结构)

    了解MySQL(超详细的MySQL工作原理 体系结构) 1.MySQL体系结构 2.MySQL内存结构 3.MySQL文件结构 4.innodb体系结构 一.了解MySQL前你需要知道的 引擎是什么: ...

  5. mysql网络安装教程_详细教程--MySQL的安装与配置

    免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...

  6. mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建

    一.使用过程1.查看当前是否已开启事件计划(调度器)有3种方法: SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SH ...

  7. mysql mdl 锁_详细分析mysql MDL元数据锁

    前言: 当你在MySQL中执行一条SQL时,语句并没有在你预期的时间内执行完成,这时候我们通常会登陆到MySQL数据库上查看是不是出了什么问题,通常会使用的一个命令就是 show processlis ...

  8. 深入理解MySQL主从原理_详细分析MySQL主从复制

    前言: 在MySQL中,主从架构应该是最基础.最常用的一种架构了.后续的读写分离.多活高可用架构等大多都依赖于主从复制.主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多, ...

  9. mysql数据库视图原理_详细分析mysql视图的原理及使用方法

    前言: 在MySQL中,视图可能是我们最常用的数据库对象之一了.那么你知道视图和表的区别吗?你知道创建及使用视图要注意哪些点吗?可能很多人对视图只是一知半解,想详细了解视图的同学看过来哟,本篇文章会详 ...

最新文章

  1. 哀悼日使站点变灰色调的方法
  2. Openwrt WIFI探针开发【一】
  3. 【Boost】boost库中thread多线程详解4——谈谈recursive_mutex
  4. JEMTER简单的测试计划
  5. mac下用xattr命令来删除文件的扩展属性
  6. iOS开发复制Label、textView内容是显示拷贝,不是copy
  7. win10 查看系统开机历史记录
  8. iso12233测试方法_ISO12233分辨率图像测试卡使用时拍摄方法
  9. 20171231 读数学建模黄皮书 数学建模案例选集 感悟
  10. 常用八大数据结构总结及应用场景-附示例截图
  11. ssm框架bean_Bean简介:简化的WordPress框架
  12. 压敏电阻器的结构原理及参数 (tvs,气体管,防雷击)
  13. 在pcb放置坐标标注_PCB设计定位基准符号和尺寸
  14. python提取json中的值,在Python中从JSON提取特定值
  15. 如何实现两个笔记本电脑间的文件传输
  16. python账单查询软件_python3.6 通过调用 阿里云 API (非SDK方式) 查询 账单 例子
  17. 上海科技领军企业CIMC中集飞瞳集装箱人工智能AI走向成熟,先进产品领跑全球集装箱AI航运港口人工智能应用,上海人工智能企业公司
  18. 诺辉健康遭调查:商业化道阻且长,预计年度亏损同比扩大7.5倍
  19. uboot默认环境变量修改
  20. 光学实验-光电效应(matplotlib)

热门文章

  1. Ruby中求50之内的素数方法
  2. Linux下如何查看哪些端口处于监听状态
  3. Hibernate二级缓存的使用
  4. 新浪架构调整凸显曹国伟移动化决心
  5. Chrome OS与平板电脑才是珠联璧合
  6. 查看Linux并发连接数
  7. mybatis和ibatis的一点区别
  8. python3 文件内容搜索 文件名搜索 目录遍历
  9. C++程序安装卸载WDM驱动
  10. TCP/IP详解--第十五章