Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Troubleshooting a Microsoft Windows MySQL Server Installation

2.3.4 Microsoft Windows 上 MySQL 服务器安装故障排除

在第一次安装和运行 MySQL 时,您可能会遇到某些错误,阻止 MySQL 服务器启动。这部分帮助您诊断和解决这些错误。

在解决服务器问题时,您的第一个资源是错误日志。MySQL 服务器使用错误日志记录与服务器无法启动相关的信息。错误日志位于在您的数据目录中,该目录指定在您的my.ini文件中。默认数据目录位置是C:\Program Files\MySQL\MySQL Server 8.4\data,或C:\ProgramData\Mysql在 Windows 7 和 Windows Server 2008 中。C:\ProgramData目录默认隐藏。您需要更改文件夹选项以查看目录和内容。关于错误日志和理解内容,请见第7.4.2节,“错误日志”

关于可能的错误信息,请同时查看 MySQL 服务启动时显示的控制台消息。使用SC START mysqld_service_nameNET START mysqld_service_name命令在命令行中输入,以查看 MySQL 服务器启动时的任何错误消息。见第2.3.3.8节,“Starting MySQL as a Windows Service”

以下示例显示了在第一次安装 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.4C:\Program Files\MySQL\MySQL Server 8.4\data,分别)。

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

    如果您将 MySQL 安装到C:\Program Files\MySQL\MySQL Server 8.4以外的目录,确保 MySQL 服务器知道这个位置通过使用配置文件(my.ini)文件。将my.ini文件放置在 Windows 目录中,通常是C:\WINDOWS。要确定其exact位置,可以从 WINDIR 环境变量的值中获取,使用以下命令从命令提示符中输入:

    C:\> echo %WINDIR%

    您可以使用任何文本编辑器,例如Notepad,创建或修改选项文件。例如,如果MySQL安装在E:\mysql中,并且数据目录在D:\MySQLdata中,您可以创建选项文件,并在[mysqld]部分中指定basedirdatadir选项的值:

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

    在选项文件中,Microsoft Windows路径名使用斜杠,而不是反斜杠。如果您使用反斜杠,需要将其双倍:

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

    关于选项文件值中的反斜杠使用规则,请参阅第6.2.2.2节,“使用选项文件”

    如果您在MySQL配置文件中更改了datadir值,必须在重新启动MySQL服务器前将现有MySQL数据目录的内容移动:

    请参阅第2.3.3.2节,“创建选项文件”

  • 如果您重新安装或升级MySQL,而不是首先停止并删除现有MySQL服务,然后使用MySQL Configurator配置MySQL,您可能会看到这个错误:

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

    这发生在配置向导尝试安装服务时,发现了具有相同名称的现有服务。

    解决这个问题的一种方法是,在使用配置向导时选择一个名称不同于mysql的服务名。这使得新的服务可以正确安装,但留下了过时的服务。虽然这无害,但最好删除不再使用的旧服务。

    永久删除旧的mysql服务,可以在命令行中执行以下命令,以管理员身份运行:

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

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