2.3.3.2 创建选项文件
如果您需要在启动服务器时指定启动选项,可以在命令行中指定它们或将它们写入选项文件。对于每次启动服务器时使用的选项,您可能会发现使用选项文件指定MySQL配置最为方便。这在以下情况下尤其有用:
-
安装或数据目录的位置不同于默认位置(
C:\Program Files\MySQL\MySQL Server 8.4
和C:\Program Files\MySQL\MySQL Server 8.4\data
)。 -
您需要调整服务器设置,例如内存、缓存或InnoDB配置信息。
在Windows上,MySQL服务器启动时将在多个位置寻找选项文件,如Windows目录、C:\
和MySQL安装目录(查看详细的位置列表,请参见第6.2.2.2节,“使用选项文件”)。Windows目录通常以类似C:\WINDOWS
的名称命名。您可以使用以下命令确定其确切位置:
C:\> echo %WINDIR%
MySQL在每个位置中首先寻找my.ini
文件,然后寻找my.cnf
文件。然而,以免混淆,建议您只使用一个文件。如果您的PC使用引导加载程序,其中C:
不是引导磁盘,您的唯一选择是使用my.ini
文件。无论您使用哪个选项文件,它都必须是一个纯文本文件。
使用MySQL Configurator配置MySQL Server时,它将创建my.ini
文件在默认位置,并授予执行MySQL Configurator的用户对该新my.ini
文件的完全权限。
换言之,请确保MySQL Server用户可以读取my.ini
文件。
您也可以使用MySQL发行版中包含的示例选项文件;查看第7.1.2节,“服务器配置默认值”。
选项文件可以使用任何文本编辑器,例如Notepad创建和修改。例如,如果MySQL安装在E:\mysql
中,并且数据目录在E:\mydata\data
中,您可以创建一个选项文件,包含一个[mysqld]
部分,以指定basedir
和datadir
选项的值:
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data
在选项文件中,Microsoft Windows路径名使用斜杠(forward)而不是反斜杠。如果您使用反斜杠,需要将其双倍:
[mysqld]
# set basedir to your installation path
basedir=E:\\mysql
# set datadir to the location of your data directory
datadir=E:\\mydata\\data
在选项文件值中使用反斜杠的规则见第6.2.2.2节,“使用选项文件”。
ZIP归档不包括一个data
目录。要通过创建数据目录并在mysql系统数据库中填充表来初始化MySQL安装,可以使用--initialize
或--initialize-insecure
。更多信息,请见第2.9.1节,“初始化数据目录”。
如果您想使用不同的数据目录,可以将整个data
目录的内容复制到新位置。例如,如果您想使用E:\mydata
作为数据目录,而不是默认的位置(例如C:\Program Files\MySQL\MySQL Server 8.4\data
),您需要做两件事:
-
将整个
data
目录和所有内容从默认位置移动到E:\mydata
。 -
使用
--datadir
选项指定每次启动服务器时的新数据目录位置。