Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  Starting MySQL as a Windows Service

2.3.3.8 在 Windows 中启动 MySQL 服务

在 Windows 中,推荐的方式是将 MySQL 安装为 Windows 服务,以便 MySQL 在 Windows 启动和停止时自动启动和停止。作为服务安装的 MySQL 服务器也可以从命令行使用 NET 命令或使用图形化的 服务 实用程序来控制。通常,安装 MySQL 作为 Windows 服务时,您应该使用具有管理员权限的账户登录。

可以在 Windows 控制面板中找到 服务 实用程序(Windows 服务控制管理器)。为了避免冲突,在从命令行执行服务器安装或删除操作时,建议关闭 服务 实用程序。

安装服务

在安装 MySQL 作为 Windows 服务之前,首先需要停止当前服务器,如果它正在运行,请使用以下命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.3\bin\mysqladmin"
          -u root shutdown
Note

如果 MySQL root 用户账户有密码,您需要使用 -p 选项并在提示时输入密码。

该命令使用 MySQL 管理实用程序 mysqladmin 连接到服务器并告诉它关闭。该命令以 MySQL root 用户身份连接,该用户是 MySQL 授权系统中的默认管理账户。

Note

MySQL 授权系统中的用户完全独立于 Windows 操作系统用户。

使用以下命令安装服务器作为服务:

C:\> "C:\Program Files\MySQL\MySQL Server 8.3\bin\mysqld" --install

服务安装命令不会启动服务器。稍后在本节中将提供启动服务器的说明。

为了使 MySQL 程序更易于调用,您可以将 MySQL bin 目录的路径名添加到 Windows 系统 PATH 环境变量中:

  • 在 Windows 桌面上,右键单击 我的电脑 图标,然后选择 属性

  • 然后,从 系统属性 菜单中选择 高级 选项卡,然后单击 环境变量 按钮。

  • 系统变量 下,选择 Path,然后单击 编辑 按钮。编辑系统变量 对话框将出现。

  • 将光标放在 变量值 空间的末尾(使用 End 键确保光标位于该空间的末尾)。然后,输入 MySQL bin 目录的完整路径名(例如,C:\Program Files\MySQL\MySQL Server 8.3\bin),并在该字段中添加一个分号以分隔该路径和任何现有值。然后,单击 OK,直到所有打开的对话框都被关闭。现在,您可以从系统的任何目录中通过输入名称来调用任何 MySQL 可执行程序,而不需要提供路径。这包括服务器、mysql 客户端和所有 MySQL 命令行实用程序,如 mysqladminmysqldump

    如果您在同一台机器上运行多个 MySQL 服务器,请不要将 MySQL bin 目录添加到 Windows PATH 中。

Warning

在手动编辑系统 PATH 时,必须非常小心;意外删除或修改现有 PATH 值的任何部分可能会使系统无法正常工作或完全不可用。

安装服务时可以使用以下附加参数:

  • 可以在 --install 选项后立即指定服务名称。默认服务名称为 MySQL

  • 如果提供了服务名称,它可以跟随一个选项。按照惯例,这应该是 --defaults-file=文件名,以指定服务器启动时读取选项的文件名。

    使用单个选项,而不是 --defaults-file,是可能的,但不鼓励。--defaults-file 更灵活,因为它使您可以在命名的选项文件中指定多个启动选项。

  • 您也可以在服务名称后指定 --local-service 选项。这将导致服务器使用具有有限系统权限的 Windows 帐户 LocalService 运行。如果同时提供了 --defaults-file--local-service,它们可以以任何顺序出现。

