小豹子的网络记事本

记录每一个有意思的细节

Mysql - 参数修改

概述

mysql的参数可以分为两类:
a. 动态参数,数据库启动期间能被修改,而修改又分为两种(global级,session级)。
b. 静态参数,即数据库启动期间不能修改。

接下来利用参数wait_timeout介绍参数的一些操作,注意wait_timeout的值还受interactive_timeout的影响,先不管这些了,只是介绍操作

一、参数的查看

1.1 查看global级参数

mysql> select @@global.wait_timeout;
or
mysql> show global variables like 'wait_timeout';
or
mysql> select * from performance_schema.global_variables where variable_name ='wait_timeout';

1.2 查看session级参数

(session可以用local替代,后面同)
mysql> select @@wait_timeout;
or
mysql> select @@session.wait_timeout;
or
mysql> show variables like 'wait_timeout';
or
mysql> show session variables like 'wait_timeout';
or
mysql> select * from performance_schema.session_variables where variable_name ='wait_timeout';

注意:对于静态参数,没有global级和session级区分,因为这种参数global级和session级是一样的,用以上任意一种方法均可。

二、参数的修改

2.1 session级参数的修改

mysql> set wait_timeout=10;
or
mysql> set session wait_timeout=10;
or
mysql> set @@wait_timeout=10;
or
mysql> set @@session.wait_timeout=10;

2.2 global级参数的修改

mysql> set global wait_timeout=10;
or
mysql> set @@global.wait_timeout=10;

global级参数的修改注意事项:
a. 修改需要super权限
b. show variables会发现参数并没有生效,这是因为set global只改了global级的参数,只对重新打开的会话生效。
如果想修改已经打开的会话的参数,需要执行set wait_timeout=10。

2.3 session级参数和global级参数转换方法

将session级参数值设置为global级参数值
mysql> set @@session.wait_timeout=@@global.wait_timeout;

将global级参数值设置为session级参数值
mysql> set @@global.wait_timeout=@@session.wait_timeout;

2.4 将参数值设置为MySQL编译时的默认值

session级

mysql> set wait_timeout=DEFAULT;


global级
mysql> set global wait_timeout=DEFAULT;

注意:并不是所有的动态参数都能被设置为DEFAULT

2.5 永久生效和静态参数修改

2.1~2.4所提供的修改动态参数的方法并不是永久的,随着数据库关闭而消失。如果需要永久生效,就应该修改参数文件并重启生效。

# vi /etc/my.cnf
[mysqld]
wait_timeout=10

静态参数的修改也只能通过修改参数文件,如在数据库中修改静态参数会报以下错误
(root@localhost)[performance_schema]> set global datadir='/db/mysql';
ERROR 1238 (HY000): Variable 'datadir' is a read only variable

posted @   小豹子加油  阅读(483)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具
点击右上角即可分享
微信分享提示