MySQL入门--设置session,global变量的方法

MySQL 设置session,global变量的方法

创新互联主营珙县网站建设的网络公司,主营网站建设方案,成都app软件开发公司,珙县h5小程序开发搭建,珙县网站营销推广欢迎珙县等地区企业咨询

--设置或修改系统日志有效期

SET GLOBAL expire_logs_days=8;

SHOW VARIABLES LIKE '%expire_logs_days%';

 

--设置或修改系统最大连接数

SET GLOBAL max_connections = 2648;

SHOW VARIABLES LIKE '%max_connections%';

 

--修改MYSQL自动编号步长

SHOW VARIABLES LIKE '%auto_increment%';

SET GLOBAL auto_increment_offset = 1;

SET GLOBAL auto_increment_increment = 1;

 

比如设置MySQL实例参数wait_timeout为10秒.

 

1)设置全局变量方法1(不推荐):修改参数文件,然后重启mysqld

# vi /etc/my.cnf

[mysqld]

wait_timeout=10

# service mysqld restart

不过这个方法太生硬了,线上服务重启无论如何都应该尽可能避免.

 

2)设置全局变量方法2(推荐):在命令行里通过SET来设置,然后再修改参数文件

如果要修改全局变量,必须要显示指定"GLOBAL"或者"@@global.",同时必须要有SUPER权限.

mysql> set global wait_timeout=10;

or

mysql> set @@global.wait_timeout=10;

 

然后查看设置是否成功:

mysql> select @@global.wait_timeout=10;

or

mysql> show global variables like 'wait_timeout';

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

| Variable_name | Value |

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

| wait_timeout  | 10    |

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

如果查询时使用的是show variables的话,会发现设置并没有生效,除非重新登录再查看.这是因为使用show variables的话就等同于使用show session variables,查询的是会话变量,只有使用show global variables查询的才是全局变量.如果仅仅想修改会话变量的话,可以使用类似set wait_timeout=10;或者set session wait_timeout=10;这样的语法.

当前只修改了正在运行的MySQL实例参数,但下次重启mysqld又会回到默认值,所以别忘了修改参数文件:

# vi /etc/my.cnf

[mysqld]

wait_timeout=10

 

3)设置会话变量方法:在命令行里通过SET来设置

如果要修改会话变量值,可以指定"SESSION"或者"@@session."或者"@@"或者"LOCAL"或者"@@local.",或者什么都不使用.

mysql> set wait_timeout=10;

or

mysql> set session wait_timeout=10;

or

mysql> set local wait_timeout=10;

or

mysql> set @@wait_timeout=10;

or

mysql> set @@session.wait_timeout=10;

or

mysql> set @@local.wait_timeout=10;

 

然后查看设置是否成功:

mysql> select @@wait_timeout;

or

mysql> select @@session.wait_timeout;

or

mysql> select @@local.wait_timeout;

or

mysql> show variables like 'wait_timeout';

or

mysql> show local variables like 'wait_timeout';

or

mysql> show session variables like 'wait_timeout';

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

| Variable_name | Value |

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

| wait_timeout  | 10    |

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

 

4)会话变量和全局变量转换方法:在命令行里通过SET来设置

将会话变量值设置为对应的全局变量值呢:

mysql> set @@session.wait_timeout=@@global.wait_timeout;

将会话变量值设置为MySQL编译时的默认值(wait_timeout=28800):

mysql> set wait_timeout=DEFAULT;

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

--end—

 

参考文献:

【1】MySQL中Global、Session和Both(Global & Session)范围的Dynamic及Not Dynamic类型的变量的作用范围和设置方法,http://blog.csdn.net/zyz511919766/article/details/13294479

【2】MySQL里设置或修改系统变量的几种方法,

http://wenku.baidu.com/link?url=wvLTvtJv-B-YHLfaaCYANwq0ieBf5TDonJtXx-2cJgXI0jIhr3n_1yn4c60TnbiEBiE7F9ttv6VxpWRRwFbhY7xX3aoV75VWaw2htrCqh7m

网站题目:MySQL入门--设置session,global变量的方法
网址分享:https://www.cdcxhl.com/article4/pppsie.html

成都网站建设公司_创新互联,为您提供面包屑导航定制网站定制开发响应式网站建站公司静态网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司