mysql über php script starten (freeBSD)

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von termi, 02.03.2007.

  1. termi

    termi Grünschnabel

    Dabei seit:
    02.03.2007
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo zusammen,

    also ich möchte den mysql über ein PHP Script starten.
    der Befehl lautet ja
    Code:
    mysqld_safe &
    so aber wenn ich den über system("mysqld_safe &"); in php ausführe dann wartet php ja auf ne rückgabe... d.h. das Script geht nicht weiter :( aber danach kommen ja noch commands...

    also gibt es eine Variante den mysql so zu starten das der Prozess als Service gestartet wird... also das PHP nicht auf irgendwelche rückgabewerte wartet.

    Oder gibt es in PHP irgendeine Funktion die die Rückgabewerte einfach ignoriert?

    Wäre um jede Hilfe / Vorschläge dankbar,
    termi
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Siassei, 02.03.2007
    Siassei

    Siassei Jungspund

    Dabei seit:
    21.02.2007
    Beiträge:
    17
    Zustimmungen:
    0
    Servus,

    exec

    (PHP 4, PHP 5)

    exec — Führt ein externes Programm aus

    Beschreibung

    string exec ( string befehl [, array ausgabe [, int return_var]] )

    Fals dein Code hier hängen bleibt, dann liegt ein Fehler in deinem Commando. Ich persönlich würde ein Shell-Script erstellen, dass die DB hochfährt und auf Fehler reagiert und danach eine Meldung über return_var zurück gibt.

    MfG,
    Thomas
     
  4. termi

    termi Grünschnabel

    Dabei seit:
    02.03.2007
    Beiträge:
    8
    Zustimmungen:
    0
    ja egal was ich benutz...
    system oder exec

    bei jedem bleibt er an der stelle stehn, weil das script das ich aufrufe ein endlosscript ist... (also mysqld_safe)
    also die beiden funktionen warten darauf bis der prozess beendet is, aber er soll sich ja net beenden :\

    also kann man der funktion net irgendwie sagen das er einfach nur den befehl ausführen soll und sich danach sofort wieder dem php script widmen? :D

    termi.
     
  5. #4 Always-Godlike, 02.03.2007
    Always-Godlike

    Always-Godlike Das Freak

    Dabei seit:
    31.12.2006
    Beiträge:
    939
    Zustimmungen:
    0
    Ort:
    Saarland
    wieso lässten den mysql server ned dauerhaft laufen wie normalerweise?
     
  6. #5 termi, 02.03.2007
    Zuletzt bearbeitet: 02.03.2007
    termi

    termi Grünschnabel

    Dabei seit:
    02.03.2007
    Beiträge:
    8
    Zustimmungen:
    0
    ich hab ne datenbank replikation... und dafür will ich nen monitoring tool über php schreiben...
    also ich will dann praktisch über knopfdruck die replikation neu aufsetzen... also dann über script:
    - auf dem master datenbank dumpen
    - master server starten
    - datenbank dump per rsync rüberkopiern
    - sql stoppen
    - dump reinkopiern
    - sql starten
    - slave starten

    so das script läuft ja auch perfekt... bis auf den befehl zum starten des mysql, anschließen kommen halt noch genau 2 commands... zum slave starten und die config in der die master daten stehn.

    könnte das auch immer manuell per hand machen, allerdings sollen das dann später auch mal leute bedienen die keine ahnung davon haben.
     
  7. #6 Siassei, 02.03.2007
    Siassei

    Siassei Jungspund

    Dabei seit:
    21.02.2007
    Beiträge:
    17
    Zustimmungen:
    0
    Da sagst du es ja wie soll das PHP-Script weiterlaufen, wenn der Befehl in einer Endlosschleife ist :headup:
     
  8. #7 Always-Godlike, 02.03.2007
    Always-Godlike

    Always-Godlike Das Freak

    Dabei seit:
    31.12.2006
    Beiträge:
    939
    Zustimmungen:
    0
    Ort:
    Saarland
    vll helfen dir die befehle sleep() und exit() weiter, wenn du sie richtig anwendest
     
  9. #8 SkydiverBS, 03.03.2007
    SkydiverBS

    SkydiverBS Tripel-As

    Dabei seit:
    15.01.2005
    Beiträge:
    207
    Zustimmungen:
    0
    Ort:
    Freising
    Nö. Dir bleibt IMHO nur die Möglichkeit selbst einen Prozess zu starten und darin mysql_safe auszuführen. Siehe Kapitel Process Control Functions im PHP Manual.
    Fallst du vorher noch nicht mir fork und konsorten gearbeitet hast, solltest du vielleicht auch einen Blick in ein Buch zur Linux/Unix-Systemprogrammierung werfen, z.B. Linux-Unix-Programmierung auf pronix.de (besonders die Abschnitte 6.8, 6.9, 6.10).

    Gruß,
    Philip
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. termi

    termi Grünschnabel

    Dabei seit:
    02.03.2007
    Beiträge:
    8
    Zustimmungen:
    0
    also jetzt nochma zur lösung:
    ich habs jetzt nich sehr sauber gelöst, aber es funktioniert... ich hab nen externes shell script geschrieben das nichts anderes macht als den Befehl auszurufen und die Ausgaben in eine Datei umleitet (mysqld_safe > ausgabe.txt)
    allerdings bin ich damit auch nicht sehr zufrieden.
    Allerdings hört sich das Process Control von PHP sehr interessant an, das ist genau das was ich brauch.
    Werde es dann damit schreiben wenn ich das Monitoring - Tool aufsetze.

    Vielen Dank =)

    liebe Grüße,
    Alex
     
  12. #10 Siassei, 08.03.2007
    Siassei

    Siassei Jungspund

    Dabei seit:
    21.02.2007
    Beiträge:
    17
    Zustimmungen:
    0
    Gut gelösst 8) Fals du auf die Rückgegebene Werte noch reagieren möchtest (EventHandler) würde ich dir Empfehlen dies ebenfalls über Shell zu realisieren.
     
Thema:

mysql über php script starten (freeBSD)

Die Seite wird geladen...

mysql über php script starten (freeBSD) - Ähnliche Themen

  1. Oracle überarbeitet MySQL Workbench

    Oracle überarbeitet MySQL Workbench: Oracle hat mit der »MySQL Workbench 6.0« eine aktualisierte Variante des Werkzeugs veröffentlicht. Neu sind unter anderem eine überarbeitete...
  2. MySQL-Abfrage an Variable übergeben

    MySQL-Abfrage an Variable übergeben: Hallo, ich möchte die Ausgabe einer MySQL-Anfrage zeilenweise auswerten und die darin enthaltenen Werte in ein Template schreiben und gegen...
  3. Apache+SVN: Authentifizierung über MySQL mit Pfad basiertem Rechtesystem

    Apache+SVN: Authentifizierung über MySQL mit Pfad basiertem Rechtesystem: Hallo, ich habe hier einen Apache2 laufen, der über WebDAV einen SVN bereit stellt. Die Authentifizierung läuft über MySQL und den Apache. In den...
  4. update über zwei Datenbanken MySQL

    update über zwei Datenbanken MySQL: Hallo Zusammen, ich habe gerade das Problem das ich ein Feld einer Tabelle in einer Datenbank aus dem Felde der gleichen Tabelle in einer anderen...
  5. Sun übernimmt MySQL

    Sun übernimmt MySQL: Wie der US-amerikanische Hersteller Sun Microsystems bekannt gab, übernimmt das Unternehmen den Datenbankspezialisten MySQL AB. Weiterlesen...