命令行上使用的选项
在命令行中指定有值的启动选项时需要注意,选项名,= ,选项值之间不可以有空白字符,比如
mysqld --default-storage-engine = MyISAM 这种写法就是错误的。
mysql使用长形式选项时,在选项名前面加两个短划线-- ,不同的是,使用短形式选项时在选项名前面只需要加一个短划线-,使用短形式选项时,选项名和选项值之间可以没有空隙(-p选项特殊除外)
--host -h
--user -u
--password -p
--port -p
--version -v
配置文件中使用的选项
配置文件中的启动选项被划分为若干个组,每个组有一个组名,用中括号[]括起来。
在配置文件中只能使用长形式的选项,而且在配置文件中指定的启动选项不允许加--前缀。=周围可以有空白字符(注意命令行中选项 ,= ,选项值不能有空白字符。)
程序对应类别和能读取的分组
mysqld [mysqld] [server]
mysqld_safe [mysqld] [server] [mysqld_safe]
mysql [mysql] [client]
mysql.server [mysqld] [server] [mysql.server]
mysqldadmin [mysqladmin] [client]
mysqldump [mysqldump] [client]
**[server]组下面的启动选项将作用于所有的服务器程序
client\] 组下面的启动选项将作用于所有的客户端程序** **专用选项组** 比如定义一个\[mysqld-5.7\] 含义和\[mysqld\]一样,只不过只有版本号5.7的mysqld程序才能使用这个选项组中的选项。 #### 配置文件优先级 **配置文件的读取顺序** mysqld依次读取下面四个配置文件 ```bash /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 可以通过 /usr/local/mysql8/bin/mysqld --verbose --help |grep -A1 "Default options" 确认配置文件的读取顺序 ``` 如果我们在多个配置文件中设置了相同的启动选项,则以最后一个配置文件中的为准。 #### 同一个配置文件中多个组的优先级 将以最后一个出现的组中的启动选项为准。 注意:如果同一个启动选项既出现在命令行中,又出现在配置文件中,那么以命令行中的启动选项为准。