我正在尝试使用命令提示符静默安装和配置MySQL(Windows XP上的版本4.1.22),以便它可以包含在不同应用程序的安装程序中。我以为我已经正确安装和配置了所有内容,但MySQL服务无法启动,即使我尝试通过服务管理单元启动它。
我目前正在做以下事情:
我没有出现任何错误或任何表明参数不正确的问题,唯一的问题是mysql_install_log.txt表示(见下面的完整日志):
据我所知,MySQL具有所需的所有配置以及安装日志退出中引用的所有路径等。我还尝试使用UI配置使用MySQLInstanceConfig.exe,并且工作正常。
这个错误显然是指一些缺少的配置,我错过了什么?
另请注意:
完整安装日志:
欢迎使用MySQL服务器实例配置向导1.0.8 日期:2009-08-08 14:10:45
安装服务......
产品名称:MySQL Server 4.1 版本:4.1.22 安装路径:C:\ Program Files \ MySQL \ MySQL Server 4.1 \
使用模板C:\ Program Files \ MySQL \ MySQL Server 4.1 \ my-template.ini创建配置文件C:\ Program Files \ MySQL \ MySQL Server 4.1 \ my.ini。 选项: 发展 混合 DSS STRICTMODE
变量: 港口:3306 default-character-set:latin1 basedir:“C:/ Program Files / MySQL / MySQL Server 4.1 /” datadir:“C:/ Program Files / MySQL / MySQL Server 4.1 / Data /”
创建Windows服务条目。 服务名称:“MySQL” 参数:“C:\ Program Files \ MySQL \ MySQL Server 4.1 \ bin \ mysqld-nt”--defaults-file =“C:\ Program Files \ MySQL \ MySQL Server 4.1 \ my.ini”MySQL。 Windows服务MySQL安装。 无法启动MySQL服务。错误:0
答案 0 :(得分:2)
我知道这个问题很古老,你可能很久以前就找到了答案,但希望这些信息可能对某人有用。
我在MySQL v5.1中遇到了同样的问题,并且无法以一种好的方式解决它。我最后在运行配置实例向导后直接手动安装服务。
e.g。
mysqld --install NameOfYourMySQLService --defaults-file=your_ini_file.ini
然后手动启动服务,我通过C#使用以下代码完成(除了所有丑陋的重试内容以剪切以保护我脆弱的骄傲)
ServiceController[] services = ServiceController.GetServices("127.0.0.1");
foreach (ServiceController service in services)
{
if (service.ServiceName == "NameOfYourMySQLService ")
{
service.Start();
}
}
或者如果您在批处理文件中执行此操作
net start NameOfYourMySQLService
希望这有助于某人。
答案 1 :(得分:0)
在 C:\ MYSQL 中创建名为 installer.bat 的批处理文件。将下面的脚本复制到 installer.bat :
@echo off
msiexec / i"%~dp0 \ mysql-installer-community-5.6.20.0.msi" /安静
" C:\ Program Files \ MySQL \ MySQL Installer \ MySQLInstallerConsole.exe" --action = install --product = mysql-server-5.6-win32 --product = connector-net-win32 --config = mysql-server-5.6-win32:passwd = your_password; autostartservice = true; openfirewall = true; port = 3306;
正在运行 installer.bat
上面的脚本将执行以下操作:
答案 2 :(得分:0)
与上述答案类似 - 但实际工作(至少5.6.27)
创建临时文件夹
将mysql-installer-community- [version] .msi
创建以下批处理文件。将版本变量替换为您下载的版本
if '%1' == '' goto usage set password=%1 set installer="C:\Program Files (x86)\MySQL\MySQL Installer for Windows\MySQLInstallerConsole.exe" set "version=5.6.27" msiexec /i "%~dp0\mysql-installer-community-%version%.0.msi" /quiet %installer% install server;%version%;X64:*:port=3307;openfirewall=true;passwd=%password% -silent goto finally :usage echo. echo MySQL server install script echo. echo Usage %0 [root password] echo. goto finally :finally
运行批处理文件 - 将root密码添加为参数
installer.bat [root_password]