一、MySQL变量类型:
MySQL通过变量来定义当前服务器的特性,保存状态信息等。我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息。MySQL的变量类型可以从变量的修改方式和变量的生效范围划分。
1.根据变量修改的方式:
动态变量:可以在MySQL运行时调整其指,并立即生效;
静态变量:需要在配置文件中修改,重启服务后生效;
2.根据变量的生效范围:
全局变量:服务级别的设定,对整个服务生效;
会话变量:仅对当前会话生效,其他会话和新会话不受影响;会话结束值即销毁;
二、查看MySQL的变量:
1.查看可以在配置文件中定义的变量:
shell> mysqld --help --verbose
2.查看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的变量:
1.通过配置文件修改:
通过配置文件修改,只需要在配置文件中指定变量命和值,重启服务即可,例如:
shell> vim /etc/my.cnf innodb_file_per_table = 1shell> service mysqld restart
通过配置文件修改的变量会永久生效。
2.运行时直接修改:
运行时修改使用SET命令,并指定变量类型(全局或会话)给变量赋值即可,例如:
mysql> SET GLOBAL innodb_file_per_table = 1 mysql> SET SESSION innodb_file_per_table = 1
需要注意的是,全局变量中运行时修改的值不会永久生效,重启后会失效,如果是会话变量的话,会话断开即失效。
时间: 2024-12-17 05:19:59