文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  将 MySQL 作为 Windows 服务启动

2.3.3.8 将 MySQL 作为 Windows 服务启动

在 Windows 上,运行 MySQL 的推荐方法是将其安装为 Windows 服务,这样 MySQL 就可以在 Windows 启动和停止时自动启动和停止。作为服务安装的 MySQL 服务器也可以使用 NET 命令或图形 服务 实用程序从命令行进行控制。通常,要将 MySQL 安装为 Windows 服务,您应该使用具有管理员权限的帐户登录。

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

安装服务

在将 MySQL 安装为 Windows 服务之前,您应该先使用以下命令停止当前服务器(如果正在运行):

C:\> "C:\Program Files\MySQL\MySQL Server 9.0\bin\mysqladmin"
          -u root shutdown
注意

如果 MySQL root 用户帐户有密码,则需要使用 -p 选项调用 mysqladmin,并在提示时提供密码。

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

注意

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

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

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

服务安装命令不会启动服务器。有关该命令的说明将在本节后面给出。

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

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

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

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

  • 将光标放在标记为 变量值 的空间中出现的文本的末尾。(使用 End 键确保光标位于此空间中文本的末尾。)然后输入 MySQL bin 目录的完整路径名(例如,C:\Program Files\MySQL\MySQL Server 9.0\bin),并且应该有一个分号将此路径与该字段中存在的任何值隔开。通过单击 确定 关闭此对话框,依次关闭每个对话框,直到所有打开的对话框都关闭。现在,您应该能够通过在系统上的任何目录的 DOS 提示符处键入其名称来调用任何 MySQL 可执行程序,而无需提供路径。这包括服务器、mysql 客户端以及所有 MySQL 命令行实用程序,例如 mysqladminmysqldump

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

警告

手动编辑系统 PATH 时必须格外小心;意外删除或修改现有 PATH 值的任何部分都可能导致系统出现故障甚至无法使用。

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

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

  • 如果指定了服务名称,则可以在其后跟一个选项。按照惯例,这应该是 --defaults-file=file_name,用于指定服务器启动时应从中读取选项的选项文件名称。

    可以使用除 --defaults-file 之外的单个选项,但不建议这样做。 --defaults-file 更加灵活,因为它允许您通过将多个启动选项放在命名的选项文件中来指定服务器的多个启动选项。

  • 您还可以指定 --local-service 选项,该选项位于服务名称之后。这会导致服务器使用具有有限系统权限的 LocalService Windows 帐户运行。如果同时指定了 --defaults-file--local-service 选项,则它们可以按任意顺序出现。

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

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

  • 如果服务安装命令在--install选项后指定了除MySQL以外的服务名称,则服务器将使用该服务名称。它从标准选项文件中的[mysqld]组以及与服务名称相同的组中读取选项。这使您可以使用[mysqld]组用于所有MySQL服务应使用的选项,并使用服务名称的选项组用于使用该服务名称安装的服务器。

  • 如果服务安装命令在服务名称之后指定了--defaults-file选项,则服务器以与前一项中描述的相同方式读取选项,只是它只从指定的文件中读取选项,并忽略标准选项文件。

作为更复杂的示例,请考虑以下命令

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

在此,默认服务名称(MySQL)在--install选项之后给出。如果没有给出--defaults-file选项,此命令将使服务器从标准选项文件中读取[mysqld]组。但是,由于存在--defaults-file选项,服务器只从指定的文件中读取[mysqld]选项组中的选项。

注意

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

您还可以将选项指定为 Windows 服务实用程序中的启动参数,然后再启动 MySQL 服务。

最后,在尝试启动 MySQL 服务之前,请确保运行服务的操作系统用户的用户变量%TEMP%%TMP%(以及%TMPDIR%,如果曾经设置过)指向用户具有写入权限的文件夹。运行 MySQL 服务的默认用户是LocalSystem,其%TEMP%%TMP%的默认值是C:\Windows\Temp,默认情况下LocalSystem具有写入权限的目录。但是,如果对该默认设置进行了任何更改(例如,对运行服务的用户或上述用户变量进行了更改,或者--tmpdir选项已用于将临时目录放在其他位置),则 MySQL 服务可能无法运行,因为未向适当的用户授予对临时目录的写入权限。

启动服务

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

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

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

您还可以选择将服务器安装为手动服务,如果您不希望该服务在引导过程中自动启动。为此,请使用--install-manual选项而不是--install选项

C:\> "C:\Program Files\MySQL\MySQL Server 9.0\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 9.0\bin\mysqld" --remove

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

如果您在安装过程中遇到困难,请参见第 2.3.4 节,“对 Microsoft Windows MySQL 服务器安装进行故障排除”

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