我们很多电子设备上都一定会有的一个东西 -- 设置
, 假设说没有设置, 那么手机无法静音, 无法设置音量大小, 无法设置密码等这些操作. 同理, Mysql
也会有一个设置, 来操作是否允许外域链接, 最大连接数, 数据缓存, 字符集编码, 存储引擎等等. 这些就是 Mysql
的启动选项 Java 程序员一定知道, 环境变量的作用, 这里不做赘述 一般这些设置项都会有默认值, 手机的默认来电铃声, 苹果那惊魂般的闹钟铃声. mysql
大部分设置也都有默认值, 例如最大客户端同时连接数量默认 151
, 表的默认存储引擎 InnoDB
,我们可以在程序启动的时候修改这些默认值, 对于这些可以在启动时修改的值称之为启动选项, 这些启动选项控制着 Mysql 启动后的行为
在命令行中使用的选项
举个栗子
mysql -hlocalhost -uroot -p
Enter Password: root
这里的 -h
、-u
、 -p
都是启动选项的命令 Mysql 本身又有短形式和长形式,短形式的目的是为了简化长形式, Mysql 的部分命令是区分大小写的例如 -p
和 -P
一个是指定密码 password
, 一个是指定端口 Port
短形式 | 长形式 | 含义 |
---|---|---|
-h | -host | 主机 IP |
-u | -user | 用户名称 |
-P | -port | 端口号 |
-p | -password | 密码 |
配置文件中的使用选项
在启动 mysqld 程序的时候通过命令行的方式只是针对这一次启动生效, 及下一次不写命令启动那么相关的配置就会丢掉, 因此 mysql 提供了一种配置文件的方式来把我们需要的参数持久化到磁盘中, 让我们只需要配置一次, 当下次启动的时候 mysql 默认会找到这个配置文件并按照这个配置文件的配置来按需加载 mysql 的启动项.
Mysql 的配置文件路径
mysql 在启动的时候会找多个路径下的配置文件, 这些路径都是固定的, 有的是可以在命令行直接执行的, 由于操作系统不同, 在各个系统之间还会存在差异. Windos 操作系统的配置文件
在 windos 操作系统中, mysql 会按照以下列表来进行寻找配置文件并加载 /mysql/config/my. Conf
%WINDIR%\my.ini
,%WINDIR%\my.cnf
|
如果一个启动选项既出现在配置文件中又出现在命令行中, 那么 msyql 启动的时候会以命令行中的配置覆盖配置文件中的配置. 举个例子
defualt_storage_engine = Innodb ;// 配置文件中的配置
mysql.server starter -- defualt_storage_engine = MyISAM ; // 启动命令
那么我们得到的默认存储引擎就是MyISAM