2015-06-11 26 views
0
我使用下面的代码,但没有成功

,请大家帮忙按如下步骤要创建在安装拥有完全权限的MySQL用户在NSIS

!define deflogin root 
!define defpassword mysqlpassword 
!define HOSTPORT "%" 


ExecWait '$folder\bin\mysql --user=${deflogin} --password=${defpassword} --execute="grant all privileges on *.* to $\'${login}$\' @ $\'${HOSTPORT}$\' identified by $\'${password}$\'"' 

${login} & ${password}采取定制的.ini配置

Function .onInit 
    InitPluginsDir 
    !insertmacro INSTALLOPTIONS_EXTRACT "database_details.ini"  
    !insertmacro INSTALLOPTIONS_WRITE "database_details.ini" "Field 2" "State" "${login}" 
    !insertmacro INSTALLOPTIONS_WRITE "database_details.ini" "Field 4" "State" "${password}" 
    FunctionEnd 

    ReadINIStr $login "$PLUGINSDIR\database_details.ini" "Field 2" "State" 
    ReadINIStr $password "$PLUGINSDIR\database_details.ini" "Field 4" "State" 

请告诉我错在哪里。

+0

“没有成功”不是很清楚,你能告诉你得到了什么(错误信息,意外的行为)和你的期望吗? – Seki

+0

上述代码执行后,必须创建帐户,但它不会创建任何帐户与代码中的给定查询 - > 授予*。*到$ \'$ {登录} $ \'@ $ \'$由$ \'$ {密码} $ \'“识别的{HOSTPORT} $ \' –

+0

@Seki请告诉我错在哪里。 –

回答

0

谢谢@Seki的回复。这段代码工作正常,我在$ {密码}和$密码以及$ {login}和$ login之间混淆,这就是为什么它现在不是在唤醒我现在正确的代码和它的工作原理。

ExecWait '$folder\bin\mysql --user=${deflogin} --password=${defpassword} --execute="grant all privileges on *.* to $\'$login$\' @ $\'${HOSTPORT}$\' identified by $\'$password$\'"' 
相关问题