Kanal im Frontend lässt sich nicht löschen

  • Hallo,

    ich versuche im Frontend einen Kanal zu löschen und erhalte:

    An exception occurred while executing 'DELETE FROM data WHERE channel_id = ?' with params [12]:

    SQLSTATE[42000]: Syntax error or access violation: 1142 DELETE command denied to user 'vz'@'localhost' for table 'data'

    Die Daten des Kanals habe ich selbst mit eigenem Python-Programm in die Datenbank geschrieben. Haben die Daten in der Datenbank auch einen "schreibenden user" hinterlegt? Mein schreibendes Programm hat den Besitzer root. War das der Fehler? Welchen user sollte es dann haben?

    Wie bekomme ich den Kanal jetzt gelöscht? Als user vz-admin per SQL?

    Gruss, wonk

    Gruss, wonk

  • Bei SQL werden Schreib- und Löschrechte getrennt behandelt.

    Mit dem Wissen im Hintergrund ist die Fehlermeldung ganz einfach zu interpretieren: vz@localhost hat keine Löschrechte.


    Hat dann auch nix mit root zu tun. Das eine ist nämlich ein User im System, das andere ein User in der Datenbank.


    Lösung:

    Code
    sudo mysql --user=root -praspberry
    mysql> grant select, update, insert, delete on volkszaehler.* to vz@localhost;
    mysql> flush privileges;
    mysql> exit



    mfg JAU

    No Shift - No Service

  • Hallo,

    danke, hat funktioniert. Allerdings war das nach meiner Erinnerung normalerweise für Kanäle die vzlogger beschreibt nicht erforderlich. Deshalb frage ich mich schon, ob mein Schreiben in die Datenbank aus Python irgendwie fehlerhaft ist, auch wenn es funktioniert.

    Gruss, wonk

    Gruss, wonk

  • Allerdings war das nach meiner Erinnerung normalerweise für Kanäle die vzlogger beschreibt nicht erforderlich.

    Da dein System älter ist als einen Monat läuft dein vzlogger ebenfalls als root.


    Ist aber auch völlig egal. Die Daten (kein Unterschied zwischen vzlogger und vzclient) gehen an die Middleware, diese schreibt (oder löscht) die Daten als vz@localhost in die Datenbank.



    mfg JAU

    No Shift - No Service