• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 在Windows上安装MySQL

    MySQL仅适用于Microsoft Windows 64位操作系统。有关支持的Windows平台的信息,请参见 https://www.mysql.com/support/supportedplatforms/database.html。

    有多种方法可以在Microsoft Windows上安装MySQL。

    MySQL Installer方法

    最简单和推荐的方法是下载MySQL Installer(用于Windows),并使其安装和配置特定版本的MySQL Server,如下所示:

    1. 从https://dev.mysql.com/downloads/installer/下载MySQL Installer 并执行它。

      注意

      与标准的MySQL Installer不同,较小的“ web-community”版本不捆绑任何MySQL应用程序,但会下载您选择安装的MySQL产品。

    2. 确定用于MySQL产品初始安装的安装类型。例如:

      • 开发者默认设置:提供一种安装类型,其中包括选定版本的MySQL服务器以及其他与MySQL开发相关的MySQL工具,例如MySQL Workbench。
      • 仅服务器:不使用其他产品为选定版本的MySQL Server提供设置。
      • 自定义:使您能够选择任何版本的MySQL Server和其他MySQL产品。
    3. 安装服务器实例(和产品),然后通过首先为服务器实例选择以下可用性级别之一来开始服务器配置:

      • 独立MySQL服务器/经典MySQL复制(默认)

        将服务器实例配置为在没有高可用性的情况下运行。

      • InnoDB集群

        提供基于MySQL组复制的两个配置选项:

        • 在本地主机上的沙箱InnoDB群集中配置多个服务器实例(仅用于测试)。
        • 创建一个新的InnoDB集群并配置一个种子实例或将一个新的服务器实例添加到现有的InnoDB集群。
    4. 按照屏幕上的说明完成配置过程。有关每个步骤的更多信息,请参见“使用MySQL Installer进行MySQL服务器配置”。

    现在已安装MySQL。如果将MySQL配置为服务,则Windows将在每次重新启动系统时自动启动MySQL服务器。另外,此过程还会在本地主机上安装MySQL Installer应用程序,您以后可以使用它来升级或重新配置MySQL服务器。

    注意

    如果您在系统上安装了MySQL Workbench,请考虑使用它来检查新的MySQL服务器连接。默认情况下,该程序在安装MySQL之后自动启动。

    其他安装信息

    可以将MySQL作为标准应用程序或Windows服务运行。通过使用服务,您可以通过标准Windows服务管理工具监视和控制服务器的操作。有关更多信息,请参见“将MySQL作为Windows服务启动”。

    为了适应该RESTART语句,MySQL服务器在作为服务或独立运行时派生,以使监视进程能够监督服务器进程。在这种情况下,您将观察到两个mysqld进程。如果RESTART不需要功能,则可以使用该--no-monitor选项启动服务器。请参见“ RESTART语句”。

    通常,您应该使用具有管理员权限的帐户在Windows上安装MySQL。否则,您可能会在某些操作上遇到问题,例如编辑PATH环境变量或访问服务控制管理器。安装后,不需要使用具有管理员权限的用户执行MySQL。

    有关在Windows平台上使用MySQL的限制的列表,请参见“ Windows平台限制”。

    除了MySQL Server软件包外,您可能需要或希望其他组件将MySQL与您的应用程序或开发环境一起使用。这些包括但不限于:

    • 要使用ODBC连接到MySQL服务器,您必须具有连接器/ ODBC驱动程序。有关更多信息,包括安装和配置说明,请参见《 MySQL Connector / ODBC开发人员指南》。

      注意

      MySQL Installer将为您安装和配置连接器/ ODBC。

    • 要将MySQL服务器与.NET应用程序一起使用,必须具有连接器/ NET驱动程序。有关更多信息,包括安装和配置说明,请参见《MySQL Connector / NET开发人员指南》。

      注意

      MySQL Installer将为您安装和配置MySQL Connector / NET。

    可以从https://dev.mysql.com/downloads/下载适用于Windows的MySQL发行版。

    适用于Windows的MySQL具有多种分发格式,此处有详细介绍。一般来说,您应该使用MySQL Installer。它包含比旧版MSI更多的功能和MySQL产品,比压缩文件更易于使用,并且不需要其他工具即可启动和运行MySQL。MySQL Installer自动安装MySQL Server和其他MySQL产品,创建选项文件,启动服务器,并使您能够创建默认用户帐户。有关选择软件包的更多信息,请参见“选择安装软件包”。

    • MySQL Installer发行版包括MySQL Server和其他MySQL产品,包括MySQL Workbench,用于Visual Studio的MySQL和用于Excel的MySQL。将来还可以使用MySQL Installer升级这些产品(请参阅 https://dev.mysql.com/doc/mysql-compat-matrix/en/)。

      有关使用MySQL Installer安装MySQL的说明,请参见“适用于Windows的MySQL Installer”。

    • 标准二进制分发文件(打包为压缩文件)包含您解压缩到所选位置的所有必需文件。该软件包包含完整的Windows MSI Installer软件包中的所有文件,但不包括安装程序。

      有关使用压缩文件安装MySQL的说明,请参见“使用noinstallZIP存档在Microsoft Windows上安装MySQL ”。

    • 源代码分发格式包含用于使用Visual Studio编译器系统生成可执行文件的所有代码和支持文件。

      有关在Windows上从源代码构建MySQL的说明,请参见“从源代码安装MySQL”。

    Windows上的MySQL注意事项


    • 大表支持

      如果您需要大于4GB的表,请在NTFS或更高版本的文件系统上安装MySQL。不要忘了使用MAX_ROWS,并AVG_ROW_LENGTH在创建表时。请参见“ CREATE TABLE语句”。

    • MySQL和病毒检查软件

      包含MySQL数据和临时表的目录上的病毒扫描软件(例如Norton / Symantec Anti-Virus)可能会导致问题,无论是从MySQL的性能还是病毒扫描软件将文件内容错误地识别为包含垃圾邮件。这归因于病毒扫描软件使用的指纹识别机制,以及MySQL快速更新不同文件的方式,这可能被确定为潜在的安全风险。

      安装MySQL Server之后,建议您在datadir用于存储MySQL表数据的主目录()上禁用病毒扫描。通常,病毒扫描软件中内置了一个系统,可以忽略特定目录。

      另外,默认情况下,MySQL在标准Windows临时目录中创建临时文件。为了防止也扫描临时文件,请为MySQL临时文件配置一个单独的临时目录,然后将此目录添加到病毒扫描排除列表中。为此,请将tmpdir参数的配置选项添加到my.ini配置文件中。有关更多信息,请参见“创建选项文件”。


    Microsoft Windows上的MySQL安装布局

    对于Windows上的MySQL 8.0,默认安装目录C:\Program Files\MySQL\MySQL Server 8.0用于使用MySQL Installer执行的安装。如果您使用ZIP存档方法安装MySQL,则可能更喜欢在中安装C:\mysql。但是,子目录的布局保持不变。

    使用下表中显示的结构,所有文件都位于此父目录中。

    表2.4 Microsoft Windows的默认MySQL安装布局

    目录目录内容笔记
    binmysqld服务器,客户端和实用程序
    %PROGRAMDATA%\MySQL\MySQL Server 8.0\日志文件,数据库Windows系统变量%PROGRAMDATA%默认为C:\ProgramDat
    docs发布文件对于MySQL Installer,使用该Modify操作选择此可选文件夹。
    include包含(头)文件
    lib图书馆
    share其他支持文件,包括错误消息,字符集文件,示例配置文件,用于数据库安装的SQL

    选择安装包

    对于MySQL 8.0,在Windows上安装MySQL时,有多种安装包格式可供选择。本节中描述的软件包格式为:

    • MySQL安装程序
    • MySQL Noinstall ZIP档案
    • MySQL Docker映像

    程序数据库(PDB)文件(文件扩展名为pdb)提供了在发生问题时调试MySQL安装的信息。这些文件包含在MySQL的ZIP存档发行版(但不包括MSI发行版)中。

    MySQL安装程序

    该软件包的文件名类似于mysql-installer-community-8.0.21.0.msimysql-installer-commercial-8.0.21.0.msi,并利用MSI自动安装MySQL服务器和其他产品。MySQL Installer将下载更新并对其应用更新,并为每个已安装的产品应用更新。它还配置已安装的MySQL服务器(包括沙箱InnoDB群集测试设置)和MySQL路由器。建议大多数用户使用MySQL Installer。

    MySQL Installer可以安装和管理(添加,修改,升级和删除)许多其他MySQL产品,包括:

    • 应用程序– MySQL Workbench,用于Visual Studio的MySQL,用于Excel的MySQL,MySQL Shell和MySQL路由器(请参阅 https://dev.mysql.com/doc/mysql-compat-matrix/zh-cn)
    • 连接器– MySQL连接器/ C + +,MySQL连接器/ NET,连接器/ ODBC,MySQL连接器/ Python,MySQL连接器/ J,MySQL连接器/Node.js
    • 文档– MySQL手册(PDF格式),示例和示例

    MySQL Installer可在所有MySQL支持的Windows版本上运行(请参阅 https://www.mysql.com/support/supportedplatforms/database.html)。

    注意

    由于MySQL Installer不是Microsoft Windows的本机组件,并且依赖于.NET,因此它不适用于Windows Server的Server Core版本之类的最小安装选项。

    有关如何使用MySQL Installer安装MySQL的说明,请参见“适用于Windows的MySQL Installer”。

    MySQL Noinstall ZIP档案

    这些软件包包含在完整的MySQL Server安装软件包中找到的文件,但GUI除外。此格式不包括自动安装程序,必须手动安装和配置。

    noinstallZIP档案被分成两个独立的压缩文件。主程序包名为。它包含在系统上使用MySQL所需的组件。可选的MySQL测试套件,MySQL基准套件和调试二进制文件/信息组件(包括PDB文件)位于名为的单独压缩文件中。mysql-VERSION-winx64.zipmysql-VERSION-winx64-debug-test.zip

    如果选择安装noinstallZIP存档,请参见“使用noinstallZIP存档在Microsoft Windows上安装MySQL ”。

    MySQL Docker映像

    有关在Windows平台上使用Oracle提供的MySQL Docker映像的信息,请参见“在Windows和其他非Linux平台上使用Docker部署MySQL”。

    警告

    Oracle提供的MySQL Docker映像是专门为Linux平台构建的。不支持其他平台,在其上运行来自Oracle的MySQL Docker映像的用户将自担风险。


    Windows版MySQL安装程序

    MySQL Installer是一个独立的应用程序,旨在减轻安装和配置在Microsoft Windows上运行的MySQL产品的复杂性。它支持以下MySQL产品:

    • MySQL服务器

      MySQL Installer可以同时在同一主机上安装和管理多个独立的MySQL服务器实例。例如,MySQL Installer可以在同一主机上安装,配置和升级MySQL 5.6,MySQL 5.7和MySQL 8.0的单独实例。MySQL Installer不允许在主要版本号和次要版本号之间进行服务器升级,但是允许在发行系列(例如5.7.18至5.7.19)内进行升级。

      注意

      MySQL Installer不能在同一主机上安装MySQL服务器的社区版和商业版(标准版和企业版)。如果您需要在同一主机上同时使用两个发行版,请考虑使用ZIP存档发行版来安装其中一个发行版。

    • MySQL应用

      MySQL工作台,MySQL Shell,MySQL路由器,Visual Studio的MySQL,Excel的MySQL和MySQL通告程序。

    • MySQL连接器

      MySQL连接器/ NET,MySQL连接器/ Python,MySQL连接器/ ODBC,MySQL连接器/ J和MySQL连接器/ C + +。

      注意

      要安装MySQL Connector / Node.js,请参见 https://dev.mysql.com/downloads/connector/nodejs/。Connector / Node.js不提供.msi用于MySQL Installer 的文件。

    • 文档和样本

      PDF格式的MySQL参考手册(按版本)和MySQL数据库样本(按版本)。

    安装要求

    MySQL Installer需要Microsoft .NET Framework 4.5.2或更高版本。如果主机上未安装此版本,则可以通过访问Microsoft网站进行下载。

    MySQL Installer社区发布

    从https://dev.mysql.com/downloads/installer/下载软件,以安装适用于Windows的所有MySQL产品的社区版本。选择以下MySQL Installer软件包选项之一:

    • Web:仅包含MySQL Installer和配置文件。该Web软件包仅下载您选择安装的MySQL产品,但是每次下载都需要Internet连接。该文件的大小约为2 MB。文件名的格式如下: where是MySQL服务器版本号(例如8.0),是程序包号(从0开始)。mysql-installer-community-web-VERSION.N.msiVERSIONN
    • 完整或当前捆绑包:捆绑Windows的所有MySQL产品(包括MySQL服务器)。文件大小超过300 MB,名称的格式如下: where是MySQL服务器版本号(例如8.0),是程序包号(从0开始)。mysql-installer-community-VERSION.N.msiVERSIONN

    MySQL Installer商业版

    从https://edelivery.oracle.com/下载软件以安装适用于Windows的MySQL产品的商业版(标准版或企业版)。商业版本包括社区版本中的所有当前和先前的GA版本(不包括开发里程碑版本),还包括以下产品:

    • 工作台SE / EE
    • MySQL企业备份
    • MySQL企业防火墙

    商业版本与您的My Oracle Support(MOS)帐户集成在一起。有关知识库的内容和补丁,请参见 My Oracle Support。


    MySQL安装程序初始设置

    • 选择安装类型
    • 路径冲突
    • 检查要求
    • MySQL安装程序配置文件

    首次下载MySQL Installer时,安装向导会指导您完成MySQL产品的初始安装。如下图所示,初始设置是整个过程中的一次性活动。MySQL Installer会在初始安装过程中检测主机上安装的现有MySQL产品,并将它们添加到要管理的产品列表中。

    图2.7 MySQL Installer流程概述


    检查需求要素说明

    1. 显示初始设置中的当前步骤。此列表中的步骤可能会略有变化,具体取决于主机上已安装的产品,必备软件的可用性以及要在主机上安装的产品。
    2. 按产品列出所有挂起的安装要求,并显示如下状态:

      • “状态”列中的空格表示MySQL Installer可以尝试为您下载并安装所需的软件。
      • “状态”列中的“手动”一词意味着您必须手动满足要求。在列表中选择每个产品以参见其需求详细信息。
    3. 详细描述要求,以帮助您完成每个手动解决方案。如果可能,提供下载URL。下载并安装所需的软件后,单击“检查”以确认满足要求。
    4. 提供以下设置操作以继续:

      • 返回–返回上一步。此操作使您可以选择其他设置类型。
      • 执行–让MySQL Installer在没有手动状态的情况下尝试下载并安装所有项目所需的软件。手动要求由您解决,并通过单击检查进行验证。
      • 下一步–在不包括未通过检查要求步骤的产品的情况下,请勿执行请求以自动应用要求并继续安装。
      • 取消–停止安装MySQL产品。因为已经安装了MySQL Installer,所以当您从“开始”菜单中打开MySQL Installer并从仪表板中单击“添加”时,初始设置将再次开始。有关可用管理操作的描述,请参见产品目录。

    MySQL安装程序配置文件

    所有MySQL Installer文件都位于C:\Program Files(x86)C:\ProgramDat 文件夹内。下表描述了将MySQL Installer定义为独立应用程序的文件和文件夹。

    注意

    更新或卸载MySQL Installer时,既不会更改也不会删除已安装的MySQL产品。

    表2.5 MySQL Installer配置文件

    文件或文件夹描述文件夹层次结构
    MySQL Installer for Windows该文件夹包含运行MySQL Installer和MySQLInstallerConsole.exe(具有类似功能的命令行程序)所需的所有文件。C:\Program Files(x86)
    TemplatesTemplates对于每个版本的MySQL服务器,该文件夹都有一个文件。模板文件包含用于动态计算某些值的键和公式。C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest
    package-rules.xml

    该文件包含要安装的每个产品的先决条件。

    C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest
    produts.xml

    products文件(或产品目录)包含所有可供下载的产品的列表。

    C:\ProgramData\MySQL\MySQL Installer for Windows\Manifest
    Product Cache

    Product Cache文件夹包含.msi与完整软件包捆绑在一起或之后下载的所有独立文件。

    C:\ProgramData\MySQL\MySQL Installer for Windows

    使用MySQL安装程序设置备用服务器路径

    在安装MySQL服务器时,您可以更改默认的安装路径,数据路径或两者。安装服务器后,如果不删除并重新安装服务器实例,则无法更改路径。

    更改MySQL服务器的路径

    1. 确定要更改并显示“高级选项”链接的MySQL服务器。

      1. 通过执行以下操作之一导航到“选择产品和功能”步骤:

        1. 如果这是MySQL Installer 的初始设置,请选择Custom设置类型,然后单击“下一步”。
        2. 如果已经安装了MySQL Installer,请从“开始”菜单启动它,然后从仪表板中单击“添加”。
      2. 单击“编辑”以将过滤器应用于“可用产品”中显示的产品列表(请参阅查找要安装的产品)。
      3. 选中服务器实例后,使用箭头将所选服务器移至“要安装的产品/功能”列表。
      4. 单击服务器以将其选中。选择服务器时,将显示“高级选项”链接。有关详细信息,请参见下图。
    2. 单击“高级选项”以打开一个对话框,您可以在其中输入替代路径名。验证路径名后,单击“下一步”继续配置步骤。

      图2.9更改MySQL服务器路径

    使用MySQL Installer的安装工作流程

    MySQL Installer提供了类似于向导的工具,可为Windows安装和配置新的MySQL产品。与仅运行一次的初始设置不同,MySQL Installer每次下载或安装新产品时都会调用向导。对于首次安装,初始设置的步骤直接进入安装步骤。有关产品选择的帮助,请参阅查找要安装的产品。

    注意

    向执行MySQL Installer的用户授予对所有生成的文件的完全权限,例如my.ini。这并不适用于文件和目录的特定产品,如MySQL服务器数据目录%ProgramData%是所拥有SYSTEM

    在主机上安装和配置的产品遵循通用模式,在各个步骤中可能需要您输入。如果您尝试安装与现有MySQL服务器版本(或选择用于升级的版本)不兼容的产品,则会收到有关可能不匹配的警告。

    MySQL Installer使用以下工作流程将所有选定的产品一起加载:

    • 产品下载。如果您安装了完整的(不是Web的)MySQL Installer软件包,则所有.msi文件都将Product Cache在初始安装过程中加载到该文件夹中,而不会再次下载。否则,请单击执行以开始下载。每个产品的状态从Downloading变为Downloaded
    • 产品安装。列表中每个产品的状态从更改Ready to InstallInstalling,最后更改为Complete。在此过程中,单击“显示详细信息”以参见安装操作。

      如果此时取消安装,则将安装产品,但尚未配置服务器(如果已安装)。要重新启动服务器配置,请从“开始”菜单中打开MySQL Installer,然后单击仪表板上相应服务器旁边的“重新配置”链接。

    • 产品配置。此步骤仅适用于MySQL Server,MySQL Router和示例。列表中每个项目的状态应指示Ready to Configure

      单击“下一步”启动列表中所有项目的配置向导。在此步骤中显示的配置选项特定于您选择安装的数据库或路由器的版本。

      单击执行以开始应用配置选项,或单击返回(反复)以返回到每个配置页面。单击完成以打开 MySQL Installer仪表板。

    • 安装完成。此步骤完成了不需要配置的产品的安装。它使您能够将日志复制到剪贴板并启动某些应用程序,例如MySQL Workbench和MySQL Shell。单击完成以打开 MySQL Installer仪表板。

    使用MySQL安装程序配置MySQL服务器

    MySQL Installer执行MySQL服务器的初始配置。例如:

    • 对于MySQL 8.0版本系列,可以将服务器配置为作为独立数据库运行,在单个主机上作为沙箱InnoDB集群运行,或者在本地网络内创建生产型InnoDB集群(请参见“高可用性”)。
    • 它创建my.ini用于配置MySQL服务器的配置文件()。写入此文件的值受安装过程中所做选择的影响。一些定义取决于主机。例如,如果主机的内核少于三个,则启用query_cache。

      注意

      查询缓存在MySQL 5.7中已弃用,在MySQL 8.0(及更高版本)中已删除。

    • 默认情况下,将为MySQL服务器添加Windows服务。
    • 提供MySQL服务器的默认安装和数据路径。有关如何更改默认路径的说明,请参见“使用MySQL Installer设置备用服务器路径”。
    • 它可以根据常规角色(例如DB Administrator,DB Designer和Backup Admin)创建具有可配置权限的MySQL服务器用户帐户。可以选择创建一个MysqlSys具有有限特权的Windows用户,该用户随后将运行MySQL Server。

      用户帐户也可以在MySQL Workbench中添加和配置。

    • 选中显示高级选项可设置其他日志记录选项。这包括为错误日志,常规日志,慢速查询日志(包括执行查询所需的秒数)和二进制日志定义自定义文件路径。

    在配置过程中,单击“下一步”继续下一步,或单击“上一步”返回上一步。在最后一步中单击“执行”以应用服务器配置。

    以下各节介绍了适用于Windows上MySQL服务器的服务器配置选项。您安装的服务器版本将确定您可以配置哪些步骤和选项。配置MySQL服务器可能包括一些或所有步骤。

    2.3.3.3.1.1高可用性

    MySQL Installer使您可以使用MySQL组复制将MySQL Server作为独立实例或作为高可用性群集的成员进行安装,配置和部署。无论哪种情况,MySQL Installer都将服务器的安装和配置限制为本地Windows主机。

    • 独立MySQL服务器/经典MySQL复制(默认)

      选择此选项可将一个MySQL实例配置为作为独立数据库服务器运行。如果您打算稍后设置经典复制,然后将该服务器包括在自定义解决方案中,则此选项非常理想。其余的配置步骤将在以下各节中介绍,从 Type和Networking开始。

    • InnoDB集群

      选择此选项可创建或扩展基于MySQL组复制的InnoDB集群解决方案(请参见“ InnoDB集群简介”)。您可以配置(或重新配置)至少三个服务器实例,以在单台计算机上作为仅测试沙箱群集执行基本设置,或在本地网络内创建生产群集。

      InnoDB集群日志详细级别。此配置步骤包括一个可调整的日志,该日志在生产或沙箱群集中每个服务器实例的配置过程中捕获信息。值是:MINIMALMEDIUM(默认)和DEBUG。如果集群配置失败,请使用MySQL Installer仪表板中的Reconfigure操作重新启动配置,然后将详细级别设置为在下次尝试期间收集其他信息。DEBUG

      MySQL Installer提供以下配置变体来部署InnoDB集群:

      • 设置仅用于测试的本地服务器群集

        选择创建用于测试的沙盒InnoDB集群以启用此选项。出现提示时,定义集群中服务器沙箱实例的数量,为root用户设置密码,并根据需要调整InnoDB集群日志的详细程度。有关配置的更多详细说明,请参见使用MySQL Installer部署沙盒InnoDB集群。此设置需要MySQL 5.7.17或更高版本。

      • 创建或加入InnoDB集群

        要使用MySQL Installer设置高可用性的InnoDB集群,本地网络上至少必须有三台计算机。如果需要更高级的设置,请使用MySQL Shell配置集群中的某些或所有服务器实例。有关如何执行本地网络群集设置的详细信息,请参见使用MySQL Installer设置InnoDB群集。此设置需要MySQL 8.0.0或更高版本。

      InnoDB集群旨在与MySQL Shell一起使用,这使您可以执行高级集群管理,而MySQL Router可以自动执行客户端应用程序和服务器实例之间建立的连接。使用MySQL Installer在Windows上部署群集不需要MySQL Shell和MySQL Router。

    使用MySQL安装程序部署沙盒InnoDB集群

    沙箱部署包括在同一台计算机上一起运行的多个服务器沙箱实例。因为所有服务器实例都位于同一台计算机上,所以沙箱群集无法满足高可用性解决方案的要求。相反,此部署选项模拟了一个环境,您可以从中探索与InnoDB集群管理相关的技术。

    当选择创建用于测试的Sandbox InnoDB集群时,后续步骤将提示您选择一个由三个,五个,七个或九个MySQL服务器实例组成的集群。与MySQL Installer提供的其他服务器设置不同,沙箱部署会跳过常规的服务器配置步骤(“身份验证方法”除外)。生成的名为的群集sandboxCluster在为您配置的选定端口上可用。

    注意

    如果在安装期间使用MySQL Shell为沙箱InnoDB集群手动设置了端口,则MySQL Installer会删除端口3310至3390。

    每个沙箱实例都配置为作为进程运行(而不是Windows服务)。重新启动计算机后,必须手动启动沙箱群集中的每个实例。

    创建测试群集后,单击“摘要”选项卡以参见适用于您的群集的特定端口。要修改现有集群中的服务器实例数或调整日志记录级别,请使用MySQL Installer仪表板中的Reconfigure 快速操作。

    警告

    重新配置群集或升级沙箱群集中的服务器实例时,MySQL Installer会删除所有现有的沙箱群集数据。

    MySQL Installer将所有沙箱InnoDB集群配置条目存储在installer_config.xml文件中。默认情况下,MySQL Installer %userprofile%\MySQL\mysql-sandboxes在本地主机上创建沙箱实例。

    使用MySQL安装程序设置InnoDB集群

    要创建一个InnoDB集群,请选择InnoDB Cluster作为High Availability选项,然后选择Create a New InnoDB Cluster。调整日志详细级别(根据需要),然后单击“下一步”以配置第一个服务器实例。此设置过程涉及在多台计算机上安装和运行MySQL Installer。

    通过提供以下配置信息来定义第一个服务器实例(或种子):

    • InnoDB集群名称:

      默认群集名称为myCluster。如果要配置多个群集,请使用在解决方案中有意义的默认名称替换默认名称。字母数字字符,空格和下划线(_)字符对此字段有效。限制为40个字符。

    • 集群管理员用户名:

      默认的群集管理员名称是ic。您可以在多个群集中重复使用相同的MySQL管理帐户。当您配置其他服务器实例加入群集时,稍后将提示您输入此帐户名(和密码)。限制为32个字符。

    • 集群管理员密码:

      输入集群管理员帐户的密码(最小长度为四个字符)。键入时,MySQL Installer会评估MySQL密码的强度。使用“重复密码”字段来确认密码。

    • 主机地址:

      从列表中选择本地主机的主机名或IP地址。将其他服务器实例加入群集时,将提示您通过主机名或IP地址标识种子实例。

    • 服务器ID:

      默认值为1。需要此标识符才能在二进制日志中记录服务器实例的事件。集群中每个服务器实例的ID必须唯一。但是,您可以在其他群集中重复使用相同的号码。您在此字段中指定的服务器ID稍后也会出现在“高级选项”步骤中。如果您在“高级选项”中更改了值,那么InnoDB群集安装程序的编号也会更改。

    单击“下一步”,然后完成其余的配置步骤,这些步骤将在以下各节中进行介绍,从“类型”和“网络”开始。添加种子实例并创建群集后,它需要更多实例才能完全容忍。此时,状态为OK_NO_TOLERANCE

    要将第二个和第三个服务器实例添加到群集,必须为每个实例在局域网内使用单独的计算机。完成联接操作需要种子实例的一些配置详细信息。

    启动MySQL Installer并将服务器实例安装在下一台计算机上之后,通过选择InnoDB Cluster作为High Availability选项开始配置,然后选择Add Local MySQL Server Instance to InnoDB Cluster。调整 InnoDB群集日志详细级别(根据需要),然后单击下一步。

    通过提供以下配置信息来定义加入服务器实例:

    • 种子实例地址:

      输入托管种子实例的计算机的主机名或IP地址。

    • 种子实例端口:

      默认值为3306,这是经典MySQL的端口。使用为种子实例配置的相同TCP端口。

    • 集群管理员用户名:

      默认的群集管理员名称是ic。如果在配置种子实例时分配了其他名称,请输入备用群集管理员名称。

    • 集群管理员密码:

      输入分配给集群管理员帐户的密码。

    • 主机地址:

      从列表中选择本地主机的主机名或IP地址。

    • 服务器ID:

      默认值为1。需要此标识符才能在二进制日志中记录服务器实例的事件。集群中每个服务器实例的ID必须唯一。但是,您可以在其他群集中重复使用相同的号码。您在此字段中指定的服务器ID稍后也会出现在“高级选项”步骤中。如果您在“高级选项”中更改了值,那么InnoDB群集安装程序的编号也会更改。

    • 测试连接

      使用此按钮可以验证本地服务器实例和为集群定义的种子实例之间的连接。需要有效的连接才能继续。

    单击“下一步”,然后完成其余的配置步骤,这些步骤将在以下各节中进行介绍,从“类型”和“网络”开始。

    在集群中有一个种子实例和第二个服务器实例的情况下,状态为OK_NO_TOLERANCE。添加第三个服务器实例后,状态为OK,这表明群集现在可以容忍一个实例的故障。

    2.3.3.3.1.2类型和联网

    • 服务器配置类型

      选择描述您的设置的MySQL服务器配置类型。此设置定义分配给您的MySQL服务器实例的系统资源(内存)的数量。

      • 开发:承载许多其他应用程序的计算机,通常是您的个人工作站。此设置将MySQL配置为使用最少的内存。
      • 服务器:有望在此计算机上运行其他一些应用程序,例如Web服务器。服务器设置将MySQL配置为使用中等数量的内存。
      • 专用:专门用于运行MySQL服务器的计算机。由于没有其他主要应用程序在该服务器上运行,因此此设置将MySQL配置为使用大部分可用内存。
    • 连接性

      连接选项控制与MySQL的连接方式。选项包括:

      • TCP / IP:默认情况下选中此选项。您可以禁用TCP / IP网络以仅允许本地主机连接。选中“ TCP / IP连接”选项后,您可以修改以下项目:

        • 端口为经典的MySQL协议连接。默认值为3306
        • 仅配置MySQL 8.0服务器时显示的X协议端口。
        • 打开Windows防火墙端口以进行网络访问,默认情况下,TCP / IP已选择该端口。

        如果端口号已在使用中,您将在默认值旁边看到信息图标(),并且在提供新的端口号之前,“下一步”被禁用。

      • 命名管道:启用和定义管道名称,类似于设置named_pipe系统变量。默认名称是MySQL
      • 共享内存:启用和定义内存名称,类似于设置shared_memory系统变量。默认名称是MySQL
    • 进阶设定

      选中显示高级和日志记录选项以在以后的步骤中设置自定义日志记录和高级选项。通过“日志记录选项”步骤,您可以为错误日志,常规日志,慢查询日志(包括执行查询所需的秒数配置)和二进制日志定义自定义文件路径。使用“高级选项”步骤,可以设置在复制拓扑中启用二进制日志记录时所需的唯一服务器ID。

    • MySQL企业防火墙(仅企业版)

      默认情况下,“启用MySQL企业防火墙”复选框处于未选中状态。选择此选项可启用安全白名单,该白名单可提供针对某些类型的攻击的保护。需要附加的安装后配置(请参见“ MySQL企业防火墙”)。

      重要

      MySQL 8.0.19存在一个问题,如果在服务器配置步骤中选择了MySQL企业防火墙,则会阻止服务器启动。如果服务器启动操作失败,请单击“取消”以结束配置过程并返回到仪表板。您必须卸载服务器。

      解决方法是在未选择MySQL企业防火墙的情况下运行MySQL Installer。(也就是说,不要选中“启用MySQL企业防火墙”复选框。)然后按照手动安装说明安装MySQL企业防火墙(请参见“MySQL企业防火墙”)。

    2.3.3.3.1.3身份验证方法

    仅在安装或升级MySQL 8.0.4或更高版本时,“身份验证方法”步骤才可见。它引入了两个服务器端身份验证选项之间的选择。在下一步中创建的MySQL用户帐户将使用在此步骤中选择的身份验证方法。

    libmysqlclient现在,使用8.0的MySQL 8.0连接器和社区驱动程序支持mysql_native_password默认的身份验证插件。但是,如果无法更新客户端和应用程序以支持此新的身份验证方法,则可以将MySQL服务器配置mysql_native_password为用于旧式身份验证。有关此更改的含义的更多信息,请参见 caching_sha2_password作为首选身份验证插件。

    如果要安装或升级到MySQL 8.0.4或更高版本,请选择以下身份验证方法之一:

    • 使用强密码加密进行身份验证(推荐)

      MySQL 8.0支持基于改进的,更强大的基于SHA256的密码方法的新身份验证。建议所有新安装的MySQL服务器继续使用此方法。

      重要

      caching_sha2_password服务器上进行验证插件需要连接器和客户端,当中添加对新的MySQL 8.0的默认身份验证支持的新版本。

    • 使用旧版身份验证方法(保留MySQL 5.x兼容性)

      仅在以下情况下才应考虑使用旧的MySQL 5.x旧式身份验证方法:

      • 无法将应用程序更新为使用MySQL 8.0连接器和驱动程序。
      • 重新编译现有应用程序是不可行的。
      • 更新的,特定于语言的连接器或驱动程序尚不可用。

    2.3.3.3.1.4帐户和角色

    • 根帐号密码

      需要分配一个root密码,在执行其他MySQL Installer操作时会要求您提供该密码。当您在提供的框中重复输入密码时,将评估密码强度。有关密码要求或状态的描述性信息,请将鼠标指针移到信息图标()出现时。

    • MySQL用户帐户(可选)

      单击添加用户或编辑用户以创建或修改具有预定义角色的MySQL用户帐户。接下来,输入所需的帐户凭据:

      • 用户名: MySQL用户名最长为32个字符。
      • 主机:localhost仅用于本地连接,或者<All Hosts(%)>在需要与服务器的远程连接时选择。
      • 角色:每个预定义的角色(例如DB Admin)都配置有自己的特权集。例如,DB Admin角色比角色拥有更多特权DB Designer。在角色下拉列表中包含了每个角色的描述。
      • 密码:输入密码时,将执行密码强度评估。必须确认密码。MySQL允许使用空白或空密码(被认为是不安全的)。

      仅限于MySQL Installer商业版本:商业产品Windows MySQL企业版也支持在Windows上执行外部身份验证的身份验证方法。通过Windows操作系统认证的帐户可以访问MySQL服务器,而无需提供其他密码。

      要创建使用Windows身份验证的新MySQL帐户,请输入用户名,然后为主机和角色选择一个值。单击 Windows身份验证以启用 uthentication_windows插件。在“ Windows安全令牌”区域中,为每个可以使用MySQL用户名进行身份验证的Windows用户(或组)输入令牌。MySQL帐户可以同时包含本地Windows用户和属于域的Windows用户的安全令牌。多个安全令牌用分号字符(;)分隔,并针对本地帐户和域帐户使用以下格式:

      • 本地帐号

        输入简单的Windows用户名作为每个本地用户或组的安全令牌;例如,finley;jeffrey;admin

      • 域帐号

        使用标准Windows语法()或MySQL语法()输入Windows域用户和组。domain\domainuserdomain\\domainuser

        对于域帐户,如果运行MySQL Installer的帐户缺少查询Active Directory的权限,则可能需要使用域内管理员的凭据。在这种情况下,请选择“验证Active Directory用户的身份”以激活域管理员凭据。

      Windows身份验证允许您在每次添加或修改令牌时测试所有安全令牌。单击测试安全性令牌以验证(或重新验证)每个令牌。无效的令牌会生成描述性错误消息以及红色X图标和红色令牌文本。当所有令牌解析为有效令牌(绿色X图标,无图标)时,可以单击“确定”保存更改。

    2.3.3.3.1.5 Windows服务

    在Windows平台上,MySQL服务器可以作为由操作系统管理的命名服务运行,并配置为在Windows启动时自动启动。或者,您可以将MySQL服务器配置为作为需要手动配置的可执行程序运行。

    • 将MySQL服务器配置为Windows服务(默认选中)。

      选择默认配置选项后,您还可以选择以下内容:

      • 在系统启动时启动MySQL服务器

        选中(默认)后,服务启动类型将设置为“自动”。否则,启动类型设置为“手动”。

      • 运行Windows服务为

        当选择“标准系统帐户”(默认)时,该服务将作为“网络服务”登录。

        “自定义用户”选项必须具有特权才能作为服务登录到Microsoft Windows。在为该用户配置了所需的特权之前,将禁用“下一步”按钮。

        在Windows中,通过在“开始”菜单中搜索“本地安全策略”来配置自定义用户帐户。在“本地安全策略”窗口中,选择“本地策略”,“用户权限分配”,然后选择“作为服务登录”以打开属性对话框。单击添加用户或组以添加自定义用户,然后在每个对话框中单击确定以保存更改。

    • 取消选择Windows服务选项

    2.3.3.3.1.6记录选项

    如果在“类型和网络”步骤中选中了“显示高级配置”复选框,则此步骤可用。要立即启用此步骤,请单击“上一步”返回到“类型和联网”步骤,然后选中复选框。

    高级配置选项与以下MySQL日志文件相关:

    • 错误记录
    • 一般日志
    • 慢查询日志
    • Bin日志
    注意

    默认情况下,MySQL 5.7和更高版本会启用二进制日志。

    2.3.3.3.1.7高级选项

    如果在“类型和网络”步骤中选中了“显示高级配置”复选框,则此步骤可用。要立即启用此步骤,请单击“上一步”返回到“类型和联网”步骤,然后选中复选框。

    高级配置选项包括:

    • 服务器ID

      设置复制拓扑中使用的唯一标识符。如果启用了二进制日志记录,则必须指定服务器ID。默认ID值取决于服务器版本。有关更多信息,请参见server_id系统变量的描述。

      注意

      如果您为InnoDB集群的服务器实例指定了ID,则MySQL Installer会调整ID(显示在此页面上)以匹配先前的标识符。

    • 表名大小写

      您可以在服务器的初始配置和后续配置期间设置以下选项。对于MySQL 8.0版本系列,这些选项仅适用于服务器的初始配置。

      • 小写

        lower_case_table_names选项值设置为1(默认值),其中表名以小写形式存储在磁盘上,并且比较不区分大小写。

      • 保留给定大小写

        lower_case_table_names选项值设置为2,表名称按给定存储,但以小写形式进行比较。

    2.3.3.3.1.8应用服务器配置

    当您单击Execute时,所有配置设置都将应用于MySQL服务器。使用“配置步骤”选项卡来跟踪每个操作的进度;成功时,每个图标将从白色切换为绿色(带有复选标记)。否则,如果单个操作超时,则该过程将停止并显示错误消息。单击日志选项卡以参见日志。

    当安装成功完成并单击 Finish时,MySQL Installer和已安装的MySQL产品将添加到该MySQL组下的Microsoft Windows“开始”菜单中。打开MySQL Installer会加载仪表板,其中列出了已安装的MySQL产品,并且其他MySQL Installer操作可用。

    2.3.3.3.2使用MySQL Installer进行MySQL路由器配置

    MySQL Installer下载并安装一套工具,用于在Windows上开发和管理关键业务应用程序。该套件包括应用程序,连接器,文档和示例。

    在初始设置过程中,选择以外的任何预定安装类型Server only,以安装工具的最新GA版本。使用Custom安装程序类型来安装单个工具或特定版本。如果主机上已经安装了MySQL Installer,则使用添加操作从MySQL Installer仪表板中选择并安装工具。

    MySQL路由器配置

    MySQL Installer提供了一个配置向导,该向导可以引导已安装的MySQL Router 8.0或更高版本的实例,以在MySQL应用程序和InnoDB集群之间路由流量。配置后,MySQL Router作为本地Windows服务运行。有关将MySQL路由器与InnoDB群集一起使用的详细信息,请参阅 MySQL InnoDB群集的路由。

    注意

    在初始安装后以及显式重新配置已安装的路由器时,系统会提示您配置MySQL路由器。相反,升级操作不需要或提示您配置升级的产品。

    要配置MySQL路由器,请执行以下操作:

    1. 设置InnoDB集群。有关如何使用MySQL Installer在本地主机上配置沙箱InnoDB集群的说明,请参见“高可用性”。

      有关InnoDB群集的一般信息,请参见InnoDB群集

    2. 使用MySQL Installer,下载并安装MySQL Router应用程序。安装完成后,配置向导会提示您输入信息。选中“为InnoDB集群配置MySQL路由器”复选框以开始配置并提供以下配置值:

      • 主机名: InnoDB集群中主(种子)服务器的主机名(localhost默认情况下)。
      • 端口: InnoDB集群中主(种子)服务器的端口号(3310默认情况下)。
      • 管理用户:具有root级特权的管理用户。
      • 密码:管理用户的密码。
      • 与InnoDB集群的经典MySQL协议连接

        读/写:将第一个基本端口号设置为一个未使用的端口号(介于80和65532之间),向导将为您选择其余端口。

        下图显示了MySQL路由器配置页面的示例,第一个基本端口号指定为6446,其余端口由向导设置为6447、6448和6449。

      图2.10 MySQL路由器配置


    3. 单击下一步,然后单击执行以应用配置。单击完成关闭MySQL Installer或返回 MySQL Installer仪表板。

    使用MySQL Router安装生产集群后,根帐户仅在用户表中以root@localhost(本地)身份存在,而不是以root@%(远程)存在。无论路由器或客户端位于何处,即使它们都与种子服务器位于同一主机上,服务器也将通过路由器的任何连接视为远程的,而不是本地的。结果,使用本地主机与服务器建立的连接(请参见下面的示例)无法进行身份验证。

    shell> \c root@localhost:6446
    

    MySQL Installer产品目录和仪表板

    • 产品目录
    • MySQL安装程式资讯主页
    • 查找要安装的产品
    • 升级MySQL安装程序

    本节介绍了MySQL Installer产品目录和仪表板。

    产品目录

    产品目录存储了适用于Microsoft Windows的已发布MySQL产品的完整列表,可从MySQL下载中下载这些产品。默认情况下,并且当存在Internet连接时,MySQL Installer会每天更新目录。您也可以从仪表板手动更新目录(稍后介绍)。

    最新目录执行以下操作:

    • 填充“选择产品和功能”步骤的“可用产品”窗格。当您选择以下步骤时,将出现此步骤:

      • Custom该过程中的安装类型初始设置。
      • 在添加从仪表板操作。
    • 标识何时产品更新可用于仪表板中列出的已安装产品。

    该目录包括所有开发版本(预发布),常规版本(当前GA)和次要版本(其他版本)。目录中的产品会有所不同,具体取决于您下载的MySQL Installer版本。

    MySQL安装程式资讯主页

    MySQL Installer仪表板是在初始设置完成后启动MySQL Installer时看到的默认视图。如果在安装完成之前关闭了MySQL Installer,则MySQL Installer将在显示仪表板之前恢复初始安装。

    图2.11 MySQL Installer仪表板元素


    MySQL Installer仪表板元素的描述

    1. MySQL Installer仪表板操作提供了适用于已安装产品或目录中列出的产品的各种操作。要启动以下操作,请首先单击操作链接,然后选择要管理的一个或多个产品:

      • 添加:此操作将打开“选择产品和功能”页面。从那里,您可以过滤产品目录中的产品,选择一个或多个产品进行下载(根据需要),然后开始安装。有关使用过滤器的提示,请参阅查找要安装的产品。
      • 修改:使用此操作可以添加或删除与已安装产品关联的功能。您可以修改的功能因产品而异。当程序快捷方式复选框被选中,该产品将出现在下面的开始菜单MySQL组。
      • 升级:此操作将加载“选择要升级的产品”页面,并使用所有升级候选者进行填充。已安装的产品可以具有多个升级版本,并且需要当前的产品目录。

        重要的服务器升级条件:

        • MySQL Installer不允许在主要发行版本或次要发行版本之间进行服务器升级,但允许在发行系列中进行升级,例如从5.7.18升级到5.7.19。
        • 不支持在里程碑版本之间进行升级(或从里程碑版本升级为GA版本)。重要的开发更改在里程碑版本中进行,您可能会遇到兼容性问题或启动服务器的问题。
        • 对于升级到MySQL 8.0.16和更高版本的服务器,可以使用一个复选框跳过系统表的升级检查和处理,而正常情况下则检查和处理数据字典表。当跳过先前的服务器升级或将服务器配置为沙箱InnoDB集群时,MySQL Installer不会用复选框提示您。此行为表示MySQL服务器执行升级方式的更改(请参见“ MySQL升级过程升级的内容”),并更改了MySQL Installer应用于配置过程的步骤顺序。

          如果选择跳过系统表升级检查和处理。(不推荐),MySQL Installer使用--upgrade=MINIMAL server选项启动升级的服务器,该服务器选项仅升级数据字典。如果停止然后重新启动没有--upgrade=MINIMAL选项的服务器,则服务器会根据需要自动升级系统表。

          升级配置(跳过系统表)完成后,以下信息显示在“日志”选项卡和日志文件中:

          WARNING: The system tables upgrade was skipped after upgrading MySQL Server. The
          
          server will be started now with the --upgrade=MINIMAL option, but then each
          
          time the server is started it will attempt to upgrade the system tables, unless
          
          you modify the Windows service (command line) to add --upgrade=MINIMAL to bypass
          
          the upgrade.
          
          FOR THE BEST RESULTS: Run mysqld.exe --upgrade=FORCE on the command line to upgrade
          
          the system tables manually.
          

        要选择新产品版本:

        1. 点击升级。确认“可升级产品”窗格中产品名称旁边的复选框具有复选标记。取消选择您当前不打算升级的产品。

          注意

          对于同一发行系列中的服务器里程碑版本,MySQL Installer取消选择服务器升级,并显示警告以指示不支持升级,确定继续升级的风险,并提供手动执行逻辑升级的步骤摘要。您可以自行承担重新选择服务器升级的风险。有关如何使用里程碑版本执行逻辑升级的说明,请参阅《逻辑升级》。

        2. 单击列表中的产品以使其突出显示。该操作将使用选定产品的每个可用版本的详细信息填充“可升级版本”窗格:版本号,发布日期以及Changes打开该版本发行说明的链接。

        MySQL Installer一次升级所有选定的产品。单击显示详细信息以参见MySQL安装程序执行的操作。

      • 删除:此操作将打开“删除产品”页面,并在主机上安装MySQL产品。选择要删除(卸载)的MySQL产品,然后单击执行以开始删除过程。在操作过程中,指示器会显示执行的步骤数占所有步骤的百分比。

        要选择要删除的产品,请执行以下任一操作:

        • 选中一个或多个产品的复选框。
        • 选中产品复选框以选择所有产品。

        要删除本地MySQL服务器:

        1. 确定是否应删除本地数据目录。如果保留数据目录,则另一台服务器安装可以重用数据。默认情况下启用此选项(删除数据目录)。
        2. 如果本地服务器是InnoDB群集的成员,请按以下方式重新配置群集:

          1. 键入删除本地服务器后受影响的群集的管理员密码,然后单击“测试连接”以验证凭据。MySQL Installer可以执行以下操作,具体取决于现有集群的配置:

            • 如果本地服务器是种子实例,并且群集中的实例数是1,请在删除本地服务器时解散群集。
            • 如果本地服务器是种子实例,并且群集中的实例数大于一个,请在删除本地服务器时从群集中删除实例或溶解群集。
            • 如果本地服务器是群集中的从属实例,并且群集中的实例数大于两个,请从群集中删除本地实例。(集群中的单个从属实例将自动还原为种子实例。)
            • 如果将本地服务器配置为沙箱InnoDB群集,请删除为沙箱服务器安装创建的所有实例。
          2. 出现提示时,请执行以下任一操作:

            • 选择要应用于集群的操作,然后单击“下一步”。
            • 单击下一步而不选择操作。在大多数情况下,当本地服务器不可用时,MySQL组复制可以管理群集。警告消息提醒您,跳过此步骤可能会导致InnoDB集群配置不一致。
        3. 单击执行以开始卸载本地服务器。请注意,此时您选择删除的所有产品也会被卸载。
        4. (可选)单击“日志”选项卡以显示MySQL Installer执行的当前操作。
    2. 每个已安装服务器旁边的“快速操作”列中的“重新配置”链接将加载服务器的当前配置值,然后循环执行所有配置步骤,使您可以更改选项和值。您必须提供具有root特权的凭据才能重新配置这些项目。单击日志选项卡以显示MySQL Installer执行的每个配置步骤的输出。

      完成后,MySQL Installer停止服务器,应用配置更改,然后为您重新启动服务器。有关每个配置选项的说明,请参见“使用MySQL Installer进行MySQL服务器配置”。Samples and Examples与特定MySQL服务器版本关联的已安装安装也可以重新配置为应用新功能设置(如果有)。

    3. 该目录的链接,您可以手动下载MySQL的产品,最新的目录,然后进行整合与MySQL安装这些产品的变化。目录下载操作不会对主机上已安装的产品执行升级。而是返回到仪表板,并为每个具有较新版本的已安装产品在“版本”列中显示一个箭头图标。使用升级操作来安装较新的产品版本。

      您也可以使用目录链接显示每个产品的当前更改历史记录,而无需下载新目录。选中“此时不更新”复选框以仅参见更改历史记录。

    4. MySQL Installer关于图标()显示MySQL安装程序的当前版本以及有关MySQL的常规信息。版本号位于“后退”按钮上方。

      注意

      报告MySQL Installer问题时,请始终包含此版本号。

      除了关于MySQL信息()外,您还可以从侧面板中选择以下图标:

      • MySQL Installer的许可证图标()。

        本产品可能包括经许可使用的第三方软件。如果您使用的是商业版的MySQL Installer,则该图标将打开MySQL Installer商业版许可证信息用户手册,以获取许可信息,包括与该商业版中可能包含的第三方软件有关的许可信息。如果您使用的是MySQL安装程序的社区版本,则该图标会打开MySQL Installer社区许可证信息用户手册,以获取许可证信息,包括与该社区版本中可能包含的第三方软件有关的许可证信息。

      • 资源链接图标()指向最新的MySQL产品文档,博客,网络研讨会等。
    5. MySQL Installer选项图标()包含以下选项卡:

      • 产品目录:管理每日自动目录更新。默认情况下,目录更新排定为固定时间。当有新产品或产品版本可用时,MySQL Installer会将它们添加到目录中,然后在仪表板上列出的已安装产品的版本号旁边显示一个箭头图标()。

        使用此选项可以启用或禁用自动目录更新,并重置MySQL Installer自动更新目录的时间。有关特定设置,请参阅ManifestUpdateWindows Task Scheduler中命名的任务。

      • 连接设置:MySQL Installer执行的一些操作需要访问互联网。此选项使您可以使用默认值来验证连接或使用其他URL(从列表中选择一个或由您手动添加)。选中“手动”选项后,可以添加新的URL,并且可以移动或删除列表中的所有URL。选择“自动”选项时,MySQL Installer会尝试按顺序连接到列表中的每个默认URL,直到建立连接为止。如果无法建立连接,则会引发错误。
    查找要安装的产品

    目录中的MySQL产品按类别列出:MySQL服务器,应用程序,MySQL连接器和文档。默认情况下,只有最新的GA版本会显示在“可用产品”窗格中。如果您正在寻找产品的预发行版本或较旧版本,则在默认列表中可能看不到该产品。

    要更改默认产品列表,请单击仪表板上的“添加”以打开“选择产品和功能”页面,然后单击“编辑”以打开过滤器对话框(请参见下图)。修改产品值,然后单击“过滤器”。

    图2.12筛选器可用产品

    重置以下一个或多个值以过滤可用产品列表:

    • 文字:按文字过滤。
    • 类别:所有软件(默认),MySQL服务器,应用程序,MySQL连接器或文档(用于示例和文档)。
    • 成熟度:当前捆绑包(最初仅在完整包装中出现),预发行版,当前GA或其他版本。

      注意

      当您选择预发布年龄过滤器时,MySQL Installer的商业版本不会显示任何MySQL产品。开发中的产品仅可从MySQL Installer的社区版本获得。

    • 已下载(默认情况下未选中该复选框)。
    • 体系结构:任何(默认),32位或64位。
    升级MySQL安装程序

    MySQL Installer仍安装在您的计算机上,并且像其他软件一样,MySQL Installer可以从以前的版本升级。在某些情况下,其他MySQL软件可能要求您升级MySQL Installer以获得兼容性。本节介绍如何识别MySQL Installer的当前版本以及如何手动升级MySQL Installer。

    要找到已安装的MySQL Installer版本:

    1. 从搜索菜单中启动MySQL Installer。MySQL Installer仪表板打开。
    2. 单击“ MySQL Installer关于”图标()。版本号位于“后退”按钮上方。

    要启动MySQL Installer的按需升级:

    1. 将装有MySQL Installer的计算机连接到互联网。
    2. 从搜索菜单中启动MySQL Installer。MySQL Installer仪表板打开。
    3. 点击目录上的仪表盘,打开更新目录窗口的底部。
    4. 单击执行开始该过程。如果可以升级已安装的MySQL Installer版本,则将提示您开始升级。
    5. 单击“下一步”以参见对目录的所有更改,然后单击“完成”以返回到仪表板。
    6. 验证(新)已安装的MySQL Installer版本(请参阅前面的过程)。

    MySQLInstallerConsole参考

    MySQLInstallerConsole.exe提供类似于MySQL Installer的命令行功能。它是在最初执行MySQL Installer并在MySQL Installer目录中可用时安装的。通常,它位于中C:\Program Files(x86)\MySQL\MySQL Installer\,并且控制台必须以管理权限执行。

    要使用该命令,请选择“开始”,“附件”,然后以管理特权调用命令提示符,然后右键单击“命令提示符”并选择Run as administrator。然后从命令行将目录更改为MySQLInstallerConsole.exe所在的目录:

    C:\>cd Program Files (x86)\MySQL\MySQL Installer for Windows
    
    C:\Program Files (x86)\MySQL\MySQL Installer for Windows> MySQLInstallerConsole.exe help
    =================== Start Initialization ===================
    
    MySQL Installer is running in Community mode
    
    Attempting to update manifest.
    
    Initializing product requirements
    
    Loading product catalog
    
    Checking for product catalog snippets
    
    Checking for product packages in the bundle
    
    Categorizing product catalog
    
    Finding all installed packages.
    Your product catalog was last updated at 11/1/2016 4:10:38 PM
    =================== End Initialization ===================
    
    The following commands are available:
    
    Configure - Configures one or more of your installed programs.
    Help      - Provides list of available commands.
    Install   - Install and configure one or more available MySQL programs.
    List      - Provides an interactive way to list all products available.
    Modify    - Modifies the features of installed products.
    Remove    - Removes one or more products from your system.
    Status    - Shows the status of all installed products.
    Update    - Update the current product catalog.
    Upgrade   - Upgrades one or more of your installed programs.
    

    MySQLInstallerConsole.exe支持以下命令:

    注意

    包含冒号(“:”)的配置块值必须用双引号引起来。例如,installdir =“ C:\ MySQL \ MySQL Server 8.0”。

    • configure [product1]:[setting]=[value];[product2]:[setting]=[value];[...]

      在系统上配置一个或多个MySQL产品。可以为每个产品配置多个设置值对。

      开关包括:

      • -showsettings:通过在后面输入产品名称来显示所选产品的可用选项-showsettings
      • -silent:禁用确认提示。
      C:\>MySQLInstallerConsole configure -showsettings server
      C:\>MySQLInstallerConsole configure server:port=3307
      
    • help [command]

      显示带有用法示例的帮助消息,然后退出。传递附加命令以获取特定于该命令的帮助。

      C:\>MySQLInstallerConsole help
      C:\>MySQLInstallerConsole help install
      
    • install [product]:[features]:[config block]:[config block]:[config block];[...]

      在系统上安装一个或多个MySQL产品。如果预发行的产品可供选择,既GA和预发布产品安装时的值-type开关DeveloperClientFull-only_ga_products仅在使用这些设置类型时,才使用开关将产品集限制为GA产品。

      开关和语法选项包括:

      • -only_ga_products:将产品集限制为仅包含GA产品。
      • -type=[SetupType]:安装一组预定义的软件。“ SetupType”可以是以下之一:

        注意

        如果未安装其他MySQL产品,则只能选择非自定义安装类型。

        • 开发人员:安装完整的开发环境。
        • 服务器:安装单个MySQL服务器
        • 客户端:安装客户端程序和库
        • 完整:安装所有内容
        • 自定义:安装用户选择的产品。这是默认选项。
      • -showsettings:通过在后面输入产品名称来显示所选产品的可用选项-showsettings
      • -silent:禁用确认提示。
      • [config block]:可以指定一个或多个配置块。每个配置块都是用分号分隔的键值对列表。块可以包含“ config”或“ user”类型的键,如果未定义,则“ config”是默认类型。

        包含冒号(:)的配置块值必须用双引号引起来。例如,installdir="C:\MySQL\MySQL Server 8.0"

        每个产品只能定义一个“ config”类型块。应该为在产品安装期间创建的每个用户定义一个“用户”块。

        注意

        重新配置产品时,不支持添加用户。

      • [feature]:功能块是用分号分隔的功能列表,或*用于选择所有功能的星号()。
      C:\>MySQLInstallerConsole install server;5.6.25:*:port=3307;serverid=2:type=user;username=foo;password=bar;role=DBManager
      C:\>MySQLInstallerConsole install server;5.6.25;x64 -silent
      

      传入其他配置块的示例,^以合适的方式分隔:

      C:\>MySQLInstallerConsole install server;5.6.25;x64:*:type=config;openfirewall=true; ^
      
      generallog=true;binlog=true;serverid=3306;enable_tcpip=true;port=3306;rootpasswd=pass; ^
      
      installdir="C:\MySQL\MySQL Server 5.6":type=user;datadir="C:\MySQL\data";username=foo;password=bar;role=DBManager
      
    • list

      列出一个交互式控制台,可以在其中搜索所有可用的MySQL产品。执行MySQLInstallerConsole list以启动控制台,然后输入子字符串进行搜索。

      C:\>MySQLInstallerConsole list
      
    • modify [product1:-removelist| +addlist][product2:-removelist| +addlist][...]

      修改或显示以前安装的MySQL产品的功能。

      • -silent:禁用确认提示。
      C:\>MySQLInstallerConsole modify server
      C:\>MySQLInstallerConsole modify server:	+documentation
      C:\>MySQLInstallerConsole modify server:-debug
      
    • remove [product1][product2][...]

      从系统中删除一种或多种产品。

      • *:传递*以删除所有MySQL产品。
      • -continue:即使发生错误,也要继续操作。
      • -silent:禁用确认提示。
      C:\>MySQLInstallerConsole remove *
      C:\>MySQLInstallerConsole remove server
      
    • status

      快速概述系统上安装的MySQL产品。信息包括产品名称和版本,体系结构,安装日期和安装位置。

      C:\>MySQLInstallerConsole status
      
    • update

      将最新的MySQL产品目录下载到您的系统。成功后,将在下一次执行MySQLInstaller或MySQLInstallerConsole时应用下载目录。

      C:\>MySQLInstallerConsole update
      
      注意

      “自动目录更新 GUI”选项从Windows Task Scheduler执行此命令。

    • upgrade [product1:version][product2:version][...]

      在系统上升级一个或多个产品。语法选项包括:

      • **传入以将所有产品升级到最新版本,或传入特定的产品。
      • !!作为版本号传递,以将MySQL产品升级到最新版本。
      • -silent:禁用确认提示。
      C:\>MySQLInstallerConsole upgrade *
      C:\>MySQLInstallerConsole upgrade workbench:6.3.5
      C:\>MySQLInstallerConsole upgrade workbench:!
      C:\>MySQLInstallerConsole upgrade workbench:6.3.5 excel:1.3.2
      

    使用noinstallZIP存档在Microsoft Windows上安装MySQL

    • 提取安装档案
    • 创建选项文件
    • 选择MySQL服务器类型
    • 初始化数据目录
    • 首次启动服务器
    • 从Windows命令行启动MySQL
    • 自定义MySQL工具的PATH
    • 将MySQL作为Windows服务启动
    • 测试MySQL安装

    通过noinstall软件包进行安装的用户可以按照本节中的说明手动安装MySQL。从ZIP存档程序包安装MySQL的过程如下:

    1. 将主存档解压缩到所需的安装目录

      可选:如果您打算执行MySQL基准和测试套件,还可以提取调试测试档案

    2. 创建一个选项文件
    3. 选择一个MySQL服务器类型
    4. 初始化MySQL
    5. 启动MySQL服务器
    6. 保护默认用户帐户

    以下各节将介绍此过程。

    提取安装档案

    要手动安装MySQL,请执行以下操作:

    1. 如果要从以前的版本升级,请在开始升级过程之前,参考“在Windows上升级MySQL”。
    2. 确保您以具有管理员特权的用户身份登录。
    3. 选择安装位置。传统上,MySQL服务器安装在中C:\mysql。如果未在安装MySQL C:\mysql,则必须在启动过程中或在选项文件中指定安装目录的路径。请参见“创建选项文件”。

      注意

      MySQL Installer在下安装MySQL C:\Program Files\MySQL

    4. 使用首选的文件压缩工具将安装档案解压缩到所选的安装位置。某些工具可能会将存档解压缩到您选择的安装位置内的文件夹中。如果发生这种情况,您可以将子文件夹的内容移动到所选的安装位置。

    创建选项文件

    如果在运行服务器时需要指定启动选项,则可以在命令行上指示它们或将其放在选项文件中。对于每次服务器启动时使用的选项,您可能会发现使用选项文件指定MySQL配置最为方便。在以下情况下尤其如此:

    • 安装或数据目录位置与默认位置(C:\Program Files\MySQL\MySQL Server 8.0C:\Program Files\MySQL\MySQL Server 8.0\dat )不同。
    • 您需要调整服务器设置,例如内存,缓存或InnoDB配置信息。

    当MySQL服务器在Windows上启动时,它将在多个位置中查找选项文件,例如Windows目录C:\,和MySQL安装目录(有关位置的完整列表,请参见“使用选项文件”)。Windows目录通常命名为C:\WINDOWS。您可以WINDIR使用以下命令从环境变量的值确定其确切位置:

    C:\>echo %WINDIR%
    

    MySQL首先在my.ini文件中的每个位置中查找选项,然后在my.cnf文件中查找。但是,为避免混淆,最好仅使用一个文件。如果您的PC使用的是引导加载程序,C:而不是引导驱动器,则您唯一的选择是使用该my.ini文件。无论使用哪种选项文件,它都必须是纯文本文件。

    注意

    使用MySQL Installer安装MySQL Server时,它将my.ini在默认位置创建,并且向执行MySQL Installer的用户授予对该新my.ini文件的完全权限。

    换句话说,请确保MySQL Server用户具有读取my.ini文件的权限。

    您还可以使用MySQL发行版中随附的示例选项文件。请参见“服务器配置默认值”。

    可以使用任何文本编辑器(例如记事本)创建和修改选项文件。例如,如果在其中安装了MySQL E:\mysql并且数据目录在中E:\mydata\dat ,则可以创建一个选项文件,其中包含一个[mysqld]部分来为basedirdatadir选项指定值:

    [mysqld]
    # set basedir to your installation path
    basedir=E:/mysql
    # set datadir to the location of your data directory
    datadir=E:/mydata/dat 
    

    Microsoft Windows路径名在选项文件中使用(正斜杠)而不是反斜杠指定。如果确实使用反斜杠,则将它们加倍:

    [mysqld]
    # set basedir to your installation path
    basedir=E:\\mysql
    # set datadir to the location of your data directory
    datadir=E:\\mydata\\dat 
    

    在选项文件值中使用反斜杠的规则在“使用选项文件”中给出。

    ZIP存档不包含dat 目录。要通过创建数据目录并填充mysql系统数据库中的表来初始化MySQL安装,请使用--initialize或初始化MySQL --initialize-insecure。有关更多信息,请参见“初始化数据目录”。

    如果要在其他位置使用数据目录,则应将dat 目录的全部内容复制到新位置。例如,如果要改为E:\mydat 用作数据目录,则必须做两件事:

    1. 将整个dat 目录及其所有内容从默认位置(例如C:\Program Files\MySQL\MySQL Server 8.0\dat )移到E:\mydat
    2. --datadir每次启动服务器时,使用一个选项指定新的数据目录位置。

    选择MySQL服务器类型

    下表显示了MySQL 8.0中可用于Windows的服务器。

    二元描述
    mysqld具有命名管道支持的优化二进制文件
    mysqld调试像mysqld一样,但是经过全面调试和自动内存分配检查的编译

    前面所有二进制文件均针对现代Intel处理器进行了优化,但可以在任何Intel i386级或更高版本的处理器上运行。

    分发中的每个服务器都支持同一组存储引擎。该SHOW ENGINES语句显示给定服务器支持哪些引擎。

    所有Windows MySQL 8.0服务器都支持数据库目录的符号链接。

    MySQL在所有Windows平台上都支持TCP / IP。如果您在named_pipe启用系统变量的情况下启动服务器,则Windows上的MySQL服务器也支持命名管道。必须明确启用此变量,因为使用命名管道时,某些用户在关闭MySQL服务器时会遇到问题。缺省情况下,无论平台如何,都使用TCP / IP,因为在许多Windows配置中,命名管道都比TCP / IP慢。

    初始化数据目录

    如果使用noinstall软件包安装了MySQL ,则不包含数据目录。要初始化数据目录,请使用“初始化数据目录”中的说明。

    首次启动服务器

    本节概述了启动MySQL服务器的过程。以下各节提供了有关从命令行或作为Windows服务启动MySQL服务器的更多特定信息。

    如果您使用noinstall版本安装MySQL ,或者希望手动配置和测试MySQL(而不是使用MySQL Installer),则此处的信息适用。

    这些部分中的示例假定MySQL安装在默认位置C:\Program Files\MySQL\MySQL Server 8.0。如果您在其他位置安装了MySQL,请调整示例中显示的路径名。

    客户有两个选择。他们可以使用TCP / IP,或者如果服务器支持命名管道连接,则可以使用命名管道。

    如果服务器在shared_memory启用系统变量的情况下启动,则Windows版MySQL也支持共享内存连接。客户端可以使用该--protocol=MEMORY选项通过共享内存进行连接。

    有关运行哪个服务器二进制文件的信息,请参见“选择MySQL服务器类型”。

    最好从控制台窗口(或“ DOS窗口”)中的命令提示符完成测试。这样,您可以让服务器在易于参见的窗口中显示状态消息。如果您的配置有问题,这些消息将使您更容易识别和解决任何问题。

    注意

    必须先初始化数据库,然后才能启动MySQL。有关初始化过程的更多信息,请参见“初始化数据目录”。

    要启动服务器,请输入以下命令:

    C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --console
    

    对于包含InnoDB支持的服务器,您应该在启动时看到类似于以下消息(路径名称和大小可能不同):

    InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist:
    
    InnoDB: a new database to be created!
    
    InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200
    
    InnoDB: Database physically writes the file full: wait...
    
    InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created
    
    InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280
    
    InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created
    
    InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280
    
    InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created
    
    InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280
    
    InnoDB: Doublewrite buffer not found: creating new
    
    InnoDB: Doublewrite buffer created
    
    InnoDB: creating foreign key constraint system tables
    
    InnoDB: foreign key constraint system tables created
    
    011024 10:58:25  InnoDB: Started
    

    服务器完成启动顺序后,您应该看到类似以下内容,这表明服务器已准备好为客户端连接提供服务:

    mysqld: ready for connections
    
    Version: '8.0.21'  socket: ''  port: 3306
    

    服务器继续将其产生的任何其他诊断输出写入控制台。您可以打开一个新的控制台窗口,在其中运行客户端程序。

    如果省略该--console选项,则服务器将诊断输出写入数据目录中的错误日志(C:\Program Files\MySQL\MySQL Server 8.0\dat 默认情况下)。错误日志是带有.err扩展名的文件,可以使用该--log-error选项进行设置。

    注意

    rootMySQL授予表中的初始帐户没有密码。启动服务器后,应按照“保护初始MySQL帐户”中的说明为其设置密码。


    从Windows命令行启动MySQL

    可以从命令行手动启动MySQL服务器。这可以在任何版本的Windows上完成。

    要从命令行启动mysqld服务器,您应该启动一个控制台窗口(或“ DOS窗口”)并输入以下命令:

    C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld"
    

    mysqld的路径可能因系统上MySQL的安装位置而异。

    您可以通过执行以下命令来停止MySQL服务器:

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

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

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

    注意

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

    如果mysqld没有启动,请检查错误日志以参见服务器是否在其中写入了任何消息以指示问题的原因。默认情况下,错误日志位于C:\Program Files\MySQL\MySQL Server 8.0\dat 目录中。该文件的后缀为.err,也可以通过传入--log-error选项来指定。或者,您可以尝试使用该--console选项启动服务器。在这种情况下,服务器可能会在屏幕上显示一些有用的信息,这将有助于解决问题。

    最后一个选项是使用和选项启动mysqld。在这种情况下,mysqld会写一个日志文件,其中应包含mysqld无法启动的原因。请参见“ DBUG软件包”。--standalone--debugC:\mysqld.trace

    使用mysqld --verbose --help显示mysqld支持的所有选项。

    自定义MySQL工具的PATH

    警告

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

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

    • 在Windows桌面上,右键单击“我的电脑”图标,然后选择“属性”。
    • 接下来,从出现的“系统属性”菜单中选择“高级”选项卡,然后单击“环境变量”按钮。
    • 在“系统变量”下,选择“路径”,然后单击“编辑”按钮。将出现“编辑系统变量”对话框。
    • 将光标置于标记为Variable Value的空格中的文本的末尾。(使用End键,确保光标位于该空间中文本的最末端。)然后输入MySQL bin目录的完整路径名(例如,C:\Program Files\MySQL\MySQL Server 8.0in

      注意

      必须使用分号将此路径与该字段中存在的任何值分隔。

      单击“确定”,直到所有打开的对话框都被取消,然后关闭该对话框,然后依次取消每个对话框。现在,新PATH值应可用于您打开的任何新命令外壳程序,从而使您可以通过从系统上任何目录的DOS提示符下在DOS提示符下键入其名称来调用任何MySQL可执行程序,而不必提供路径。这包括服务器,mysql客户端以及所有MySQL命令行实用程序,例如mysqladminmysqldump

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

    将MySQL作为Windows服务启动

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

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

    安装服务

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

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

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

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

    注意

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

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

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

    service-installation命令不会启动服务器。有关说明,将在本节后面给出。

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

    • 在Windows桌面上,右键单击“我的电脑”图标,然后选择“属性”。
    • 接下来,从出现的“系统属性”菜单中选择“高级”选项卡,然后单击“环境变量”按钮。
    • 在“系统变量”下,选择“路径”,然后单击“编辑”按钮。将出现“编辑系统变量”对话框。
    • 将光标置于标记为Variable Value的空格中的文本的末尾。(使用End键来确保光标位于该空间中文本的最末端。)然后输入MySQL bin目录的完整路径名(例如C:\Program Files\MySQL\MySQL Server 8.0in),并且应使用分号将此路径与此字段中存在的任何值。单击“确定”关闭此对话框,然后依次取消每个对话框直到所有打开的对话都被取消。现在,您应该能够通过在系统上任何目录的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服务器,以下规则确定该服务器使用的服务名称和选项文件:

    • 如果service-installation命令MySQL在该--install选项之后未指定服务名或默认服务名(),则服务器将使用的服务名MySQL并从[mysqld]标准选项文件中的组中读取选项。
    • 如果service-installation命令指定的服务名称不是MySQL--install选项之后的名称,则服务器将使用该服务名称。它从[mysqld]组和与标准选项文件中的服务同名的组中读取选项。这使您可以将[mysqld]组用于所有MySQL服务应使用的选项,并将选项组与具有服务名称的选项组一起使用,以供安装有该服务名称的服务器使用。
    • 如果service-installation命令--defaults-file在服务名称后指定了一个选项,则服务器以与上一项相同的方式读取选项,除了服务器仅从命名文件读取选项而忽略标准选项文件。

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

    C:\> "C:\Program Files\MySQL\MySQL Server 8.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服务器。

    在启动MySQL服务之前,还可以在Windows 服务实用程序中将选项指定为启动参数。

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

    启动服务

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

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

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

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

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

    如果mysqld没有作为服务运行,则可以从命令行启动它。有关说明,

    如果在安装过程中遇到困难,请参见“对Microsoft Windows MySQL Server安装进行故障排除”。

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

    测试MySQL安装

    您可以通过执行以下任何命令来测试MySQL服务器是否正常工作:

    C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqlshow"
    C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqlshow" -u root mysql
    C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin" version status proc
    C:\> "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql" test
    

    如果mysqld响应来自客户端程序的TCP / IP连接很慢,则说明DNS可能存在问题。在这种情况下,请在启用系统变量的情况下启动mysqldskip_name_resolve并仅在MySQL授权表localhostHost列中使用和IP地址。(请确保存在指定IP地址的帐户,否则您可能无法连接。)

    您可以通过指定--pipe--protocol=PIPE选项或通过指定.(句点)作为主机名来强制MySQL客户端使用命名管道连接而不是TCP / IP 。--socket如果您不想使用默认管道名称,请使用该选项指定管道名称。

    如果您已经为root帐户设置了密码,删除了匿名帐户或创建了新的用户帐户,那么要连接到MySQL服务器,您必须对前面显示的命令使用适当的-u-p选项。请参见“使用命令选项连接到MySQL服务器”。

    有关mysqlshow的更多信息,请参见“mysqlshow-显示数据库,表和列信息”。

    对Microsoft Windows MySQL Server安装进行故障排除

    首次安装和运行MySQL时,您可能会遇到某些错误,阻止MySQL服务器启动。本节可帮助您诊断和纠正其中一些错误。

    解决服务器问题时的第一个资源是错误日志。MySQL服务器使用错误日志记录与阻止服务器启动的错误相关的信息。错误日志位于文件中指定的数据目录中my.ini。默认数据目录位置是Windows C:\Program Files\MySQL\MySQL Server 8.0\dat C:\ProgramData\MysqlWindows 7和Windows Server 2008上的C:\ProgramDat 默认目录。默认情况下,该目录是隐藏的。您需要更改文件夹选项以参见目录和内容。有关错误日志和了解其内容的更多信息,请参见“MySQL服务器错误日志”。

    有关可能的错误的信息,请查阅启动MySQL服务时显示的控制台消息。在将mysqld作为服务安装后,从命令行使用SC START mysqld_service_nameNET START mysqld_service_name命令参见有关将MySQL服务器作为服务启动的所有错误消息。请参见“将MySQL作为Windows服务启动”。

    以下示例显示了在首次安装MySQL并启动服务器时可能遇到的其他常见错误消息:

    • 如果MySQL服务器找不到mysql特权数据库或其他关键文件,它将显示以下消息:

      System error 1067 has occurred.
      
      Fatal error: Can't open and lock privilege tables:
      
      Table 'mysql.user' doesn't exist
      

      当MySQL基本目录或数据目录安装在默认位置以外的位置(分别为C:\Program Files\MySQL\MySQL Server 8.0C:\Program Files\MySQL\MySQL Server 8.0\dat )时,通常会出现这些消息。

      当MySQL升级并安装到新位置,但配置文件未更新以反映新位置时,会发生这种情况。此外,新旧配置文件可能会冲突。升级MySQL时,请确保删除或重命名任何旧的配置文件。

      如果您已将MySQL安装到以外的目录中C:\Program Files\MySQL\MySQL Server 8.0,请确保MySQL服务器通过使用配置(my.ini)文件知道了这一点。将my.ini文件放入 Windows目录(通常为)C:\WINDOWS。要从WINDIR环境变量的值确定其确切位置,请从命令提示符处发出以下命令:

      C:\>echo %WINDIR%
      

      您可以使用任何文本编辑器(例如记事本)来创建或修改选项文件。例如,如果在其中安装了MySQL E:\mysql并且数据目录为D:\MySQLdat ,则可以创建选项文件并设置一个[mysqld]部分来指定basedirdatadir选项的值:

      [mysqld]
      # set basedir to your installation path
      basedir=E:/mysql
      # set datadir to the location of your data directory
      datadir=D:/MySQLdat 
      

      Microsoft Windows路径名在选项文件中使用(正斜杠)而不是反斜杠指定。如果确实使用反斜杠,则将它们加倍:

      [mysqld]
      # set basedir to your installation path
      basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0
      # set datadir to the location of your data directory
      datadir=D:\\MySQLdat 
      

      在选项文件值中使用反斜杠的规则在“使用选项文件”中给出。

      如果更改datadirMySQL配置文件中的值,则必须在重新启动MySQL服务器之前移动现有MySQL数据目录的内容。

      请参见“创建选项文件”。

    • 如果重新安装或升级MySQL而没有先停止并删除现有的MySQL服务并使用MySQL Installer安装MySQL,则可能会看到此错误:

      Error: Cannot create Windows service for MySql. Error: 0
      

      当配置向导尝试安装服务并找到具有相同名称的现有服务时,会发生这种情况。

      解决此问题的一种方法是选择服务名称,而不是mysql使用配置向导时。这样可以正确安装新服务,但是将过时的服务保留在原处。尽管这是无害的,但是最好删除不再使用的旧服务。

      要永久删除旧mysql服务,请以具有管理特权的用户身份在命令行上执行以下命令:

      C:\>SC DELETE mysql
      [SC] DeleteService SUCCESS
      

      如果该SC实用程序不适用于您的Windows版本,请delsrv从http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp下载该实用程序并使用delsrv mysql语法。

    Windows安装后过程

    存在执行本节中描述的大多数任务的GUI工具,包括:

    • MySQL Installer:用于安装和升级MySQL产品。
    • MySQL Workbench:管理MySQL服务器并编辑SQL语句。

    如有必要,初始化数据目录并创建MySQL授权表。MySQL Installer执行的Windows安装操作会自动初始化数据目录。要从ZIP Archive软件包安装,请按照“初始化数据目录”中所述初始化数据目录。

    关于密码,如果使用MySQL Installer安装MySQL,则可能已经为初始root帐户分配了密码。(请参见“ Windows版MySQL安装程序”。)否则,请使用“保护初始MySQL帐户”中给出的密码分配过程。

    在分配密码之前,您可能希望尝试运行一些客户端程序,以确保可以连接到服务器并且服务器运行正常。确保服务器正在运行(请参见“首次启动服务器”)。您还可以设置一个MySQL服务,该服务在Windows启动时自动运行(请参见“将MySQL作为Windows服务启动”)。

    这些说明假定您的当前位置是MySQL安装目录,并且具有bin包含此处使用的MySQL程序的子目录。如果不正确,请相应地调整命令路径名。

    如果您使用MySQL Installer安装了MySQL(请),则默认安装目录为C:\Program Files\MySQL\MySQL Server 8.0

    C:\>cd "C:\Program Files\MySQL\MySQL Server 8.0"
    

    从ZIP归档文件进行安装的常见安装位置是C:\mysql

    C:\>cd C:\mysql
    

    或者,将bin目录添加到您的PATH环境变量设置中。这使您的命令解释器可以正确找到MySQL程序,因此您可以通过仅键入其名称而不是其路径名来运行程序。

    在服务器运行时,发出以下命令以验证您可以从服务器检索信息。输出应类似于此处所示。

    使用mysqlshow参见存在的数据库:

    C:\> bin\mysqlshow
    +--------------------	+
    | Databases       |
    +--------------------	+
    | information_schema  |
    | mysql               |
    | performance_schema  |
    | sys                 |
    +--------------------	+
    

    安装的数据库列表可能有所不同,但始终至少包括mysqlinformation_schem

    如果不存在正确的MySQL帐户,则上述命令(以及其他MySQL程序(如mysql)的命令)可能不起作用。例如,程序可能会因错误而失败,或者您可能无法参见所有数据库。如果使用MySQL Installer安装MySQL,root则会使用您提供的密码自动创建用户。在这种情况下,应使用-u root-p选项。(如果您已经保护了初始的MySQL帐户-p,则必须使用这些选项。)使用,客户端程序提示输入root密码。例如:

    C:\> bin\mysqlshow -u root -p
    Enter password: (enter root password here)
    +--------------------	+
    | Databases       |
    +--------------------	+
    | information_schema  |
    | mysql               |
    | performance_schema  |
    | sys                 |
    +--------------------	+
    

    如果指定数据库名称,则mysqlshow将显示数据库中表的列表:

    C:\> bin\mysqlshow mysql
    
    Database: mysql
    +---------------------------	+
    | Tables            |
    +---------------------------	+
    | columns_priv               |
    | component                  |
    | db                         |
    | default_roles              |
    | engine_cost                |
    | func                       |
    | general_log                |
    | global_grants              |
    | gtid_executed              |
    | help_category              |
    | help_keyword               |
    | help_relation              |
    | help_topic                 |
    | innodb_index_stats         |
    | innodb_table_stats         |
    | ndb_binlog_index           |
    | password_history           |
    | plugin                     |
    | procs_priv                 |
    | proxies_priv               |
    | role_edges                 |
    | server_cost                |
    | servers                    |
    | slave_master_info          |
    | slave_relay_log_info       |
    | slave_worker_info          |
    | slow_log                   |
    | tables_priv                |
    | time_zone                  |
    | time_zone_leap_second      |
    | time_zone_name             |
    | time_zone_transition       |
    | time_zone_transition_type  |
    | user                       |
    +---------------------------	+
    

    使用mysql程序从mysql数据库的表中选择信息:

    C:\> bin\mysql -e "SELECT User, Host, plugin FROM mysql.user" mysql
    +------	+-----------	+-----------------------	+
    | User  | Host       | plugin                 |
    +------	+-----------	+-----------------------	+
    | root  | localhost  | caching_sha2_password  |
    +------	+-----------	+-----------------------	+
    

    有关mysqlmysqlshow的更多信息,请参见“mysql-MySQL命令行客户端”和“mysqlshow-显示数据库,表和列信息”。

    Windows平台限制

    以下限制适用于Windows平台上的MySQL:

    • 进程记忆

      在Windows 32位平台上,默认情况下,单个进程(包括MySQL)不可能使用超过2GB的RAM。这是因为32位Windows的物理地址限制为4GB,Windows的默认设置是在内核(2GB)和用户/应用程序(2GB)之间分配虚拟地址空间。

      Windows的某些版本具有启动时间设置,以通过减少内核应用程序来启用更大的应用程序。或者,要使用2GB以上的内存,请使用64位版本的Windows。

    • 文件系统别名

      使用MyISAM表时,不能在Windows中使用别名链接到另一个卷上的数据文件,然后再链接回主MySQL datadir位置。

      该功能通常用于将数据和索引文件移至RAID或其他快速解决方案。

    • 端口数量有限

      Windows系统具有大约4,000个可用于客户端连接的端口,并且在端口上的连接关闭后,需要2至4分钟才能重新使用该端口。在客户端高速率连接到服务器和从服务器断开连接的情况下,所有可用端口都可能在关闭的端口再次变得可用之前用尽。如果发生这种情况,即使MySQL服务器正在运行,它似乎也没有响应。端口也可以由计算机上运行的其他应用程序使用,在这种情况下,MySQL可用的端口数较少。

      有关此问题的更多信息,请参见 http://support.microsoft.com/default.aspx?scid=kb;zh-cn;196271。

    • DATA DIRECTORYINDEX DIRECTORY

      Windows上仅对表支持DATA DIRECTORYCREATE TABLE语句的子句InnoDB,如“在外部创建表”中所述。对于MyISAM和其他存储引擎,在Windows和任何其他具有非功能调用的平台上,将忽略for 的DATA DIRECTORY nd INDEX DIRECTORY子句。CREATE TABLErealpath()

    • DROP DATABASE

      您不能删除另一个会话正在使用的数据库。

    • 不区分大小写的名称

      文件名在Windows上不区分大小写,因此MySQL数据库和表名在Windows上也不区分大小写。唯一的限制是,在给定语句中,必须使用相同的大小写来指定数据库和表名。请参见“标识符区分大小写”。

    • 目录和文件名

      在Windows上,MySQL Server仅支持与当前ANSI代码页兼容的目录和文件名。例如,以下日语目录名称在西方语言环境中将不起作用(代码页1252):

      datadir="C:/私たちのプロジェクトのデータ"
      

      相同的限制适用于SQL语句中引用的目录和文件名,例如中的数据文件路径名LOAD DATA

    • \路径名分隔符

      Windows中的路径名组件由\字符分隔,该字符在MySQL中也是转义字符。如果使用LOAD DATASELECT ... INTO OUTFILE,请使用带有/字符的Unix样式的文件名:

      mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
      mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
      

      或者,您必须将\字符加倍:

      mysql> LOAD DATA INFILE 'C:\\tmp\\skr.txt' INTO TABLE skr;
      mysql> SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
      
    • 管道问题

      从Windows命令行提示符下,管道无法可靠地工作。如果管道包含字符^Z/CHAR(24),则Windows认为它遇到了文件结尾并中止了程序。

      当您尝试如下应用二进制日志时,这主要是一个问题:

      C:\>mysqlbinlog binary_log_file | mysql --user=root
      

      如果您在应用日志时遇到问题,并且怀疑是由于^Z/CHAR(24)字符引起的,则可以使用以下解决方法:

      C:\>mysqlbinlog binary_log_file --result-file=/tmp/bin.sql
      C:\>mysql --user=root --execute "source /tmp/bin.sql"
      

      后者命令还可用于可靠地读取任何可能包含二进制数据的SQL文件。