暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL变量

原创 graphy 2022-01-15
1467

MySQL的变量分为以下两种:
1)系统变量:配置MySQL服务器的运行环境,可以用show variables查看
2)状态变量:监控MySQL服务器的运行状态,可以用show status查看

(1)系统变量
系统变量按其作用域的不同可以分为以下两种:
1)分为全局(GLOBAL)级:对整个MySQL服务器有效
2)会话(SESSION或LOCAL)级:只影响当前会话
有些变量同时拥有以上两个级别,MySQL将在建立连接时用全局级变量初始化会话级变量,但一旦连接建立之后,全局级变量的改变不会影响到会话级变量。

1.变量查看:

show [grobal|session] variables like "%变量名%";
1
注意:show variables优先显示会话级变量(session)的值,如果这个值不存在,则显示全局级变量(grobal)的值。

变量还有一种写法如下,这一般是在存储过程中可能用于引用系统变量:
@@GLOBAL.var_name
@@SESSION.var_name 或
@@LOCAL.var_name
如果在变量名前没有级别限定符,将优先显示会话级的值。

还有一种查看变量值的方法是从INFORMATION_SCHEMA数据库里的GLOBAL_VARIABLES和SESSION_VARIABLES表获得。

2.变量设置:

set [grobal|session|@@GLOBAL.|@@SESSION.] var_name = value;
1
如果在变量名前没有级别限定符,表示修改会话级变量。
注意:和启动时不一样的是,在运行时设置的变量不允许使用后缀字母’K’、‘M’等,但可以用表达式来达到相同的效果,如:

SET GLOBAL read_buffer_size = 2*1024*1024;
1
如果查询时使用的是show variables的话,会发现设置好像并没有生效,这是因为单纯使用show variables的话就等同于使用的是show session variables,查询的是会话变量,只有使用show global variables,查询的才是全局变量。

(2)状态变量
状态变量可以使我们及时了解MySQL服务器的运行状况,可以使用show status语句查看。
状态变量和相同变量类似,也分为全局级和会话级,show status也支持like匹配查询,比较大的不同是状态变量只能由MySQL服务器本身设置和修改,对于用户来说是只读的,不可以通过SET语句设置和修改它们。

show table status like 'table_name'\G;
————————————————
版权声明:本文为CSDN博主「啊荻~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_16268979/article/details/108053533

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论