一、系统变量简介
Mysql服务器在运行过程中会用到许多影响程序运行的变量,它们被称为系统变量,比如
允许连入客户端数量的变量:max_connections
默认储存引擎的系统变量:default_storage_engine
查询缓存的大小用系统变量:query_cache_size
二、查看系统变量
我们可以用一下命令来查看mysql的系统变量以及他们当前的值:
SHOW VARIABLES [LIKE 的匹配模式]
由于Mysql的系统变量较多,所以查询的时候我们一般要在后面加上like条件
三、设置系统变量
通过启动选项设置:
比如在启动服务器程序时用:
mysqld --max_connections=10 --default-storage-engine=MyISAM
当用上面的命令启动程序后,default_storage_engine和max_connections两个系统变量就已经被修改了。
服务器程序运行过程中设置:
SET [GLOBAL|SESSION] 系统变量 = 值;
或者
SET [@@(GLOBAL|SESSION).]系统变量名称 = 值;
用GLOBAL修饰的变量表示作用于全局的,用SESSION修饰的变量表示作用于当前连接的
比如我们在服务器运行期间把作用范围为GLOBAL的系统变量default_storage_engine的值修改为MyISAM,也就是想让后面连接的客户端都用MyISAM作为默认的储存引擎,则可以用下面的任意一条语句进行设置:
语句1:SET GLOBAL default_storage_engine=MyISAM;
语句2:SET @@GLOBAL.default_storage_engine=MyISAM;
如果你只想对本客户端生效,那么你可以用下面三条种的任意一条进行设置:
语句1:SET SESSION default_storage_engine=MyISAM;
语句2:SET @@SESSION.default_storage_engine=MyISAM;
语句3:SET default_storage_engine=MyISAM;
从上面的语句可以看出,如果设置语句中省略了作用范围的修饰,默认的作用范围就是SESSION