系统变量又分为全局变量与会话变量。

全局变量在MYSQL启动的时候由服务器自动将它们初始化为默认值,这些默认值可以通过更改my.ini这个文件来更改。

会话变量在每次建立一个新的连接的时候,由MYSQL来初始化。MYSQL会将当前所有全局变量的值复制一份。来做为会话变量。(也就是说,如果在建立会话以后,没有手动更改过会话变量与全局变量的值,那所有这些变量的值都是一样的。)

全局变量与会话变量的区别就在于,对全局变量的修改会影响到整个服务器,但是对会话变量的修改,只会影响到当前的会话(也就是当前的数据库连接)。

我们可以利用

show session variables;

语句将所有的会话变量输出:(可以简写为show variables,没有指定是输出全局变量还是会话变量的话,默认就输出会话变量。)

mysql> show global variables;

+———————————+—————————————————————-+

| Variable_name | Value |

+———————————+—————————————————————-+

| auto_increment_increment | 1 |

| auto_increment_offset | 1 |

| automatic_sp_privileges | ON |

…………………………….省略…………………………

| tmpdir | C:\WINDOWS\TEMP\ |

| transaction_alloc_block_size | 8192 |

| transaction_prealloc_size | 4096 |

| tx_isolation | REPEATABLE-READ |

| updatable_views_with_limit | YES |

| version | 5.0.67-community-nt |

| version_comment | MySQL Community Edition (GPL) |

| version_compile_machine | ia32 |

| version_compile_os | Win32 |

| wait_timeout | 28800 |

+———————————+—————————————————————-+

232 rows in set, 1 warning (0.00 sec)

如果想输出所有全局变量:

show global variables;

有些系统变量的值是可以利用语句来动态进行更改的,但是有些系统变量的值却是只读的。

对于那些可以更改的系统变量,我们可以利用set语句进行更改。

如果想要更改会话变量的值,利用语句:

set session varname = value;

或者set @@session.varname = value;

比如:

mysql> set session sort_buffer_size = 40000;

Query OK, 0 rows affected(0.00 sec)

如果想要更改全局变量的值,将session改成global:

set global sort_buffer_size = 40000;

set @@global.sort_buffer_size = 40000;

不过要想更改全局变量的值,需要拥有SUPER权限 。

注意,ROOT只是一个内置的账号,而不是一种权限 ,

这个账号拥有了MYSQL数据库里的所有权限。任何账号只要它拥有了名为SUPER的这个权限,

就可以更改全局变量的值,正如任何用户只要拥有FILE权限就可以调用load_file或者

into outfile ,into dumpfile,load data infile一样。

利用select语句我们可以查询单个会话变量或者全局变量的值:

select @@session.sort_buffer_size

select @@global.sort_buffer_size

select @@global.tmpdir

凡是上面提到的session,都可以用local这个关键字来代替。

比如:

select @@local.sort_buffer_size

local 是 session的近义词。

无论是在设置系统变量还是查询系统变量值的时候,只要没有指定到底是全局变量还是会话变量。

都当做会话变量来处理。

比如:

set @@sort_buffer_size = 50000;

select @@sort_buffer_size;

上面都没有指定是GLOBAL还是SESSION,所以全部当做SESSION处理。
---------------------
作者:mypcstyle
来源:CSDN
原文:https://blog.csdn.net/mypcstyle/article/details/37509381
版权声明:本文为博主原创文章,转载请附上博文链接!