对于安装为 Windows 服务的 MySQL 服务器,以下规则确定服务名称和选项文件:

  • 如果服务安装命令未指定服务名称或默认服务名称 (MySQL),服务器将使用服务名称 MySQL 并从标准选项文件的 [mysqld] 组中读取选项。

  • 如果服务安装命令指定了其他服务名称,而不是 MySQL,服务器将使用该服务名称。它将从 [mysqld] 组和标准选项文件中具有相同名称的组中读取选项。这使您可以使用 [mysqld] 组来指定所有 MySQL 服务的选项,并使用服务名称的选项组来指定该服务的选项。

  • 如果服务安装命令指定了 --defaults-file 选项,服务器将以相同的方式读取选项,除了它只从命名的文件中读取选项,并忽略标准选项文件。

作为一个更复杂的示例,考虑以下命令:

C:\> "C:\Program Files\MySQL\MySQL Server 8.3\bin\mysqld"
          --install MySQL --defaults-file=C:\my-opts.cnf

这里,在 --install 选项后提供了默认服务名称 (MySQL)。如果没有提供 --defaults-file 选项,这个命令将导致服务器从标准选项文件的 [mysqld] 组中读取选项。但是,因为提供了 --defaults-file 选项,服务器将从命名的文件中读取选项,而不是从标准选项文件中。

Note

在 Windows 上,如果服务器使用 --defaults-file--install 选项启动,--install 必须首先出现。否则,mysqld.exe 将尝试启动 MySQL 服务器。

您也可以在 Windows Services 实用程序中指定启动参数,然后启动 MySQL 服务。

最后,在尝试启动 MySQL 服务之前,请确保操作系统用户的用户变量 %TEMP%%TMP%(以及 %TMPDIR%,如果它曾经被设置)指向用户有写入访问权限的文件夹。默认用户为运行 MySQL 服务的是 LocalSystem,其 %TEMP%%TMP% 的默认值是 C:\Windows\Temp,一个 LocalSystem 默认情况下有写入访问权限的目录。然而,如果对默认设置进行了更改(例如,服务运行用户的更改或用户变量的更改,或者使用了 --tmpdir 选项将临时目录放在其他地方),MySQL 服务可能无法运行,因为没有授予适当用户写入访问权限。

启动服务

在 MySQL 服务器实例安装为服务后,Windows 将在启动时自动启动服务。该服务也可以从 服务 实用程序或使用 sc start mysqld_service_nameNET START mysqld_service_name 命令立即启动。SCNET 命令不区分大小写。

当作为服务运行时,mysqld 无法访问控制台窗口,因此无法在那里看到消息。如果 mysqld 未启动,请检查错误日志,以查看服务器是否在那里写入了消息以指示问题的原因。错误日志位于 MySQL 数据目录中(例如,C:\Program Files\MySQL\MySQL Server 8.3\data)。它是以 .err 作为后缀的文件。

当 MySQL 服务器安装为服务,并且服务正在运行时,Windows 将在关机时自动停止服务。服务器也可以手动停止使用 服务 实用程序、sc stop mysqld_service_name 命令、NET STOP mysqld_service_name 命令或 mysqladmin shutdown 命令。

您也可以选择将服务器安装为手动服务,以便在启动过程中不自动启动服务。为此,请使用 --install-manual 选项,而不是 --install 选项:

C:\> "C:\Program Files\MySQL\MySQL Server 8.3\bin\mysqld" --install-manual
删除服务

要删除安装为服务的服务器,首先停止它,如果它正在运行,请执行 SC STOP mysqld_service_nameNET STOP mysqld_service_name。然后,使用 SC DELETE mysqld_service_name 删除它:

C:\> SC DELETE mysql

或者,使用 mysqld --remove 选项删除服务。

C:\> "C:\Program Files\MySQL\MySQL Server 8.3\bin\mysqld" --remove

如果 mysqld 未作为服务运行,您可以从命令行启动它。有关说明,请参阅 第 2.3.3.6 节,“从 Windows 命令行启动 MySQL”

如果您在安装过程中遇到困难,请参阅 第 2.3.4 节,“排除 Microsoft Windows MySQL 服务器安装问题”

有关停止或删除 Windows 服务的更多信息,请参阅 第 7.8.2.2 节,“作为 Windows 服务启动多个 MySQL 实例”