我的应用程序使用MySQL Server。在inno设置脚本中详细说明了以下内容:
在[代码]
中在[run]
中脚本工作正常,但我希望[run]部分的第1和第2项也在[code]中执行:
在[代码]
中在[run]
中但是第二种方案是包含新用户和密码以及数据库创建的错误。在[run]中,这不会发生。
我在[code]中用来插入用户和密码的代码如下:
if (CurStep = ssInstall) then
begin WizardForm.ProgressGauge.Style: = npbstMarquee; WizardForm.StatusLabel.Caption: = 'Starting service MySQL on Windows. This may take a few minutes ... ';
if not Exec (ExpandConstant ('{pf} \ MySQL \ MySQL Server 5.5 \ bin \ mysqld.exe'), 'mysql-u root GRANT ALL PRIVILEGES ON *. * TO myusername @ localhost IDENTIFIED BY mypassword WITH GRANT OPTION;' '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
MsgBox ('The MySQL service failed. Code:' + IntToStr (ResultCode) mbInformation, MB_OK);
WizardForm.ProgressGauge.Style: = npbstNormal; WizardForm.StatusLabel.Caption: ='';
end;
答案 0 :(得分:0)
MySQL客户端mysql.exe使用参数-e
命令应如下所示
mysql -uroot -e"GRANT ALL PRIVILEGES ON *.* TO 'myusername'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION"
另外不要忘记设置root密码