nsis 2 can';t更改mysql密码/运行sql脚本

nsis 2 can';t更改mysql密码/运行sql脚本,mysql,passwords,nsis,Mysql,Passwords,Nsis,我有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"' ExecCmd::exec''cmd.exe”/C“$inst

我有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"'
ExecCmd::exec''cmd.exe”/C“$instaldir\MySQL\bin\MySQL.exe”-uroot

StrCpy$sql\u文件“C:\passwd.sql”
ExecWait的“cmd.exe”/C“$instaldir\MySQL\bin\MySQL.exe”-uroot<$sql\u文件”

但是它不起作用:-(

您不需要添加cmd.exe,exec和execwait就可以了

试试这个:

ExecCmd::exec '"$instaldir\MySQL\bin\mysql.exe" -uroot < "C:\\passwd.sql"'
ExecCmd::exec'$instaldir\MySQL\bin\MySQL.exe“-uroot<“C:\\passwd.sql”
这似乎有效

  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
StrCpy$sql\u文件“$temp\ampp\passwd.sql”
ExecWait的“cmd.exe”/C“C:\Program Files\AMPP\MySQL\bin\MySQL.exe”-uroot<$sql\u file'$0;更改根密码
MessageBox MB_正常$0
我已经做了 添加mysql的环境变量路径------您可以从nsis添加…使用插件…否则手动添加 在nsis scrip的顶部,添加-->RequestExecutionLeveladmin以系统管理员身份运行 然后为设置新密码,添加脚本-->nsExec::Exec/TIMEOUT=10000“mysqladmin-u root password newpassword”
如果您需要更改密码,请添加-->nsExec::Exec/TIMEOUT=10000“mysqladmin-u root-p'oldpassword'password newpassword”(忽略用于旧密码的引号)

您在运行该命令时是否收到错误消息?能否向我们显示此消息?
  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