Anleitung Gastkonten durch SQL löschen

Thema wurde von Petra, 11. Februar 2012 erstellt.

  1. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.501
    Danke erhalten:
    11.275
    Danke vergeben:
    1.610
    Hat funktioniert,
    vielen Dank
     
  2. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Uff ! :)
     
  3. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    Habe es auch gerade nochmal in Ruhe getestet. Gleicher Fehler. Habe aber immer noch keine Idee woran es liegt, da der identische Code manuell ausgeführt funktioniert...?!
     
  4. jox

    jox G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    1.676
    Danke erhalten:
    119
    Danke vergeben:
    159
    #44 jox, 3. Juni 2012
    Zuletzt bearbeitet: 3. Juni 2012
    Bei mir funktioniert es nach wie vor nicht.
    Folgende Fehlermeldung erscheint:
    Was muß ich denn ändern, dass die Fehlrmeldung nicht mehr kommt?
     
  5. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Ihr wollt mich fertisch machen - gell? :)
    Ich habe eure SQL-Befehle mal mit meinem verglichen und empfehle: Macht mal die vielen Leerzeichen raus!

    Der Befehl endet mit .. account_type` = '1';
    Und was steht bei euch: ... account_type` = '1''
     
  6. jox

    jox G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    1.676
    Danke erhalten:
    119
    Danke vergeben:
    159
    Hi Manfred,
    das ist mir auch schon aufgefallen. Doch der Code ist richtig mit '1'; eingetragen.
    Schon komisch das ganze. Irgendwie wird innerhalb des MDS umgewandelt, oder?
     
  7. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    Das macht mich ja selber fertisch...
    Der Befehl an sich im Befehlsfeld ist korrekt und ohne überflüssige Leerzeichen. Kopiere ich diesen so wie er ist aus MSD ins Backend, dann funktioniert er.

    Erst wenn MSD (bei mir via Perl-Script) seine Arbeit verrichtet und am Ende den Befehl ausführen soll, dann kommt es zu dieser Fehlermeldung, und in dieser sieht es dann nach falscher Syntax aus. Sehr dubios.
     
  8. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    Führe ich ein manuelles Backup via PHP durch endet die letzte Befehls-Zeile im Log genau wie in der Fehlermeldung, also `account_type` = '1'' Angeblich "successfull", aber es wird auch nichts gelöscht.

    Also scheint MSD doch was umzuwandeln. Zusätzliche Klammern haben im ersten Versuch keinen Erfolg gebracht. Werde weiter testen...
     
  9. jox

    jox G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    1.676
    Danke erhalten:
    119
    Danke vergeben:
    159
    Wenn ich lediglich den betroffenen Bereich im Code weglasse, geht der Befehl ohne Fehlermeldung durch und der Gast ist dann auch im Shop-Admin unter 'Kunden verschwunden.
    Also kann es nicht an dem Semikolon liegen, sondern irgendwo ab dem Fehlercode-Bereich muß auch ein Fehler im Code sein. Ich kann es mir nicht anders erklären.
     
  10. jox

    jox G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    1.676
    Danke erhalten:
    119
    Danke vergeben:
    159
    Lieber Manfred,
    Hier möchte Dich niemand fertig machen. - Ich schon gar nicht.
    Es geht um ein Problem, das es zu lösen gilt.
    So viele Leerzeichen können es bei mir gar nicht sein, da ich diese vor grauer Vorzeit eh schon beseitigt habe.
    Wenn es bei Dir funktioniert, würde mich Dein funktionierender Code doch schon sehr interessieren, damit man den mit meinem vergleichen könnte.
    Vielleicht fällt mir dann leichter ein Fehler in meinem Code auf.
    Was mich auch noch interessieren würde, ist, ob im Log von barbara auch diese Fehlermeldung erscheint. Wenn nicht, würde mich dieser Code auch interessieren.
     
  11. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    Der Befehl ist defintiv korrekt. Nehme ich in auf der Seite im MSD, wo er eingegeben wird und kopiere ihn in das obere Feld (statt "SHOW TABLE STATUS FROM...." und führe ihn von dort mit dem Button "SQL-Befehl ausführen" aus, dann werden die Gastkonten erfolgreich gelöscht.

    Es scheint also "nur" dann nicht zu gehen wenn der Befehl per Script ausgeführt wird. Irgendeinen Grund muss es geben warum es bei manchen geht und bei manchen nicht...
     
  12. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.501
    Danke erhalten:
    11.275
    Danke vergeben:
    1.610
    Hallo Jox

    in meinen msd-Logs steht der selbe Fehler.
     
  13. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Da gibt es noch was ... allerdings nur für ALL-INKL!
    Von denen kam dieser Eintrag in die htaccess im ROOT:
    Options Indexes FollowSymLinks Includes ExecCGI MultiViews
     
  14. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    Irgendwie scheint es der MSD und/oder der SQL-Server nicht zu checken, dass es 3 verschiedene Zeilen/Befehle sind, wenn sie in einem Rutsch per Perl-Cronscript ausgeführt werden sollen.

    Workaround:
    Anstatt einer kopierten MSD-Gastkonten-Löschkonfiguration verwende ich jetzt einfach 3 kopierte Konfigurationen. Und jede einzelne Konfiguration ruft der Reihe nach jeweils eine der 3 Zeilen auf (also jeweils von "DELETE FROM" bis zum ";" . Als extra SQL-Befehle anlegen und jeweils auswählen).
    Dazu dann 3 Cronjobs und schon klappt es mit dem nächtlichen automatischen "Gästekillen" ;)

    Ist zwar einmalig etwas Aufwand aber immer noch einfacher als ständig Gastkonten von Hand übers Backend löschen zu müssen!
     
  15. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.501
    Danke erhalten:
    11.275
    Danke vergeben:
    1.610
    Könnte man das nicht auch über ein Script lösen?
    Per cronjob das Script aufrufen und alle Befehle abarbeiten lassen?
     
  16. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Ich verstehe es immer weniger - wie soll man es denn sonst machen??
    Es werden per Cronjob die MSD-Scripte aufgerufen - oder wie macht ihr datt?
     
  17. jox

    jox G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    1.676
    Danke erhalten:
    119
    Danke vergeben:
    159
    Meinst Du jetzt per Cronjob beim Provider? - Nein, nur innerhalb MSD.
     
  18. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    Also ich meine und mache es so, dass ich MSD regelmäßig per Cronjob ausführen lasse. Meitens "normal" und nachts eine (bzw. jetzt eben 3) extra Konfiguration(en) mit zusätzlichem Löschen der Gastkonten.

    MSD ist somit eine bequeme Möglichkeit nicht nur zu sichern sondern eben zusätzlich auch SQL-Befehle abzusetzen.

    Aber das ginge ja auch anders, unabhängig von MSD. Das meinte Barbara vermutlich. Also eine extra Script-Datei, die nur für das Löschen der Gastkonten zuständig ist und ebenfalls per Cronjob aufgerufen wird.
     
  19. jox

    jox G-WARD 2012

    Registriert seit:
    26. April 2011
    Beiträge:
    1.676
    Danke erhalten:
    119
    Danke vergeben:
    159
    Aber wenn im MSD 3 verschiedene Codes einträgst, dann mußt Du doch für jeden einen anderen Namen geben.
    Und unter 'Command after Dump' kannst Du ja dann nur einen Namen auswählen.
    Wie soll das gehen?
     
  20. survival74

    survival74 Erfahrener Benutzer

    Registriert seit:
    26. April 2011
    Beiträge:
    245
    Danke erhalten:
    36
    Danke vergeben:
    69
    - 3 verschiedene SQL- Codes mit 3 verschiedenen Namen anlegen
    - Ausgangs-Konfiguration öffnen und dann "Konfigurationsdateien" anklicken
    - bei den nachfolgenden drei Schritten wird die jeweils vorher geöffnete Konfiguration mit allen Einstellungen inhaltlich komplett kopiert!
    - Eine neue Konfigurationsdatei anlegen: gastkillera, speichern
    - Eine neue Konfigurationsdatei anlegen: gastkillerb, speichern
    - Eine neue Konfigurationsdatei anlegen: gastkillerc, speichern
    - gastkillera bekommt sql-befehl-zeile1 zugeordnet
    - gastkillerb bekommt sql-befehl-zeile2 zugeordnet
    - gastkillerc bekommt sql-befehl-zeile3 zugeordnet
    - jetzt sind es 3 verschiedene konfiguratioen mit 3 verschiedenen befehlen
    - nun noch pro konfiguration ein extra cronjob und fertig!

    Ist nicht wirklich elegant, daher nannte ich es "Workaround". Aber funktioniert ;)