MYSQL的全局变量和会话变量的更多相关文章

  1. MYSQL进阶学习笔记一:MySQL编码设定,会话变量和全局变量!(视频序号:进阶_1-3)

    知识点一:MySQL编码设定(1-2) 服务器编码设定: 查看MySQL服务器端的编码格式: SHOW VARIABLES LIKE ‘char%’; 设定编码格式: SET NAMES ‘utf8’ ...

  2. 使用MySQL会话变量实现窗口函数

    一.MySQL窗口函数 (1) 序号函数 row_number()在相等的两条记录上随机排序,但序号按照1.2递增,然后后面的序号继续递增为3,中间不会产生序号间隙: rank()/dense_ran ...

  3. SQL进阶17-变量的声明/使用(输出)--全局变量/会话变量--用户变量/局部变量

    /*进阶17 变量 系统变量: 全局变量: 会话变量: 自定义变量: 用户变量: 局部变量: */ /* #一: 系统变量 #说明: 变量由系统提供,不是用户定义的,属于服务器层面 #使用的语法 #1 ...

  4. MySQL各类日志文件相关变量介绍

    文章转自:http://www.ywnds.com/?p=3721 MySQL各类日志文件相关变量介绍 查询所有日志的变量   1 mysql> show global variables li ...

  5. 【全局变量】mysql查看全局变量以及设置全局变量的值

    1.查看mysql的所有全局变量的值 SHOW GLOBAL VARIABLES 或者 SHOW VARIABLES mysql有很多全局变量,包括系统的一些基本信息,以及mysql的一些基本配置都可 ...

  6. (八)MySQL事务、视图、变量、存储过程、函数、流程控制结构

    补充:增删查改语句在数据库中基本通用,但这篇博客的内容基本是MySQL区别于其它数据库管理系统的知识,也要认真学习. 一.事务 1.含义:在MySQL中,可以通过创建事务来解决一些问题. 2.语法: ...

  7. ***LINUX添加PHP环境变量:CentOS下将php和mysql命令加入到环境变量中

    CentOS系统下如何将PHP和mysql命令加入到环境变量中,在Linux CentOS系统上 安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到 ...

  8. 4.1.4 统计“锦途网”旅游线路平均价格,并采用尽可能多的方式将该价格赋给用户会话变量 @avg_short_price,并输出该变量

    查看本章节 查看作业目录 需求说明: 统计"锦途网"旅游线路平均价格,并采用尽可能多的方式将该价格赋给用户会话变量 @avg_short_price,并输出该变量 在 MySQL ...

  9. js中的全局变量和静态变量的使用, js 的调试?- 如果js出错, js引擎 就会停止, 这会 导致 后面的 html中 refer 该函数时, 会报错 函数为定义!!

    效果里面的函数, 如show, hide,slideDown等, 这些都叫 "效果"函数, 但是里面可以包含动画, 也可以 不包含动画. 动画,是指 元素 的内容 是 逐渐 显示/ ...

随机推荐

  1. MyCat负载均衡 下篇

    MyCat负载均衡 下篇   之前在 一步一步在Windows中使用MyCat负载均衡 上篇 中已经讲了如何配置出MyCat.下面讲其相关的使用. 五.配置MyCat-eye 对于MyCat监控官网还 ...

  2. javascript 获取上一周的时间

    <script type="text/javascript" language="javascript"> //获取系统时间 var LSTR_nd ...

  3. Real-time storage area network

    A cluster of computing systems is provided with guaranteed real-time access to data storage in a sto ...

  4. java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

  5. Linux(Centos7)下自动启动程序

    1.文件转移 先将要执行的文件转移或复制到路径较短的地方如:/usr/local 主要是为了方便,同时防止误删.2.编写Service文件 $ vim /usr/lib/systemd/system/ ...

  6. 解决关于archlinux升级至3.16.1,Xorg桌面环境无法进入的问题

    [现象]有终端输入username,password后,桌面环境启动失败. [报错]log文件里显示: (EE) Fatal server error: (EE) xf86OpenConsole: V ...

  7. 简明Python3教程 4.安装

    如果你已经安装了Python 2.x,你不需要在安装Python 3.0前卸载Python 2.x.这两者可以共存. GNU/Linux用户和BSD用户 如果你使用类似于Ubuntu.Fedora.O ...

  8. WPF 3D编程介绍

    原文:WPF 3D编程介绍 上一篇文章简单的介绍了WPF编程的相关的内容,也推荐了本书.今天要来讲一下在WPF如何开展3D编程. 使用的xmal 和C#开发的时候:需要使用如下的关键要素: 1:摄像机 ...

  9. Visual C# 2010 实现菜单项和状态栏

    演练:向窗体提供标准菜单项 Visual Studio 2010     其他版本     此主题尚未评级 - 评价此主题   可以通过 MenuStrip 控件为窗体提供标准菜单. 此演练演示如何使 ...

  10. Codeforces 35E Parade 扫描线 + list

    主题链接:点击打开链接 意甲冠军:特定n矩阵(总是接近底部x轴) 然后找到由上面的矩阵所包围的路径,的点 给定n 以下n行给定 y [x1, x2] 表示矩阵的高度和2个x轴坐标 思路: 扫描线维护每 ...