我遇到了一个砖墙,试图在我的机器上安装MySQL v5.5。
我的电脑是Windows 7 x64,企业版。
MySQL安装正常,但是当我运行“MySQL实例configuration向导”时,它永远停留在“启动服务”(我可以让它运行30分钟,没有响应)的步骤。 如果我进入服务,我看到“MySQL”服务还没有启动,如果我尝试启动它,它说:“Windows无法在本地计算机上启动MySQL服务,错误1067:进程意外终止。
我已经尝试了以下内容:
我的机器以其他方式工作100%。 InfiniDB(一个兼容MySQL的数据库)安装100%,Visual Studio 2010,Microsoft SQL Server等也是如此。
你的build议如何解决这个问题?
ps这是它被卡住的屏幕15分钟,直到我杀了进程:

2010-12-20更新
试过MySQL v5.1,它也没有工作。 其惊人的 – 如果你input“mysqld /?”,或“mysqld -help”,它不会给你任何帮助。 而且,如果您尝试手动重新启动服务,则不会显示任何错误消息。 难道会更无助吗?
2010-12-21更新
安装MySQL 6.0 alpha,它的工作。 但是,我宁愿不使用一个alpha版本,因为“稳定”版本是什么,但:(
2010-12-21更新
findhttp://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更新
现在安装正确。 请参阅下面的答案。
以下是我解决问题的方法:
步骤1:默认情况下,无法找出服务无法启动的原因。 所以,告诉它以非服务模式启动,并将错误传递给控制台:
mysqld --console
第二步:在我的情况下,我不得不删除的内容:
C:\ProgramData\MySQL
…然后重新安装。 MySQL v5.5安装程序有一个错误:如果卸载MySQL v5.5以修复安装不当的问题,则无法清理C:\ ProgramData \ MySQL,这意味着无法安装MySQL v5.5那台机器,从那一刻起,不删除这个stream氓目录。
提示:
在Oracle上致MySQL开发团队的一封信:
—开始写信给Oracle —
Oracle的亲爱的MySQL开发团队:
如果在安装MySQL时,服务无法启动,请通过以下两种方式告诉我们为什么:(a)指向错误日志的方向或(b)显示此错误日志。
如果不这样做的话,甲骨文将无能为力。
此致,
在Windows上安装MySQL的每个人。
—结束对Oracle的公开信—
从网站引用rigatum发表:
在安装MySQL的时候,如果你把它安装在一个非标准的目录下,那么在你运行MySQL或者安装MySQL服务之前,你需要指定默认文件的path,否则你会得到错误1067。
首先让我们打开命令提示符。 导航到您的MySQL安装文件夹,并findmysqld.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安装。
而我只是添加 – 不仅在这种情况下programdata \ mysql必须删除,而且innoDB文件夹:\ mysql数据文件
我同意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 xx/data – >(这是默认path)
用这样的东西改变上面的行:
datadir="<Drive_Letter>:/path/where/MySQL/is/installed/MySQL Server xx/data/"
将C:/ProgramData/MySQL/MySQL Server xx/所有内容复制到新指定的datadir
除了 ib_logfile0和ib_logfile1 (将它们作为备份重新定位在别处)。
删除C:/ProgramData/MySQL/MySQL Server xx/ 。
重新运行MySQLInstanceConfig 。
检查TCP/IP networking但不要更改安全设置(保持不变)。
启动服务( ib_logfile(1,2)将被重新生成)。
PS:使用CCleaner重新启动并清除临时文件。 对于某些奇怪的原因,在应用以上设置之后,无法从IDE或MySQL Workbench CE xx连接到MySQL DBMS,直到重新启动。
注:编辑安全设置将导致configuration实用程序由于另一个错误而挂起
在启用任何其他设置的TCP / IP时引入。
希望这可以帮助!
为了logging,我试了几个小时得到5.5.20安装在Windows 2008 64bit 。 它永远不会开始。 我尝试了所有我能find的解决scheme。 包括在这里接受的答案。 从未工作。
所以我降级到5.1.61 ,就像冠军一样。 第一次。
我做的是
顺便说一句,我倾倒数据库与mysqldump – 所有数据库,以防万一:)
添加逻辑innodb_flush_method=normal my.ini为我工作。 我在运行MySQL 5.7的Windows 7 x64上,将数据库移动到3TB的硬盘上。 快速演练:
net stop sqlXX在Windows命令提示符下net stop sqlXX xcopy "C:\ProgramData\MySQL\MySQL Server XX\data" "<new_directory>\data" /s复制data文件夹 "<new_directory>\data"删除ib_logfile0和ib_logfile1 C:ProgramData\MySQL\MySQL Server XX\my.ini ,设置datadir="<new directory>/data" ,在文件底部添加innodb_flush_method=normal ,并保存 net start mysqlXX重新启动服务 这里的XX是你的版本号。 我使用5.7,所以我用net start mysql57 。
根据链接的讨论,这个默认值是innodb_flush_method=unbuffered ,这取决于512字节的扇区大小,对于<2TB的HDD是正常的。 如果硬盘大于2TB,则通常使用4096字节的扇区格式化,导致1067错误。
我也尝试了以上所有内容,这是解决这个问题的唯一方法。