PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MYSQL restart via @exec Befehl


waldbauer.com
20.09.2002, 13:04
Frage an die Coding Profis:

Ich möchte über einen Fehlerhandler den Mysql Server nach einem Absturz neu starten. Warum klappt das nicht ??

function mysql_errorhandler($problem, $query = ""){
if ($problem == "MYSQL SERVER DOWN"){
@exec("net start mysql",$msqc1,$msqc2);
$startcheck="1";
}
}

Znaper
20.09.2002, 13:32
Um dies zu bewerkstelligen, müsstest Du den Apache als root laufen lassen und das ist die größte Sicherheitslücke, die man anstellen kann.


mfg Znaper

waldbauer.com
20.09.2002, 17:19
...warum ? Was ist wenn ich keinen Apache verwende ??

Znaper
20.09.2002, 17:57
Dann nenn doch mal Deine Serverdaten (OS, Webserver, PHP, MySQL, etc.).


mfg Znaper

waldbauer.com
20.09.2002, 18:19
??? gerne aber wozu ??? ein normaler HTTP Ping auf meine HP würde genügen um dir zu zeigen was läuft.

Mir ist wichtiger wie man den @exec Befehl durchführen kann.

Znaper
20.09.2002, 18:42
Original geschrieben von donauinsel
??? gerne aber wozu ??? ein normaler HTTP Ping auf meine HP würde genügen um dir zu zeigen was läuft.

Auf einer Seite möchtest Du Hilfe, dann komme auch bitte ein bisschen entgegen.

Hier (http://www.php.net/manual/de/ref.exec.php) findest Du Infos zur exec Funktion von php!


mfg Znaper

waldbauer.com
20.09.2002, 19:21
..sorry..ich versteh nicht ganz worauf du hinauswillst.

Was hat mein OS und mein Server mit dem @exec zu tun. Der Verweis auf die MySQL Seite hilft mit nicht weiter. Dort steht alles mögliche nur nicht ob es möglich ist oder nicht.

Ich denke mein Beispiel Code sollte schon genügen ?

Außerdem glaube ich, daß sich offenbar noch keiner über so ein Problem gedanken gemacht hat, denn ich konnte gar nichts darüber finden.

Harley
20.09.2002, 20:08
Wozu auch, denn einen MysqlServer kann man auch sicherer und anderst automatisch neu starten.

waldbauer.com
21.09.2002, 07:10
...und wie - wenn der Dienst abgestürzt ist *kopfschüttel* ??

Also nicht einfach nur MYSQL FLUSH command sondernd der ganze mysql dienst hat sich verabschiedet. Dann mußt du schon per remote arbeiten um den dienst wieder hochzufahren.

Ich will aber, daß der MYsql Server Dienst im Falle der richtigen Fehlermeldung nach einem Absturz wieder startet.

Das wäre per @exec command möglich denn dann kann das skript feststellen, daß der dienst steht und den server neu starten.

sneak
30.09.2002, 21:10
Original geschrieben von donauinsel
Frage an die Coding Profis:

Ich möchte über einen Fehlerhandler den Mysql Server nach einem Absturz neu starten. Warum klappt das nicht ??

function mysql_errorhandler($problem, $query = ""){
if ($problem == "MYSQL SERVER DOWN"){
@exec("net start mysql",$msqc1,$msqc2);
$startcheck="1";
}
}
Wenn Du das @ weg nimmst, siehst du vielleicht warum das nicht klappt.
Ansonsten könnte das durchforsten diverser Logfiles helfen dem Problem auf die Spur zu kommen.
Wenn Du Unix/Linux verwenden würdest könnte ich vielleicht helfen, aber ich habe beim besten Willen noch keinen Windows-Server administriert.

waldbauer.com
03.10.2002, 14:26
Hallo und danke vielmals, mittlerweile hab ich den Fehler im Skript gefunden (das mit dem @).

Inzwischen wollte ich mir die neueste Mysql 4.0.4 aufsetzen jedoch bekomme ich eine Fehlermeldung wenn ich WinMySQL starte.

..Fehler in KERNEL32.DLL...

Hatte schon jemand dieses Problem ?