24

我已经在 Windows 7 上安装了 MySQL。当我尝试启动 MySQL 服务时,我收到错误 1067:进程意外终止。日志消息:

101111 22:27:11 [Note] Plugin 'FEDERATED' is disabled.
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist
101111 22:27:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: Log scan progressed past the checkpoint lsn 0 37356
101111 22:27:11  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 0 44233
101111 22:27:11  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
101111 22:27:12  InnoDB: Started; log sequence number 0 44233
101111 22:27:12 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

我能做些什么呢?

4

27 回答 27

26

解决方案是在安装路径中安装没有空格的 MySQL。Windows 7、64 位

于 2010-11-16T15:52:05.870 回答
21

阻止 mysqld windows 服务运行的另一件事是,如果您已经运行 mysqld.exe(但不是作为服务)并占用端口 3306。当服务尝试启动并看到端口 3306 已被占用时,它会失败。

只需打开 Windows 任务管理器并在“进程”选项卡下查找“mysqld.exe”。如果您看到它,请将其杀死,然后尝试再次启动该服务。

c:\> net start [servicename]

例如:c:\> 网络启动 MySQL

于 2014-07-08T02:42:09.790 回答
12

对我来说,问题的解决方案是查看我的安装目录,找到 /data 文件夹,并将其内容复制到我的 .ini/.cnf 配置文件中指定的数据文件夹中。

于 2011-11-03T04:25:29.140 回答
11

我的问题发生在电源故障后。我收到错误 1067 进程意外终止。MySQL 不用说没有启动。答案很简单

  1. 打开mysql路径\数据
  2. 移除(删除)ib_logfile0 和 ib_logfile1。
  3. 启动服务
于 2017-03-13T17:49:25.620 回答
3

刚遇到类似的问题,发现是权限问题。当我复制数据库“数据”时,我必须添加“网络服务”的权限

于 2015-06-02T00:12:33.333 回答
2

我有同样的问题。就我而言,这是“用户错误”(尽管 Windows 安装程序应该对此更聪明,并阻止我犯这样的错误)。

在安装过程中,如果您更改了默认安装路径,请确保在“自定义设置”屏幕上的“服务器数据文件”以及稍后在“MySQL 服务器实例配置”期间的“InnoDB 表空间设置”中使用相同的路径巫师”

于 2012-07-15T14:28:47.103 回答
2

我在为 Windows 7 更改 my.ini 中的 datadir 时遇到问题。

我希望将数据存储在不同的驱动器上,并通过复制整个文件夹从另一台 PC 移动这些数据。我将 datadir 更改为所需的驱动器并毫无问题地保存了 my.ini 文件。

但是mysql不会启动。我再次打开 my.ini 文件,它似乎已被更改。然后,我注意到 my.ini 上的日期没有改变。因此,我不得不更改安全权限以授予我对其的写入权限。

这次我保存它时,日期改变了,mysql 开始访问所有正确的数据。

于 2012-08-18T02:43:27.970 回答
1

在搞砸太多事情之前,请检查服务尝试运行的用户。就我而言,它是 NETWORK,它没有对某些需要它的位置的写入权限。将用户更改为本地系统帐户就可以了。

如果事件查看器显示任何错误,例如"Can't create test file C:\Program Files\MySQL\MySQL Server 5.6\data\XXX.lower-test",则此解决方案很有可能起作用。祝你好运!

于 2015-01-19T17:59:09.587 回答
1

我将 mysql 数据文件夹替换为 windows 目录连接。我怀疑 ib_logfile0/1 和/或 ibdata1 已损坏。

只需尝试删除这些文件和computername.err。然后重启mysql服务。我就是这么做的,成功了。

在完全重新安装 mysql 后,将 ibdata1 文件复制到 junction dir 并用 junction 替换 dir,重新启动 mysql 是不够的。

你必须让 mysql 重建这些文件。

于 2015-05-27T17:11:16.370 回答
1

还要检查您在其中编写的所有目录是否my.ini存在。

我的问题是tmpdir不存在,所以 MySQL 守护进程出现错误 1067。

[mysqld]
port= 3306
tmpdir = "C:/tmp"

在这种情况下C:/tmp必须存在。

于 2017-02-06T12:53:30.547 回答
0

检查文件“C:\Program Files\MySQL\MySQL Server 5.1\my.ini”

my.ini 中的 datadir 行应该指定一个路径。检查该 datadir 路径的内容。它是否包含一个名为“mysql”的文件夹和另一个名为“test”的文件夹?

如果没有,这里有两个选择:

  1. 将 my.ini 中的 datadir 行更改为正确的位置。这可能是 C:\ProgramData\MySQL\MySQL Server 5.1\data

  2. 清除 datadir 路径的现有内容。将 C:\ProgramData\MySQL\MySQL Server 5.1\data 的内容复制到您的 datadir 路径。重新启动 mysql 服务应该重建你的空数据库。

