尝试在Win7 x64上安装MySQL时出现“错误1067:进程意外终止”


14

我遇到了一堵砖墙,试图在我的机器上安装MySQL v5.5。

我的电脑是Windows 7 x64企业版。

MySQL安装正常,但是当我运行“ MySQL实例配置向导”时,它将在“启动服务”步骤中永久暂停(我可以让它运行30分钟而没有任何响应)。如果我进入服务,就会发现“ MySQL”服务尚未启动,并且如果我尝试启动它,则会显示“ Windows无法在本地计算机上启动MySQL服务。错误1067:该进程意外终止。”

我尝试了以下方法:

  • 关闭防火墙。
  • 卸载所有防病毒软件。
  • 安装/重新安装MySQL的32位版本。
  • 安装/重新安装MySQL的64位版本。
  • 卸载后,删除“ C:\ program files \ MySQL”和“ C:\ program files(x86)\ MySQL”的内容,然后重新安装。
  • 检查是否没有名为MySQL的流氓服务????(来自以前的安装)。
  • 检查备用程序未使用端口3306。
  • 更改MySQL使用的默认端口。
  • 检查“ C:\ windows”中的“ my.ini”和“ my.ini.cnf”(那里什么也没有,但这可能会导致问题)。
  • 在“管理员模式”下运行MySQL安装程序和配置向导。
  • 关闭UAC。
  • 使用默认设置安装,不更改任何内容。
  • 重新启动我的机器(到目前为止,大约有6次重新启动)。
  • 打开防火墙中的端口3306(TCP和UDP,入站和出站)。
  • 向设计MySQL的程序员的狂怒宣誓,因此您甚至无法安装它(好像那样会有所帮助!)

我的机器以其他方式正常工作100%。InfiniDB(与MySQL兼容的数据库)安装100%,Visual Studio 2010,Microsoft SQL Server等也安装。

您对如何解决此问题的建议?

ps这是它被卡住15分钟的屏幕,直到我终止了该过程:

替代文字

更新2010-12-20

尝试过MySQL v5.1,它也不起作用。令人惊奇的是-如果键入“ mysqld /?”或“ mysqld -help”,它不会给您任何帮助。而且,如果您尝试手动重新启动服务,则不会显示任何错误消息。还能没有帮助吗?

更新2010-12-21

安装了MySQL 6.0 alpha,并且可以正常工作。但是,我宁愿不使用alpha版本,因为“稳定”版本除了:(

更新2010-12-21

找到了http://dev.mysql.com/doc/refman/5.1/en/windows-troubleshooting.html,该内容用于在Windows下进行故障排除。

发现如果服务无法启动,您可以生成错误日志-参见此处:http : //dev.mysql.com/doc/refman/5.1/en/error-log.html

更新2010-12-21

啊哈!线索。要实际看到错误,请添加“ --console”:

mysqld --console

返回:

101221 13:57:28 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use Windows interlocked functions
InnoDB: Compressed tables use zlib 1.2.3
101221 13:57:28  InnoDB: Initializing buffer pool, size = 203.0M
101221 13:57:28  InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file .\ib_logfile0 is of different size 0 56623104 bytes
InnoDB: than specified in the .cnf file 0 106954752 bytes!
101221 13:57:28 [ERROR] Plugin 'InnoDB' init function returned error.
101221 13:57:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
101221 13:57:28 [ERROR] Unknown/unsupported storage engine: INNODB
101221 13:57:28 [ERROR] Aborting
101221 13:57:28 [Note] mysqld: Shutdown complete

更新2010-12-21

现在可以正确安装。请参阅下面的答案。


就我而言,“ my.ini”文件的配置路径错误。希望它可以帮助别人。
scepeda 2015年

Answers:


11

这是解决问题的方法:

步骤1:默认情况下,无法找出服务无法启动的原因。因此,告诉它以非服务模式启动,并将错误传递到控制台:

mysqld --console

步骤2:在我的情况下,我必须删除以下内容:

C:\ProgramData\MySQL

...然后重新安装。MySQL v5.5安装程序存在一个错误:如果卸载MySQL v5.5以解决安装错误的问题,则它无法清除C:\ ProgramData \ MySQL,这意味着无法在以下位置安装MySQL v5.5从那一刻起,该计算机就不会删除该恶意目录。

提示:

  • 确保在进程监视器中杀死“ mysqld”的所有实例。
  • 要删除任何现有服务,请使用“ sc delete MYSQLxx”。

给甲骨文MySQL开发团队的公开信:

---致甲骨文公开信-

尊敬的Oracle MySQL开发团队:

如果在安装MySQL时服务无法启动,请通过(a)将我们指向错误日志的方向或(b)显示此错误日志来告知我们原因。

否则,Oracle将无法胜任。

此致,

在Windows上安装MySQL的每个人。

---致甲骨文的公开信-


3

我同意Gravitas的观点,但是您不需要重新安装(特别是在将MySQL
Server xx 安装在C:/ Program Files /中的默认文件夹以外的其他文件夹中时)。
这些步骤帮助我成功运行了该服务。在Win7 x64中工作,因此我认为x32会很好:)

打开安装了MySQL Server xx的“ my.ini”文件(我的版本为5.5,但5.1也可以)
转到显示以下内容的行:

