使用命令提示符和MySQLInstanceConfig.exe配置MySQL

时间:2009-08-08 06:19:16

标签: mysql

我正在尝试使用命令提示符静默安装和配置MySQL(Windows XP上的版本4.1.22),以便它可以包含在不同应用程序的安装程序中。我以为我已经正确安装和配置了所有内容,但MySQL服务无法启动,即使我尝试通过服务管理单元启动它。

我目前正在做以下事情:

  1. mysql-essential-4.1.22-win32.msi / passive
  2. MySQLInstanceConfig.exe -i -q“-lc:mysql_install_log.txt”ServerType = DEVELOPMENT DatabaseType = MIXED ConnectionUsage = DSS Port = 3306 RootPassword = password
  3. 我没有出现任何错误或任何表明参数不正确的问题,唯一的问题是mysql_install_log.txt表示(见下面的完整日志):

    • 无法启动MySQL服务。错误:0

    据我所知,MySQL具有所需的所有配置以及安装日志退出中引用的所有路径等。我还尝试使用UI配置使用MySQLInstanceConfig.exe,并且工作正常。

    这个错误显然是指一些缺少的配置,我错过了什么?

    另请注意:

    • 我无法升级到更新版本的MySQL
    • 我在虚拟机上安装全新的Windows XP SP3时运行此功能
    • 我正在使用定义为here
    • 的MySQLInstanceConfig参数

    完整安装日志:


    欢迎使用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

3 个答案:

答案 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)

  1. 创建文件夹 C:\ MYSQL
  2. here下载 mysql-installer-community-5.6.20.0.msi 并将其保存到 C:\ MYSQL 文件夹。
  3. 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;

  4. 正在运行 installer.bat

  5. 上面的脚本将执行以下操作:

    • 使用username = root,password = your_password
    • 安装mysql-server-5.6-win32
    • 安装.NET Connector
    • 启动Mysql服务
    • 将MySql端口3306添加到防火墙

答案 2 :(得分:0)

与上述答案类似 - 但实际工作(至少5.6.27)

  1. 创建临时文件夹

  2. 将mysql-installer-community- [version] .msi

  3. 放入文件夹
  4. 创建以下批处理文件。将版本变量替换为您下载的版本

  5. 
    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
    
    
    1. 运行批处理文件 - 将root密码添加为参数

      installer.bat [root_password]