mysql silent installieren und konfigurieren in nsi

4636
pradnya

Ich möchte MySQL 5.0 unbemerkt in NSI installieren. Ich habe den folgenden Code in NSI ausprobiert:

 ExecWait 'msiexec /i "$INSTDIR\mysql-essential-5.0.27-win32.msi" /qn' ExecWait "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlinstanceconfig.exe -i -q ServiceName=MySQL RootPassword=root ServerType=DEVELOPMENT DatabaseType=MYISAM Port=3306 RootCurrentPassword=root" 

Dadurch wird MySQL installiert, aber es wird nicht erstellt.

Ich möchte es mit konfigurieren

  • pass = root
  • port = 3306
  • Servicename = Mysql
  • und aktivieren Sie den Root-Zugriff von einem entfernten Computer aus

EDIT1

Jetzt wird es konfiguriert ...

Für serverhost als localhost oder 127.0.0.1 funktioniert es, nicht jedoch für die IP-Adressen der anderen Systeme, die sich im Netzwerk befinden.

Wenn ich versuche, auf die Datenbank auf eine unbeaufsichtigt installierte Datenbank von einem PC im Netzwerk zuzugreifen, wird die folgende Fehlermeldung angezeigt:

enter image description here

Ich denke, das liegt daran, dass ich einige Parameter für den Root-Zugriff von einem entfernten Rechner aus übergeben muss.

1

2 Antworten auf die Frage

0
Ove

Geben Sie den mysqlinstanceconfig.exeDateinamen wie folgt an:

ExecWait 'msiexec /i "$INSTDIR\mysql-essential-5.0.27-win32.msi" /qn' ExecWait "$\"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqlinstanceconfig.exe$\" -i -q ServiceName=MySQL RootPassword=root ServerType=DEVELOPMENT DatabaseType=MYISAM Port=3306 RootCurrentPassword=root" 

Der Grund dafür ist, dass der Pfad zum Namen der ausführbaren Datei Leerzeichen enthält. Dieser Pfad muss in Anführungszeichen gesetzt werden, damit er einen einzigen Pfad bilden kann.

es wird immer noch nicht konfiguriert ... :( .. ist der konfigurationscode korrekt? pradnya vor 12 Jahren 0
Ich habe nur die beiden Befehle ausgeführt, die Sie angegeben haben, und der MySQL Query-Browser funktioniert für mich. Es kann sich lokal mit der Datenbank verbinden. Ove vor 12 Jahren 0
Ich möchte es aus der Ferne verbinden .. Wie mache ich das .. Ich habe meine Frage bearbeitet .. pradnya vor 12 Jahren 0
Versuchen Sie, in der Befehlszeile für mysqlinstanceconfig `SkipNetworking = no 'hinzuzufügen. Sie können alle Parameter sehen [hier] (http://dev.mysql.com/doc/mysql-windows-excerpt/5.1/de/mysql-config-wizard-cmdline.html) Ove vor 12 Jahren 0
muss ich SkipNetworking = no am Ende der Execwait-Zeile hinzufügen? ExecWait "$ \" C: \ Programme \ MySQL \ MySQL Server 5.0 \ bin \ mysqlinstanceconfig.exe $ \ "-i -q ServiceName = MySQL-RootPassword = Root ServerType = DEVELOPMENT DatabaseType = MYISAM Port = 3306 RootCurrentPassword = Root SkipNetworking = Nein "dann funktioniert nicht .. ( pradnya vor 12 Jahren 0
Starten Sie den MySQL-Dienst neu, nachdem Sie ihn konfiguriert haben. Wenn auch das nicht funktioniert, kann ich Ihnen leider nicht weiterhelfen, da ich nicht zwei vernetzte Computer zum Testen habe. Ove vor 12 Jahren 0
0
Der Hochstapler

Der gesamte Befehl, an den übergeben wird, ExecWaitsollte eingeschlossen werden, ''wenn er Leerzeichen enthält.

Die Parameter in Ihren Parametern müssen eingeschlossen werden, ""wenn sie Leerzeichen enthalten. Sie sehen ein perfektes Beispiel dafür, wie Sie dies bei Ihrem ersten Anruf an tun könnenExecWait .

Wenn der Befehl Leerzeichen enthalten kann, sollten Sie ihn in Anführungszeichen setzen, um ihn von Parametern zu trennen. zB: ExecWait '"$ INSTDIR \ command.exe" Parameter'.

Quelle: Dokumentation