使用 .msi 在 Windows 上静默安装 MySQL 独立实例

使用 .msi 在 Windows 上静默安装 MySQL 独立实例

我正在尝试为我们编写的内部应用程序编写一个安装程序。在安装我们的应用程序后,它会在静默模式下使用 .msi 安装程序安装 MySQL。我将安装目录和数据目录指定为应用程序安装目录中的目录,例如:

msiexec /i @@MYSQL_INSTALLER_FILE@@ /qn 
    INSTALLDIR="@@INSTALL_DIR@@\MySQL\" 
    DATADIR="@@INSTALL_DIR@@\MySQL\" 
    USERNAME="@@DB_USER@@" PASSWORD="@@DB_PASS@@"

(@@variable@@ 已被我的安装程序使用 InstallJammer 替换)

安装后,我使用 mysqld.exe 安装具有自定义服务名称和默认文件的 Windows 服务,如下所示:

mysqld.exe --install CustomMySQL --defaults-file="@@INSTALL_DIR@@\MySQL\my.ini"

只要尚未安装另一个 MySQL 实例,此方法即可正常工作。如果已安装,则安装 MySQL 时会失败。手动运行 msi 安装程序(双击)会显示错误,提示已安装先前版本,然后直接中止。

有没有办法自动将 MySQL 安装为独立实例,而不管是否已经安装了其他版本/实例?

答案1

噢,有。

首先,我不太喜欢将 .msi 用于 MySQL。

我喜欢执行以下操作来创建完整的 Windows 服务而不使用 .msi

01)将无需安装的 MySQL zip 下载到您的桌面。

02) 在 Window1 中打开 Zip 文件。您应该看到数据文件夹、bin 文件夹、几个 my.ini 文件和其他文件。

03) 在所需位置创建服务器文件夹和数据文件夹。在此示例中,在 DOS 窗口中执行以下操作:

md C:\MySQLServer
md C:\MySQLData

04)C:\MySQLServer在 Windows 资源管理器中打开 (Window2)

05) 将 Zip 内容 (Window1) 复制并粘贴到 C:\MySQLServer (Window2)

06)C:\MySQLServer\data在 Windows 资源管理器中打开 (Window3)

07)C:\MySQLData在 Windows 资源管理器中打开 (Window4)

C:\MySQLServer\data08) 将(窗口3)的内容复制并粘贴到C:\MySQLData(窗口4)

09)关闭窗口3和窗口4

10)打开 DOS 窗口并运行以下 DOS 命令

cd C:\MySQLServer
copy my-medium.ini my.ini
notepad my.ini
define datadir="C:\\MySQLData"
cd C:\MySQLServer\bin
mysqld --install MySQLNew
net start MySQLNew

11)关闭所有窗口

你应该完成了!

让我们知道结果如何!!!

顺便说一下,服务名称是 MySQLNew

相关内容