mysql 配置文件格式

配置文件语法格式

以下是对配置文件语法的描述:

  1. 在运行 MySQL 程序时,可以在选项文件中使用与在命令行中给出的任何长选项相同的选项

    要获取程序的可用选项列表,请使用 --help 选项运行它(对于 mysqld,请使用 --verbose 和 --help)。

  2. 在配置文件中指定选项的语法类似于命令行语法。只不过在配置文件中,需要省略选项名称前面的破折号,并且每行只指定一个选项

  3. 配置文件中的空行会被忽略。非空行可以采用以下任意形式:

    • #comment ;comment

      • 注释行以井号(#)或分号(;)作为开头。

      • 使用 # 号注释也可以在行中间开始。

    • [group]

      • group 是选项的程序或组的名称

      • 在 group 行之后设置的所有选项属于该组,直到到达选项文件的末尾或给出另一个 group 为止。

      • 选项组名称对大小写不敏感。

    • opt_name

      • 这相当于在命令行上使用 --opt_name

    • opt_name=value

      • 这相当于在命令行上使用 --opt_name=value

      • value 值可以用单引号或双引号括起来,如果值中包含 # 注释字符,则这样做是有用的。

如果选项组名称(group)与程序名称相同,则该组中的选项仅适用于该程序

  • [mysqld] [mysql] 组分别适用于 mysqld 服务器和 mysql 客户端程序。

  • [client] 选项组由 MySQL 的所有客户端程序读取(除了 mysqld)。

  • 要创建仅由特定版本的 mysqld 服务器读取的选项组,请使用名称为 [mysqld-5.6]、[mysqld-5.7]这样的组。 下面的组表示 sql_mode 设置仅应在 MySQL 服务器为 5.7.x 版本号时使用:

    [mysqld-5.7] 
    sql_mode=TRADITIONAL

在配置选项组时,应该先列出较一般的选项组,然后列出更具体的选项组。

例如,[client] 组更通用,因为它由所有客户端程序读取,而 [mysqldump] 组仅由 mysqldump 读取。后面指定的选项会覆盖先前指定的选项,因此按照 [client] [mysqldump] 的顺序排列选项组可以使 mysqldump 特定的选项覆盖 [client] 选项。

Include

可以在一个配置文件中使用 !include 指令包含另一个配置文件,或者使用 !includedir 指令包含一个文件夹下的所有配置文件

例如,如果想在当前配置文件中包含一个名为 /home/mydir/myopt.cnf 的配置文件,可以使用如下的配置:

!include /home/mydir/myopt.cnf

如果想要包含目录下所有的配置文件,可以使用如下的配置:

!includedir /home/mydir

最后更新于