datadir=C:/ProgramData/MySQL/MySQL Server x.x/data->(这是默认路径),使用以下内容
更改上面的行:
datadir="<Drive_Letter>:/path/where/MySQL/is/installed/MySQL Server x.x/data/"

将的所有内容复制C:/ProgramData/MySQL/MySQL Server x.x/到新指定的数据目录
EXCEPT ib_logfile0ib_logfile1(将它们作为备份放置在其他位置)。
删除C:/ProgramData/MySQL/MySQL Server x.x/
重新运行MySQLInstanceConfig
检查TCP/IP networking不要更改安全设置(不要更改)。
启动服务(ib_logfile(1,2)将重新生成)。

PS:使用CCleaner重新启动并清理临时文件(重新启动后)。由于某些(怪异的)原因,在应用了上述设置之后,您无法从IDE或MySQL Workbench CE xx连接到MySQL DBMS,直到重新启动。

注意:由于
使用其他设置启用TCP / IP时引入的另一个错误,编辑安全设置将导致配置实用程序挂起。

希望这可以帮助!


2

http://mydailytech.com/post/how-to-fix-mysql-error-1067/

检查并点击上面的链接-它应该可以解决我的问题。

希望能有所帮助


抱歉,这不能解决问题。我什至尝试将其重新安装在C:\ MYSQL55 \中,以确保长文件名不会改变内容,重新启动计算机等。我开始怀疑MySQL v5.5和更早版本是否在Windows 7下被普通破坏了x64?
康坦戈

2

引用rigatum发布的网站:

安装MySQL时,如果将其安装在非标准目录中,则需要指定默认文件的路径在运行MySQL或安装MySQL服务之前,否则会出现错误1067。

首先让我们打开命令提示符。导航到您的MySQL安装文件夹,然后找到mysqld.exe所在的位置。然后运行:

mysqld –remove MySql

那将卸载MySQL服务。现在,使用defaults-file参数重新安装该服务:

mysqld –install <service name> –defaults-file=<full path of “my.ini” file>

例如:

mysqld –install MySql –defaults-file=c:\mysql\my.ini

享受无错误的MySQL安装。


抱歉,这不能解决问题。我什至尝试将其重新安装在C:\ MYSQL55 \中,以确保长文件名不会改变内容,重新启动计算机等。我开始怀疑MySQL v5.5和更早版本是否在Windows 7下被普通破坏了x64?
康坦戈

1
没有它没有被完全打破的问题,我可以在65个dev Windows 7机器上正常工作,18个服务器(nix和Windows 2008R2都可以)以及Windows 2008和7的家用计算机上完美地工作。我认为它无法正确卸载某些东西,这就是为什么它在某些时候卡住的原因-我发生了,但这是前一段时间。我已经卸载了,手动删除了所有的mysql目录,并且也从Windows中删除了服务实例。
rihatum

2

我只是添加-在这种情况下,不仅必须删除programdata \ mysql,而且还要删除innoDB文件夹:\ mysql datafiles


2

作为记录,我尝试了几个小时才能在上5.5.20进行安装Windows 2008 64bit。它永远不会开始。我尝试了所有可以解决的示例。在此处包括已接受的答案。没工作

所以我降级到了5.1.61,它像冠军一样工作。第一次。


2

我所做的是

  1. 在守护程序未运行的情况下,我将Program Data \ MySQL下的data文件夹重命名为其他名称。
  2. 从控制面板上卸载mysql
  3. 重新安装。在配置安全设置时失败,错误代码为1045。我检查了MySQL是否已作为服务安装,并且root密码为空。我通过在没有用户名的情况下运行mysql实用程序来验证了这一点。当系统提示您重试或跳过时,我单击了“跳过”,然后单击了“后退”按钮,直到对话框中指定了当前root密码和新密码为止。我在当前根密码字段中删除了该密码,因为该密码已经为空,并提供了新的根密码。配置继续,没有更多错误
  4. 停止服务
  5. 从已重命名的旧数据文件夹中复制数据库文件夹。没有复制日志文件和ibdata文件。
  6. 将文件夹粘贴到当前(新)数据文件夹中。
  7. 重新启动服务
  8. 在mysql实用工具中进行测试,以查看是否将显示数据库。

顺便说一句,我用mysqldump --all-databases转储了数据库,以防万一:)


2

添加逻辑innodb_flush_method=normalmy.ini为我工作。我在运行MySQL 5.7的Windows 7 x64上,将数据库移至3TB HDD。快速演练:

  1. 使用以下命令在Windows命令提示符下停止服务 net stop sqlXX
  2. data使用命令复制文件夹xcopy "C:\ProgramData\MySQL\MySQL Server X.X\data" "<new_directory>\data" /s
  3. "<new_directory>\data"删除ib_logfile0ib_logfile1
  4. 打开C:ProgramData\MySQL\MySQL Server X.X\my.ini,设置datadir="<new directory>/data"innodb_flush_method=normal在文件底部添加,然后保存
  5. 使用以下命令重新启动服务 net start mysqlXX

XX是您的版本号。我正在使用5.7,所以我使用net start mysql57

根据链接的讨论,默认值是innodb_flush_method=unbuffered,这取决于512字节的扇区大小,这对于<2TB HDD是正常的。如果HDD> 2TB,通常将使用4096字节的扇区进行格式化,从而导致1067错误。

我也尝试了以上所有方法,这是解决问题的唯一方法。

http://bugs.mysql.com/bug.php?id=28913

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.