在Windows上使用静默安装与.msi安装MySQL的隔离实例

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

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

(使用InstallJammer将@@ variable @@replace为我的安装程序)

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

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

只要还没有安装另一个MySQL实例,这工作正常。 如果有的话,静静地安装MySQL。 手动运行msi安装程序(双击)会显示一个错误,说明以前的版本已经安装,只是中止。

有没有办法自动安装MySQL作为一个孤立的实例,无论是否已经安装了另一个版本/实例?

哦,是的。

一方面,我不是使用MySQL的.msi的忠实粉丝。

我喜欢做下面的事情来创build一个完整的Windows服务而不使用.msi

01)将MySQL的no-install zip下载到您的桌面。

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

03)在所需位置创build服务器文件夹和数据文件夹。 对于这个例子,在DOS窗口中,执行以下操作:

 md C:\MySQLServer md C:\MySQLData 

04)在Window Explorer(Window2)中打开C:\MySQLServer

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

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

07)在Window Explorer(Window4)中打开C:\MySQLData

08)将C:\MySQLServer\data (Window3)的内容复制粘贴到C:\MySQLData (Window4)

09)closuresWindow3和Window4

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)closures所有的Windows

你应该做的!

让我们知道如何结果!

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