配置文件说明

配置文件格式

与在命令行中指定启动选项不同的是,配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号[]扩起来,像这样:

[server]
(具体的启动选项...)

[ mysqld]
(具体的启动选项...)

[ mysqld_safe]
(具体的启动选项...)

[client]
(具体的启动选项...)

[mysql]
(具体的启动选项...)

[mysqladmin]
(具体的启动选项...)

像这个配置文件里就定义了许多个组,组名分别是server 、mysqld、mysqld_safe、 client、mysql、mysqladmin。每个组下边可以定义若干个启动选项,我们以[server]组为例来看一下填写启动选项的形式(其他组中启动选项的形式是一样的)︰

[server]
opthion1            # 这样写代表是boolean
opthon2=value2         # 这样写代表是键值对类型
...

在配置文件中指定启动选项的语法类似于命令行语法,但是配置文件中指定的启动选项不允许加- - 前缀,并且每行只指定一个选项,而且=周围可以有空白字符(命令行中选项名、=、选项值之间不允许有空白字符)。另外,在配置文件中,我们可以使用#来添加注释,从#出现直到行尾的内容都属于注释内容,读取配置文件时会忽略这些注释内容。!

启动命令与选项组

配置文件中不同的选项组是给不同的启动命令使用的。不过有两个选项组比较特别:

  • [ 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 版本专用选项组

我们可以在选项组的名称后加上特定的MySQL版本号,比如对于[mysqld ] 选项组来说,我们可以定义一个[mysqld-5.7]的选项组,它的含义和[mysqld]一样,只不过只有版本号为5.7的mysqld程序才能使用这个选项组中的选项。

同一个配置文件中多个组的优先级

我们说同一个命令可以访问配置文件中的多个组,比如mysqld可以访问[ mysqld]、 [ server]组,如果在同一 个配置文件中,比如~/ .my .cnf,在这些组里出现了同样的配置项,比如这样:

[server]
default-storage-engine=InnoDF

[mysqld]
default-storage-engine=MyISAM

那么,将以最后一个出现的组中的启动选项为准,比方说例子中default-storage-engine[mysqld]组也出现在[server]组,因为[mysqld]组在[server]组后边,就以[mysqld]组中的配置项为准。

命令行和配置文件中启动选项的区别

在命令行上指定的绝大部分启动选项都可以放到配置文件中,但是有一些选项是专门为命令行设计的,比方说defaults-extra-filedefaults-file这样的选项本身就是为了指定配置文件路径的,再放在配置文件中使用就没啥意义了。

如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准!

比如我们在配置文件中写了:

[ server]
default-storage-engine=InnoDB

而我们的启动命令是:

mysql.server start --default-storage-engine=MyISAMI

那最后default-storage-engine的值就是MyISAM

系统变量

设置系统变量

  • 通过命令行添加环境变量

    mysqld --default-storage-engine=MyISAM --max-connections=10
    
  • 通过配置文件添加环境变量

    [server]
    default-storag -engine=MyISAM
    max-connections=10
    

当使用上边两种方式中的任意一种启动服务器程序后,我们再来查看一下系统变量的值:

mysql>show variables like 'default-storag -engine'
-- 等于MyISAM
powered by Gitbook最后修改时间: 2022-07-07 10:52:35

results matching ""

    No results matching ""