MySQL变量类型及变量设置

MySQL变量类型

 MySQL通过变量来定义当前服务器的配置,保存服务器的运行状态信息等。我们可以通过手动更改变量的值来配置MySQL或者查询变量的值来获得MySQL的当前状态信息。

MySQL的变量类型可以从以下下两种方式划分:

根据变量修改的方式

动态变量:可以在MySQL运行时调整其指,并立即生效;

静态变量:需要在配置文件中修改,重启服务后生效;

根据变量的生效范围

全局变量:服务级别的设定,对整个服务生效;

会话变量:仅对当前会话生效,其他会话和新会话不受影响;会话结束值即销毁;

查看MySQL的变量

查看可以在配置文件中定义的变量:

shell> mysqld --help --verbose

查看MySQL的服务当前运行时的变量:

mysql> SHOW [{GLOBAL|SESSION}] VARIABLES [LIKE ''];
mysql> SELECT @@{GLOBAL|SESSION}.VARIABLE_NAME;
mysql> SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='VARIABLE_NAME';
mysql> SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='VARIABLE_NAME';

修改MySQL的变量

通过配置文件修改

     通过配置文件修改,只需要在配置文件中指定变量命和值,重启服务即可,例如:

shell> vim /etc/my.cnf
innodb_file_per_table = 1
shell> service mysqld restart

     通过配置文件修改的变量会永久生效。

运行时直接修改

     运行时修改使用SET命令,并指定变量类型(全局或会话)给变量赋值即可,例如:

mysql> SET GLOBAL innodb_file_per_table = 1
mysql> SET SESSION innodb_file_per_table = 1

     需要注意的是,全局变量中运行时修改的值不会永久生效,重启后会失效,如果是会话变量的话,会话断开即失效。

posted @ 2016-04-23 11:45  韩晓萌  阅读(2442)  评论(0编辑  收藏  举报