2015-06-11 66 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$\'"' 
相關問題