于 2010-11-13T02:18:54.280 回答
0

在我的例子中,它与文件名中的空格无关。我使用了 MSI 安装程序自定义配置并选择排除默认数据库,假设它就像 Northwind/Adventureworks 一样。不,它包括核心 MySql 系统数据库......一旦我将它添加到安装它就可以工作。

于 2011-08-01T12:25:17.310 回答
0

我遇到了同样的错误。对我来说类似的方法。据我所知,文件datadir中的引用发生了一些奇怪的事情my.ini。即使我手动编辑它,我似乎也无法对其产生任何影响,直到我把所有东西都吹走了。希望我有更好的消息……先做一个数据库备份。

对我来说,让它发挥作用的关键是:

1) 从settings->control panel. 重新启动您的机器。

2) 机器恢复后,强制删除之前的安装目录。[我的是C:\apps\MySQL\MySQLServer-5.5\,因为我拒绝使用c:\program files\..]

3)强制删除以前的datadir目录[我的是c:\data\mysql]。

4) 强制删除之前的默认数据目录[C:\DocumentsSettings\All Users\Application Data\MySQL]。

5)重新运行安装,选择相同的安装目录。configurator/wizard在安装结束时跳过实例。

6)确保../bin目录被添加到路径中。验证它。

7)手动运行实例configurator/wizard
设置 root 密码,端口 [ 3306]。它会尝试启动它。再一次,我的启动失败[duh!没有什么新东西!!!]

8) 现在,手动编辑my.ini安装目录中的文件,并将datadir设置更正为 [ datadir="C:/Data/MySQL/"] MATCH CAPITALZATION !!!!

sc qc mysql <enter>9) 通过命令提示符 [ ]验证服务设置是否正确。
应该看起来像:

C:\dev\cmdz>sc qc mysql

[SC] GetServiceConfig SUCCESS

SERVICE_NAME: mysql
        TYPE               : 10  WIN32_OWN_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : "C:\apps\MySQL\MySQLServer-5.5\bin\mysqld" --defaults-file="C:\apps\MySQL\MySQLServer-5.5\my.ini" MySQL
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : MySQL
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem

C:\Documents and Settings\All Users\Application Data\MySQL10) 将在[基本上该目录中的所有内容到您想要的数据目录c:\data\mysql]下创建的默认数据目录的内容复制。确保你得到C:\Documents and Settings\All Users\Application Data\MySQL\mysql目录。这有host.frm文件和其他。
你现在应该得到一个目录c:\data\MySQL\mysql...

11)将默认目录重命名 C:\Documents and Settings\All Users\Application Data\MySQLC:\Documents and Settings\All Users\Application Data\MySQLxxx 所以找不到它...

12) 快速祈祷...

net start mysql13) 使用 [ ]从命令行启动它

这让它对我有用......

祝你好运!

于 2012-05-08T15:57:30.953 回答
0

在我的情况下,innodb_data_home_dir不再正确,因为当我向系统添加新驱动器时,我已经改变了一些驱动器号

于 2013-01-14T22:59:17.813 回答
0

就我而言,我已经在我的安装“F”的第二个磁盘中解压缩了 XAMPP。当我尝试作为服务启动时,返回的是“1067”。解决方案是编辑 my.ini,在文件行中插入“f:”驱动器。它解决了这个问题。

于 2013-04-16T00:36:45.217 回答
0

问题看起来像目录中没有数据。至少从您以前的目录或从 C:\Program Files\MySQL\MySQL Server 5.5\data 复制 mysql 目录。然后再试一次。

于 2013-07-03T11:08:47.700 回答
0

我有同样的错误,它是由日志文件路径中的非标准字符引起的。为了解决这个问题,我找到了 my.ini 配置文件(在我的情况下C:\ProgramData\MySQL\MySQL Server 5.6\my.ini)并修改了密钥slow_query_log_filelog-error. 之后,我成功地启动了 MySQL 服务。

于 2014-05-11T14:47:30.950 回答
0

就我而言,我在 MySQL 安装程序中为我的日志文件选择了一个自定义路径。我已将日志文件放在我的 user-folderC:\Users\%MY_USERACCOUNT%\Documents\mysql-logs中,默认情况下,NETWORK SERVICE(或 Windows 中的任何其他非管理员用户帐户)无权访问用户的文件夹。

我通过更改日志文件夹的安全选项来解决此问题,为NETWORK SERVICE赋予修改权限读/写/修改权限。

于 2015-08-11T08:00:58.477 回答
0

如果通过 'msiexec.exe' DataDir 安装 MYSQL Server 5.1,我也会得到表'mysql.plugin' 不存在的日志,我将其设置为 C:\MYSQL\MySQL_Server_5_1\data\

