Announcement

Collapse
No announcement yet.

Underscore im Datenbanknamen verhält sich wie Wildcard

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Underscore im Datenbanknamen verhält sich wie Wildcard

    Schön guten Abend liebe entwicklerforum Community,

    ich weis nicht, ob das Problem in einer beliebigen 5er Version nach dem Bug #17647: http://bugs.mysql.com/bug.php?id=17647
    bereits erneut festgestellt wurde oder ob es in aktuellen Version eine Konfigurationseinstellung ist, aber seit ich meinen neue Dedicated habe, hänge ich an selbigen Problem. Nach Stunden langem googlen bin ich bis auf den genannten Link nur auf viele Probleme mit Umlauten gestoßen.
    Sonst war leider nichts Brauchbares dabei und daher hoffe ich, jemand hat die passende Antwort.

    Ein kurze Zusammenfassung aus dem Ticket;
    Ein angelegter Benutzer (z.B. foo) hat NUR volle Rechte auf die Datenbanken foo\_%
    Globale Rechte hat er KEINE.
    Wenn sich besagter Benutzer nun übers CLI, phpMyAdmin oder Ähnlichem im MySQL einloggt, dann kann dieser trotzdem Datenbanken anlegen, wenn er den Underscore (z.B statt foo_bar, foo2bar) durch ein X beliebiges anderes Zeichen ersetzt.
    Das gleiche kann er ebenfalls, wenn ich den Benutzer foo nur auf EINE Datenbank mit einem Underscore (z.B. test_db) berechtige.
    Testweise habe ich mal die CREATE erlaubnis im Structure Part auch in den für die datenbankbezogenen Rechte rausgenommen, wodurch er dann zwar keine Datenbanken mehr anlegen kann, aber ebenfalls auch keine Tabellen.

    Um den Fehler einzugrenzen, habe ich die Versionen auf meinem alten Dedicated geprüft.

    Alter Dedicated [Debian Lenny]:
    mysql-server 5.0.51a-24+lenny1
    mysql-client 5.1.41

    Neuer Dedicated [Debian Lenny] (vor update):
    mysql-server 5.0.51a-24+lenny3
    mysql-client 5.0.51a

    Da also der Client auf dem Anderen aktueller war, entschied ich mich für ein Update vom Client und Server auf die nächste Version in den Debian testing-repositorys:

    Neuer Dedicated (nach update):
    mysql-server 5.1.45-1
    mysql-client 5.1.45-1

    Anschließend habe ich zur Sicherheit noch ein mysql_upgrade durchlaufen lassen.
    Trotz der Bemühung ist der selbe Fehler immer noch vorhanden und nun habe ich keine Idee mehr, wo ich noch ansetzen könnte.
    Vielleicht hatte ja Jemand bereits ein ähnliches Problem und kann mir da einen Hinweis geben. Schön wäre ja, wenn ich evtl. einfach einen Eintrag in der Conifg übersehen habe

    Ich freue mich über jede Antwort,

    Mit besten Grüßen,
    raidmin

    Falls erforderlich hier noch die my.cnf von beiden Servern
    ALTER: http://pastie.org/private/livitfnje8dwchlhfjfea
    NEUER: http://pastie.org/private/kb9jma4evc4d0cw793xqw

  • #2
    Alles zurück.
    Nachdem ich länger überlegt hatte, wie ich diesen Post nenne, kam ich nach dem absenden auf die Idee, den Titel mal in englisch durch google zu schubsen.
    Glücklicherweise brachte das die lang gesuchte Lösung. (Da hätte ich auch eher drauf kommen können)

    http://www.mail-archive.com/[email protected]
    http://bugs.mysql.com/bug.php?id=3933

    Mein Fehler lag im GRANT der Benutzerbezogenen Rechten.
    Da auf meinem neuen Server ISPConfig 3 als Userinterface installiert ist, werden darüber die User in MySQL angelegt, welche dabei aber den falschen GRANT ohne backslash vor dem underscore erhalten. Es stand also foo_bar statt foo\_bar drin, was zu dem Wildcard führte. Nachdem manuellen anpassen wurden die Rechte auch wie gewünscht übernommen. Der Fehler saß also, wie so oft, vorm Bildschirm.
    Ich werde das jetzt nur noch in ISPConfig so anpassen, dass ers gleich richtig macht und dann müsste es laufen.

    @Mods
    Sorry für den von mir etwas "überstürzten" Post.
    Das nächste mal suche ich mindestens eine Stunde länger ;D

    Mit besten Grüßen
    raidmin

    Comment

    Working...
    X