配置文件
在命令行中设置的启动的选项只对当次启动生效,每次启动时,需要重复把这些写到启动命令行中。
我们把每次需要设置的启动选项写在配置文件中,每次服务器启动时都从这个文件中加载相应的启动选项,我们只需配置一次即可。
在配置文件中,不同的选项组是给不同的程序使用的,若选项组名称与程序名称相同,则组中的选项专门应用于该程序。例如:
[mysqld]
组用于mysql
服务器;
[mysql]
组用于客户端程序;
下面两个比较特殊:
[server]
组下面的启动选项作用于所有的服务器程序;
[client]
组下面的启动选项将用于所有的客户端程序;
程序对应的类别和能读取的组
程序名 | 类别 | 能读取的组 |
---|---|---|
mysqld | 启动服务器 | [mysqld]、[server] |
mysqld_safe | 启动服务器 | [mysqld]、[server] 、[mysqld_safe] |
mysql.server | 启动服务器 | [mysqld]、[server] 、[mysql.server] |
mysql | 启动客户端 | [mysql]、[client] |
mysqladmin | 启动客户端 | [mysqladmin]、[client] |
mysqldump | 启动客户端 | [mysqldump]、[client] |
系统变量
mysql服务器程序运行过程中会用到很多影响程序行为的变量,称为系统变量。
通过下列命令查看当前服务器支持的系统变量以及它的值。
show variables [like 匹配的模式];
设置系统变量有以下两种方式:
1.通过启动选项设置
(1)通过命令行,如:
mysqld --default-storage-engine=MyISAM --max-connections=10
(2) 通过配置文件
在配置文件中填写,如:
[server]
default-storage-engine=MyISAM
max-connections=10
2.服务器程序运行过程中设置
首先介绍以下两种作用范围;
GLOBAL(全局范围):影响服务器的整体操作。
SESSION(会话范围):影响某个客户端连接的操作。
在运行时使用set语句修改,
一种是 SET[GLOBAL|SESSION]系统变量名=值;
一种是 SET[@@(GLOBAL|SESSION).]系统变量名=值;
例如:
想让新连接到服务器的客户端都用MyISAM作为默认的存储引擎;
SET GLOBAL default-storage-engine=MyISAM;
或者
SET @@GLOBAL.default-storage-engine=MyISAM;