MySQL performance_schema ERROR

Hinweis: In dem Thema MySQL performance_schema ERROR gibt es 14 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Nachdem ich


    Code
    cat /var/log/messages


    durchlaufen lies fand ich da noch verschiedene Error Meldungen


    Hervorheben möchte ich nur


    Code
    [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it


    Alles andere steht in der angehängten Datei.


    MySQL läuft - aber wie kriege ich diese Fehlermeldungen bereinigt?

  • Ich hab in YAST nachgeschaut und sehe dass da bereits MySQL Version 5.5 drauf ist.
    Also, warum dass sich das System jetzt aufregt weiss ich nicht...


    Dann habe ich trotzdem versucht das update durchzuführen um diese Tabelle nachzuinstallieren


    Code
    sudo mysql_upgrade -u -p


    Hat aber nicht funktioniert.

    Für den Inhalt des Beitrages 84594 haftet ausdrücklich der jeweilige Autor: blueman

  • Ich hab in YAST nachgeschaut und sehe dass da bereits MySQL Version 5.5 drauf ist.
    Also, warum dass sich das System jetzt aufregt weiss ich nicht...


    War das nicht ein Upgrade einer openSUSE?


    Aus obigem Link:

    Für den Inhalt des Beitrages 84607 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Weil es eine Grundfunktion JEDES Datenbanksystems ist, dass es in den eigentlichen Datenbanken bestimmte Prozeduren und eigene Verwaltungsdaten speichert. Es gibt dort also AUCH IMMER Systemtabellen.
    Bei einer neuen Version können sich die Datenstrukturen ändern.
    Und deshalb muss man diese Systemtabellen bei manchem Update des Datenbankprogramms halt auch anpassen/neu machen /migrieren.


    Also bei relationalen Datenbanken.
    (Es gibt noch viele andere)

    Für den Inhalt des Beitrages 84613 haftet ausdrücklich der jeweilige Autor: LinuPia

  • LinuPia das ist mir schon klar dass es Systemtabellen -> Schablonen gibt.


    Mir gehts nur darum wie man den Fehler ausbügelt.


    Also mal von vorn:


    Auf der Konsole sicher als root anmelden und dann


    Code
    shell> mysqld --skip-grant-tables &
    shell> mysql_upgrade


    ausführen - das & nach --skip-grant-tables soll wahrscheinlich drin bleiben


    Dann MySQL in YAST über den Systemeditor stoppen und neu starten


    War's das dann schon - oder kommt noch eine Überraschung? ;)

    Für den Inhalt des Beitrages 84627 haftet ausdrücklich der jeweilige Autor: blueman

  • Hat nicht geklappt.


    MySQL ist enabled und gestartet -> YAST Dienste-Verwaltung


    Als root (su) ausgeführt:



    Melde ich mit in mysql direkt an mit


    Code
    mysql -u USER -p


    und gebe dann ein


    Code
    MariaDB [(none)]>  --skip-grant-tables  &


    passiert gar nichts.


    Was mache ich falsch........? ?(


    Vielleicht diese -- weglassen, oder auch das & - ich will da nicht rumpfuschen sonst geht da noch was kaputt...

    Für den Inhalt des Beitrages 84667 haftet ausdrücklich der jeweilige Autor: blueman

  • Es ist schlicht Standard, dass ein Befehl Optionen kennt.
    Schon immer und überall.


    Das findet in der Shell statt.
    befehl -s --short-option-long --long-option -- arg1 arg2
    Kurze Optionen haben einen Bindestrich. Sie bestehen aus einem Buchstaben.
    -asd sind demnach zusammengefasste drei Short-Options a, s, und d
    --long-options sind etwas moderner und haben als Kennzeichen zwei Bindestriche.
    a -- z zwei Bindestriche mit Leerzeichen drumrum beenden die Optionen, alles nachfolgende sind Argumente für den Befehl.
    Und das ist in jeder Shell so.
    Innerhalb von Befehlen manchmal auch.


    & modifiziert die Ausführung eines Befehls. Damit schickt man ihn in den Hintergrund.
    Die Shell wartet also nicht, bis dieser Befehl ausgeführt und beendet ist, sondern startet dafür eine Subshell im Hintergrund, wo er dann in Ruhe arbeitet.
    Die Shell kehrt sofort zurück und führt den nächsten Befehl aus.


    In deinem Fall wird also der MySQL Server gestartet und in den Hintergrund geschickt
    Dann -jetzt bei im Hintergrund laufenden Server- der Updatebefehl ausgeführt.


    An solchen Befehlen etwas wegzulassen macht den Befehl kaputt. Mehr nicht.


    Dein Problem bleibt gleich.
    Die Systemtabellen sind in der veralteten Version.
    Aber das ist dir ja klar.


    Und du willst GANZ SICHER NICHT das als root ausführen.
    Du willst INNERHALB des MySQL Servers root sein.
    Das sind ZWEI verschiedede Roots!!

    Für den Inhalt des Beitrages 84684 haftet ausdrücklich der jeweilige Autor: LinuPia

  • OK, ich habe den Befehl vergessen - kann ja mal vorkommen - dreimal Kotau und jetzt lass gut sein... :)


    Ja, also nicht als root.


    Ich hab mich nun in mysql als root angemeldet


    Code
    mysql -u root -p


    kam dann


    Code
    MariaDB [(none)]>


    dann


    Code
    MariaDB [(none)]> mysqld --skip-grant-tables &


    Es tut sich nichts...


    Wenn ich dann


    Code
    -> mysql_upgrade


    eingebe tut sich wieder nichts.


    Schreib mal wie Du hier vorgehen würdest - ich weiss da nicht mehr weiter - irgendwas passt da nicht...

    Für den Inhalt des Beitrages 84690 haftet ausdrücklich der jeweilige Autor: blueman