我尝试在我的计算机上安装 MySQL v5.5 时遇到了困难。
我的电脑是 Windows 7 x64,企业版。
MySQL 安装正常,但当我运行“MySQL 实例配置向导”时,它会永远暂停在“启动服务”步骤上(我可以让它运行 30 分钟而没有任何响应)。如果我进入服务,我会看到“MySQL”服务尚未启动,如果我尝试启动它,它会显示“Windows 无法在本地计算机上启动 MySQL 服务。错误 1067:进程意外终止。”
我尝试了以下方法:
- 关闭防火墙。
- 卸载所有防病毒软件。
- 安装/重新安装 32 位版本的 MySQL。
- 安装/重新安装 64 位版本的 MySQL。
- 卸载,删除“C:\program files\MySQL”和“C:\program files (x86)\MySQL”的内容,重新安装。
- 检查是否存在名为 MySQL???? 的恶意服务(来自以前的安装)。
- 检查端口 3306 未被备用程序使用。
- 更改 MySQL 使用的默认端口。
- 检查“C:\windows”中的“my.ini”和“my.ini.cnf”(那里没有任何东西,但这可能会导致问题)。
- 在“管理员模式”下运行 MySQL 安装程序和配置向导。
- 关闭 UAC。
- 使用默认设置安装,不更改任何内容。
- 重新启动我的机器(到目前为止大约重新启动了六次)。
- 在防火墙中打开端口 3306(TCP 和 UDP,入站和出站)。
- 咒骂设计 MySQL 的程序员的笨手笨脚,让你无法安装它(好像那会有所帮助!)
我的机器在其他方面都运行正常。InfiniDB(MySQL 兼容数据库)安装正常,Visual Studio 2010、Microsoft SQL Server 等也安装正常。
您对如何解决这个问题有什么建议?
附言:这是它卡住 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
现在可以正确安装。请参阅下面的答案。
答案1
以下是我解决问题的方法:
步骤 1:默认情况下,不可能找出服务启动失败的原因。因此,告诉它以非服务模式启动,并将错误传送到控制台:
mysqld --console
第 2 步:就我的情况而言,我必须删除以下内容:
C:\ProgramData\MySQL
...然后重新安装。MySQL v5.5 安装程序有一个错误:如果您卸载 MySQL v5.5 来修复错误安装的问题,它将无法清理 C:\ProgramData\MySQL,这意味着从那一刻起,如果不删除这个恶意目录,就无法在该机器上安装 MySQL v5.5。
提示:
- 确保终止进程监视器中所有“mysqld”实例。
- 要删除任何现有服务,请使用“sc delete MYSQLxx”。
致 Oracle MySQL 开发团队的公开信:
---开始致 Oracle 的公开信---
亲爱的 Oracle MySQL 开发团队:
如果安装 MySQL 后服务无法启动,请通过 (a) 指出错误日志的方向或 (b) 显示此错误日志让我们知道原因。
如果做不到这一点,Oracle 将会显得无能。
此致,
在 Windows 上安装 MySQL 的每个人。
---致 Oracle 的公开信结束---
答案2
我同意 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/
到新指定的datadir
除了 ib_logfile0
& ib_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 时会引入另一个错误。
希望这可以帮助!
答案3
答案4
我只想补充一点 - 在这种情况下,不仅必须删除 programdata\mysql,还必须删除 innoDB 文件夹:\mysql datafiles