但令我惊讶的是在 C:\MYSQL\MySQL_Server_5_1\data\data 中创建数据

有添加字数据。所以我将 my.ini 文件从

datadir="C:/MySQL/MySQL_Server_5_1/Data/" .

datadir="C:/MySQL/MySQL_Server_5_1/Data/data"

然后我可以使用 net start MYSQL51 然后运行 ​​mysqld.exe 并出现在任务管理器中

于 2015-08-31T15:56:01.353 回答
0

当查看 mysql 日志(数据文件夹下的 .err 文件)时,我可以看到以下内容

21:41:47 UTC - mysqld 出现异常 0xc0000005 ;这可能是因为您遇到了错误。此二进制文件或与之链接的库之一也可能已损坏、构建不正确或配置错误。此错误也可能是由硬件故障引起的。尝试收集一些有助于诊断问题的信息。由于这是一次崩溃并且肯定有问题,因此信息收集过程可能会失败。

我意识到我在插入 USB 时正在启动服务。老实说,在我重新启动机器并重新启动服务后,问题就解决了。此外,我在重新启动之前删除了 ib_logfile0 和 ib_logfile1 文件。虽然事件记录器指示“InnoDB:您的数据库可能已损坏,或者您可能复制了 InnoDB 表空间但没有复制 InnoDB 日志文件。请参阅http://dev.mysql.com/doc/refman/5.7/en/forcing -innodb-recovery.html获取信息

块引用

关于强制恢复。有关更多信息,请参阅http://www.mysql.com上的帮助和支持中心“,我不这么认为,因为我从未更改任何配置。

于 2016-03-09T21:59:48.860 回答
0

遇到了同样的错误,下面是对我有用的原因和解决方案 mysql-5.7.14-winx64

原因:DATA 文件夹中有一些默认文件夹和文件丢失

解决方案:从 DATA 文件夹中删除所有内容,我假设它是全新安装,因此备份您需要的任何内容。然后从命令提示符运行它,它将创建所需的文件和文件夹“mysqld --initialize --console”现在运行“mysqld”,它应该可以正常工作。

于 2016-09-05T09:40:32.960 回答
0

就我而言,我安装并运行了另一个 MySQL 版本。我通过进入 mysql_error.log 文件发现了这一点。我通过转到服务并停止正在运行的 MySQL 版本并设置为手册并启动所需的 mysql 来解决此问题。

于 2016-12-02T14:16:21.853 回答
0

...一个旧的...无论如何我对 MariaDB 有同样的问题

在我的情况下,大多数路径都包含特殊字符,例如: # 在 my.ini 中用双引号括起来的路径很有效 - 例如

datadir="C:/#windata64/db/MariaDB/data"
于 2017-04-06T21:44:54.087 回答
0

就我而言,为了从 mysql 服务器中删除繁重的模式,只需转到 C:\ProgramData\MySQL\MySQL Server 5.7\Data 并删除相关文件夹。但它没有被删除,因为 mysqld.exe 阻止了它。所以我停止了 mysqld.exe,删除了文件夹,然后所有模式都从 mysql 工作台的列表中消失了。无论我如何尝试重新启动 mysql 服务,除非我从垃圾文件夹中恢复该文件夹,否则它没有。希望它对尝试与我相同的快捷方式的人有所帮助。

于 2018-03-10T13:03:24.350 回答
0

我在本地的两台机器上运行 MariaDB(兼容 MySQL)。我不确定是什么导致了错误,我尝试过的没有任何效果。所以我停止了服务,删除了 MariaDB 目录中的所有内容(数据目录除外)并从我的辅助机器复制了文件,据我所知,一切都运行良好。

对于实时服务器,它会有点不同,超级大师可能能够添加洞察评论(例如,数据目录之外的某些内容可能与防止数据损坏或索引有关?)。我会每月左右停止服务并复制整个目录一次,然后再次启动服务。

于 2019-01-21T20:21:58.490 回答
0

我刚刚发现,在设置中我选择了 InnoDB,而事实上我所有现有的数据库都是 MyIsam 格式。我卸载然后重新安装,选择 MyIsam,一切正常。

于 2021-07-31T16:46:26.370 回答
-1

如果您尝试在带有 GPT 分区的 Windows 10 安装上运行 MySql,请尝试以下操作:

当今的系统通常运行在以 GPT 格式化的磁盘上。这是因为 Windows 10 需要安装这样的分区。问题是 MySql 无法处理这种分区样式,因此它崩溃了。这是我的解决方法:

  • 创建虚拟磁盘:此处为手动
  • 使用 MBR 格式化此 VHD
  • 在您的新 VHD 上安装 MySql 自定义(不要忘记为 DB 创建用户)

应该是这个!:)

参考链接: Windows 10 上的 MySql 安装问题

于 2017-01-23T17:41:37.263 回答