1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
1037
1037
EMPFEHLEN
-
Hallo,
ich versuche in einer Batch Datei folgende Dinge für eine MySQL Installation zu regeln:
- Überprüfen ob MySQL in der Version bereits installiert ist (über die Registry) (das auslesen selbst und speichern in eine Variable funktoiniert)
- Installieren von MySQL Server (quite) // funktioniert
- Konfigurieren von MySQL Server per Batch // funktioniert
Hier dazu die Batch:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
reg query "HKLM\Software\MySQL AB\MySQL Server 5.1" /v "Location" IF NOT %ERRORLEVEL%==0 (GOTO install) ELSE (GOTO readpath) :install echo install>>some.txt msiexec /i "c:\temp\install\bws\mysql.msi" INSTALLDIR="%PROGRAMFILES%\MySQLServer" /qb IF NOT EXIST "C:\Windows\SysWOW64" (SET PROGPATH=%PROGRAMFILES%) ELSE (SET PROGPATH="%PROGRAMFILES(x86)%") SET PROGPATH=###%PROGPATH%### SET PROGPATH=%PROGPATH:"###=% SET PROGPATH=%PROGPATH:###"=% SET PROGPATH=%PROGPATH:###=% Goto configure :readpath echo ReadPath>>some.txt for /f "skip=2 tokens=3" %A in ('reg query "HKLM\Software\MySQL AB\MySQL Server 5.1" /v "Location"') do set PROGPATH=%A echo %PROGPATH%>>some.txt Goto configure :configure echo Config>>some.txt c: cd "%PROGPATH%\MySQLServer\bin" MySQLInstanceConfig.exe -i -q "-l%PROGPATH%\MySQLServer\log\install_log.txt" "-nMySQLServer" "-p%PROGPATH%\MySQLServer" "-t%PROGPATH%\MySQLServer\my-template.ini" "-c%PROGPATH%\MySQLServer\bws.ini" ServerType=DEVELOPMENT DatabaseType=MIXED ConnectionUsage=DSS Port=3306 ServiceName=BWSDatenbank RootPassword=werner mysql -u root SET PASSWORD FOR 'root'@'localhost' = PASSWORD('werner');
Irgendwas stimmt an meinen GOTO's oder in der Abfrage der Registry im Schritt readPath noch nicht. In der Datei some.txt landet leider nur die Ausgabe "readpath" und nicht mehr. Allerdings seh ich den Fehler nicht, da die Abfrage als Einzeiler in der cmd funktioniert.
Weiß jemand wo der Fehler liegt?
Gruß Erik
-
21.01.10 15:45 #2
- Registriert seit
- Jun 2005
- Beiträge
- 7.970
Hi.
In Batch Dateien muss man die Schleifenvariablen mit doppelten Prozentzeichen schreiben:
GrußCode :1
for /f "skip=2 tokens=3" %%A in ('reg query "HKLM\Software\MySQL AB\MySQL Server 5.1" /v "Location"') do set PROGPATH=%%AIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hallo,
super, danke dir.
GrußGeändert von MySelV (25.01.10 um 07:58 Uhr)
-
Hallo,
ich muss noch mal bisschen in die Runde fragen. Wir wollen via eclipseRCP ein Programm installieren, welches eine MySQL DB braucht. Folgendes habe ich bereits:
- MySQL Non-Install
- Batch für Installation, diese enthält
- Installation der MySQL als Windows Service mit Konfigurationsdatei
Allerdings würde ich gerne noch ein paar Fehlerfälle abfangen:
1) Ein Dienst mit gleichem Namen ist schon vorhanden
Probiert habe ich das über "sc query DIENSTNAME", allerdings kann ich danach den ERRORLEVEL nicht abfragen (der ist auch 0 wenn der Service nicht existiert)
Alternativ könnte ich es hier auch über die Registrierung via der Einträge im HKLM/System/CurrentControlSet/Services probieren und schauen, ob dort ein Eintrag zu dem Service existiert
2) Löschen des alten Dienstes
Der Aufruf dazu wäre "mysqld --remove DIENSTNAME" allerdings stellt sich mir die Frage, ob ich den Dienst mit einer "anderen" mysqld löschen kann. Also, wenn der Dienst von d:\foo\pfad\mysql\bin\mysqld hinzugefügt wurde, ob ich ihn dann von c:\temp\andererpfad\mysql\bin\mysqld löschen kann?
--- [Gelöst] Man kann Services sinnvollerweise ja auch über sc delete SERVICENAME löschen
---
3) Anderer Service mit gleichem Port
Ist ein Aufruf (hier vielleicht auch über sc query) möglich, mit dem ich herausbekomme, ob ein anderer Service bereits meinen Port belegt?
Viele Grüße
ErikGeändert von MySelV (10.02.10 um 08:19 Uhr)
Ähnliche Themen
-
MySql-Skript mit Batch-Datei ausführen
Von tecla im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 15.01.10, 13:53 -
Sehr großer MySQL-Batch
Von HerHde im Forum Linux & UnixAntworten: 4Letzter Beitrag: 27.12.08, 05:08 -
[Batch] Per Batch Textzeile auslesen und Verbindung testen?
Von overreaction im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 15.03.08, 20:18 -
[mySQL, MS SQL] per batch stoppen
Von C-H im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 17.01.05, 16:57 -
MySql via Batch (source test.txt)
Von heynem im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 15.06.04, 16:38





Zitieren
Login




