Mysql中的变量众多(即运行的配置),如:事务相关的、连接相关的、查询优化类的等等。
变量的作用域:
1.临时作用域
- session级别:即打开一个与mysql server会话的基础上的作用域,变量的设置只针对这次会话的
- global级别:即全局设置,针对别的会话也生效的变量配置。在mysql实例运行期间都生效,重启失效。
2.永久作用域
- 在my.cnf配置文件中配置:variables_name=value
Notes:
读到这里,是否感觉有点似曾相识,对!linux的配置好像也有这么回事。搞很多作用域,临时生效/永久生效。这里其实体现了软件系统的配置设计:对于多用户多会话的服务软件,一定要做到相互隔离,要有临时配置,永久配置,连接会话级别配置,全局级配置,用户级配置等等;
这种思想在我们平时开发的软件产品中也可以借鉴。很多东西都是有套路的。
查看变量:
第一种方式
mysql> show variables like '%variables_name%';
第二种方式
mysql> select @@variables_name;
设置临时作用域变量
sesssion级别
mysql> set variables_name=value;
global级别
set global variables_name=value