2013-12-19 13 views
0

我有腳本SQL:NSIS 2不能改變mysql的密碼/運行SQL腳本

UPDATE mysql.user SET password=PASSWORD("my-new-password") WHERE User='root'; 
FLUSH PRIVILEGES; 

和MySQL安裝後,我想執行它。我試着

ExecCmd::exec '"cmd.exe" /C "$instaldir\MySQL\bin\mysql.exe" -uroot < "C:\passwd.sql"' 

StrCpy $sql_file ""C:\passwd.sql" 
ExecWait '"cmd.exe" /C "$instaldir\MySQL\bin\mysql.exe" -uroot < $sql_file' 

,但它不工作:-(

+0

運行命令時是否收到錯誤消息?你能向我們展示這件事嗎? –

回答

0

你不需要添加CMD.EXE,exec和execwait會做。

嘗試這個:

ExecCmd::exec '"$instaldir\MySQL\bin\mysql.exe" -uroot < "C:\\passwd.sql"' 
+0

不適合我... – syncerror

0

這似乎是t工作!

StrCpy $sql_file "$temp\ampp\passwd.sql" 
    ExecWait '"cmd.exe" /C "C:\Program Files\AMPP\MySQL\bin\mysql.exe" -uroot < $sql_file' $0 ; changes root password 
    MessageBox MB_OK $0 
-1

我已經做到了 添加MySQL的環境變量路徑------ U可以從NSIS ......使用插件添加....別的手動 做在NSIS紙條加頂部 - >RequestExecutionLevel管理運行作爲系統管理員 然後設置新密碼添加腳本 - >nsExec :: Exec的/ TIMEOUT = 10000「中mysqladmin -u root密碼新密碼」 如果u需要改變密碼,加 - >nsExec :: Exec/TIMEOUT = 10000「mysqladmin -u root -p'oldpassword'password newpassword」(忽略'使用的引號f或舊密碼)