我正在尝试使用 MSI 方法通过批处理文件从 Windows (XP) 命令行静默安装 MySQL 5.5.27 (最新版本)。按照 MySQL 网站上的说明,我只需执行以下操作:
msiexec /i /quiet mysql-5.5.27.msi
安装正常,但 Windows 服务无法启动。原因很明显,但我找不到解决方案。当我查看服务属性时,可执行文件的路径是:
C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld-nt
但它应该是:
C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld
我尝试使用 sc 卸载并重新安装具有正确名称的服务,但无法解决超时错误 1053。当我运行完整的安装程序时,不会出现此问题。有人可以帮忙吗?
答案1
这完美地说明了为什么我非常讨厌在 Windows 中使用 MSI 安装 MySQL。你无法知道哪里出了问题,直到为时已晚。这就像被箭射中一样。
简而言之,mysqld-nt.exe
mysqld 的旧版本能够在 Windows 环境中处理 NamedPipes 和 SharedMemory。那是在 MySQL 5.0 的早期。该二进制可执行文件已被删除,您可以在其停用的发行说明中发现。显然,有人决定将该可执行文件名称保留在 MSI 定义中。
您可以尝试以下操作:
cd C:\Program Files\MySQL\MySQL Server 5.5\bin
copy mysqld.exe mysqld-nt.exe
并重新启动 Windows 来查看 MySQL 是否可以被欺骗执行。
如果此mysqld-nt.exe
招失败了,不用担心。
我制定了一个使用无安装 ZIP 文件安装 MySQL 的计划。请参阅我 2011 年 2 月 10 日在 ServerFault 上的计划。