查看Mysql当前所有的变量:
mysql> show variables;
mysql5.7 官网对变量的解释:
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
变量的分类:
MYSQL 中的变量可以分为global(全局)变量和session(会话)变量
在MySQL中要修改变量,有两种方法:
方法一:
持久化变量,重启完数据库生效
修改my.cnf配置文件,如果要设置全局变量最简单的方式是在my.cnf 文件中直接写入变量配置,重启数据库服务就可以使全局变量生效。
比如:
vim /etc/my.cnf
.........
[mysqld]
.........
wait_timeout = 300
.........
方法二:
变量临时生效,重启mysql后恢复原样
1、在不修改配置文件的基础上,使用关键字global设置全局变量
mysql> set global autocommit=1;
将autocommit变量的值设置为ON
需要注意的是,使用此方法对global全局变量的设置仅对于新开启的会话才是有效的,对已经开启的会话不生效。
2、在不修改配置文件的基础上,MySQL中要修改会话(session)变量,可以使用session关键字,如:
mysql> set autocommit=1; 【set 不加参数,默认就是session】
等同于 mysql> set session autocommit=1;
修改session变量配置,仅仅是对本session的变量配置有效,设置完成后只对当前终端有效,对其他session 无效,
其他:
虽然设置了global变量、session变量,但是在mysql服务重启之后,数据库的配置又会重新初始化,一切按照my.cnf的配置进行初始化。global和session的配置都会失效了。