目录

mysql配置

配置

除了在命令行启动的时候指定参数如:mysqld –default-storage-engine = MyISAM外,MySQL程序在启动时会寻找多个路径下的配置文件,这些路径有的是固定的,有的是可以在命令行指定的。根据操作系统的不 同,配置文件的路径也有所不同。

配置路径

在类UNIX操作系统中,MySQL会按照下列路径来寻找配置文件:

路径名 备注
/etc/my.cnf
/etc/mysql/my.cnf
SYSCONFDIR/my.cnf
$MYSQL_HOME/my.cnf 特定于服务器的选项(仅限服务器)
defaults-extra-file 命令行指定的额外配置文件路径
~/.my.cnf 用户特定选项
~/.mylogin.cnf 用户特定的登录路径选项(仅限客户端)

配置分组

配置文件里面会分组:server、mysqld、mysqld_safe、client、mysql、mysqladmin。

配置文件中不同的选项组是给不同的启动命令使用的,如果选项组名称与程序名称相同,则组中的选项将专门应用于该程序。 |启动命令|类别|能读取的组| |-|-| | 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.server程序的启动参数,则必须将它们放在配置文件中,而不是放在命令行中。 mysql.server仅支持start和stop作为命令行参数。

特定MySQL版本的专用选项组

我们可以在选项组的名称后加上特定的MySQL版本号。只有版本号为5.7的mysqld程序才能使用这个选项组中的选项[mysqld-5.7]

配置文件加载顺序

MySQL将按照我们在上表中给定的顺序依次读取各个配置文件,如果该文件不存在则忽略。值得注 意的是,如果我们在多个配置文件中设置了相同的启动选项,那以最后一个配置文件中的为准。

同一个配置文件中多个组的优先级 我们说同一个命令可以访问配置文件中的多个组,那么,将以最后一个出现的组中的启动选项为准

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