在命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-file 、 defaults-file 这样的选项本身就是为了指定配置文件路径的,再放在配置文件中使用就没啥意义了。
如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准!比如我们在配置文件中写了:
[server]
default-storage-engine=InnoDB
而我们的启动命令是:
mysql.server start --default-storage-engine=MyISAM
最后 default-storage-engine
2.4 系统变量
2.4.1 系统变量简介
MySQL 服务器程序运行过程中会用到许多影响程序行为的变量,它们被称为 MySQL 系统变量,比如允许同时连入的客户端数量用系统变量 max_connections 表示,表的默认存储引擎用系统变量 default_storage_engine 表示,查询缓存的大小用系统变量 query_cache_size 表示, MySQL 服务器程序的系统变量有好几百条,我们就不一一列举了。每个系统变量都有一个默认值,我们可以使用命令行或者配置文件中的选项在启动服务器时改变一些系统变量的值。大多数的系统变量的值也可以在程序运行过程中修改,而无需停止并重新启动它。
2.4.2 查看系统变量
我们可以使用下列命令查看 MySQL 服务器程序支持的系统变量以及它们的当前值:
的值就是 MyISAM。
SHOW VARIABLES [LIKE 匹配的模式];
由于 系统变量 实在太多了,如果我们直接使用 SHOW VARIABLES 查看的话就直接刷屏了,所以通常都会带一个LIKE 过滤条件来查看我们需要的系统变量的值,比方说这么写:
mysql> SHOW VARIABLES LIKE 'default_storage_engine';
mysql> SHOW VARIABLES like 'max_connections';
现在服务器程序使用的默认存储引擎就是 InnoDB ,允许同时连接的客户端数量最多为 151 。别忘了LIKE 表达式后边可以跟通配符来进行模糊查询,也就是说我们可以这么写:
这样就查出了所有以 default 开头的系统变量的值。