在第一次安装和运行MySQL时,可能会遇到某些错误,导致MySQL服务器无法启动。本节将帮助您诊断和纠正其中一些错误。
在排除服务器问题时,您的第一个资源是错误日志.MySQL服务器使用错误日志记录与阻止服务器启动的错误相关的信息。错误日志位于数据目录你的my.ini
文件。默认的数据目录位置为C:\Program Files\MySQL\MySQL Server 8.0\data
,或C: \ ProgramData \ Mysql
在Windows 7和Windows Server 2008上。的C: \ ProgramData
目录默认是隐藏的。您需要更改文件夹选项以查看目录和内容。有关错误日志和理解内容的更多信息,请参见第5.4.2节“错误日志”.
有关可能的错误信息,也可以参考MySQL服务启动时显示的控制台消息。使用SC开始mysqld_service_name
或网开始mysqld_service_name
在安装后从命令行执行命令mysqld作为一个服务来查看任何关于MySQL服务器作为一个服务启动的错误消息。看到第2.3.4.8节“将MySQL作为Windows服务启动”.
下面的例子显示了在安装MySQL和第一次启动服务器时可能会遇到的其他常见错误消息:
如果MySQL服务器无法找到
mysql
特权数据库或其他关键文件,它显示这些消息:系统错误1067已经发生。致命错误:无法打开和锁定特权表:Table 'mysql。用户'不存在
当MySQL数据库或数据目录安装在与默认位置不同的位置(
C:\Program Files\MySQL\MySQL Server 8.0
而且C:\Program Files\MySQL\MySQL Server 8.0\data
分别)。当MySQL升级并安装到新位置,但配置文件没有更新以反映新位置时,就会发生这种情况。另外,旧的和新的配置文件可能会冲突。在升级MySQL时,一定要删除或重命名任何旧的配置文件。
如果您已将MySQL安装到非
C:\Program Files\MySQL\MySQL Server 8.0
,确保MySQL服务器通过使用配置(my.ini
)文件。把my.ini
通常情况下,Windows目录下的文件C:\WINDOWS
.的值来确定它的确切位置列出
环境变量,从命令提示符发出以下命令:C:\> echo %WINDIR%
您可以使用任何文本编辑器(如记事本)创建或修改选项文件。例如,如果MySQL安装在
E: \ mysql
数据目录是D: \ MySQLdata
,您可以创建选项文件,并设置(mysqld)
类的值basedir
而且datadir
选项:# set basedir to your installation path basedir=E:/mysql # set datadir to your data directory datadir=D:/MySQLdata
Microsoft Windows路径名在选项文件中使用(正向)斜杠而不是反斜杠指定。如果你使用反斜杠,加倍:
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\MySQL\\MySQL Server 8.0 # set datadir to your data directory datadir=D:\\MySQLdata
中给出了在选项文件值中使用反斜杠的规则第4.2.2.2节“使用选项文件”.
如果你改变
datadir
值,在重新启动MySQL服务器之前,必须移动现有的MySQL数据目录的内容。如果你重新安装或升级MySQL,没有首先停止和删除现有的MySQL服务,并使用MySQL安装程序安装MySQL,你可能会看到这个错误:
错误:无法为MySql创建Windows服务。错误:0
当配置向导试图安装服务并发现同名的现有服务时,就会发生这种情况。
这个问题的一个解决方案是选择一个服务名称而不是
mysql
当使用配置向导时。这样可以正确安装新服务,但保留过时的服务。尽管这是无害的,但最好删除不再使用的旧服务。永久地去除旧的
mysql
Service后,以具有管理权限的用户在命令行上执行以下命令:C:\> SC DELETE mysql [SC] DeleteService SUCCESS .删除mysql
如果
SC
工具不适用于您的Windows版本,请下载delsrv
实用程序从http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/delsrv-o.asp然后使用delsrv mysql
语法。