MySQL Externer Zugriff konfigurieren / Authorisierung schlägt fehlt

  • Vorweg: Im Einsatz ist 8-0.469 (MySQL 8.0.43).

    Ich bekomme beim Fehler mich von remote auf den MySQL Server in PD-Admin zu verbinden folgenden Fehler:

    user@host:~$ mysqladmin -h PDADMIN_SERVER -u some_db_user -p ping
    Enter password:
    mysqladmin: connect to server at 'PDADMIN_SERVER' failed
    error: 'Received error packet before completion of TLS handshake. The authenticity of the following error cannot be verified: 1130 - Host 'XYZ.your-server.de' is not allowed to connect to this MySQL server'
    Check that mariadbd is running and that the socket: '/run/mysqld/mysqld.sock' exists!


    => D.h. ich muss den Remote Client "XYZ.your-server.de" offensichtlich noch für den DB User in PDAdmin freischalten?

    Ich dachte, dass dies eigentlich mit der Option "Externer Zugriff erlauben" im Konto abgedeckt ist?

    => Welches SQL Statement muss ich dazu denn noch manuell ausführen um diesen Remote Client auf meine MySQL Datenbank in PDAdmin

    zugreifen zu lassen?


    Versucht hätte ich als root bereits folgendes:

    GRANT ALL PRIVILEGES ON some_db.* TO "some_db_user"@"XYZ.your-server.de";

    Das schlägt aber fehl mit

    MySQL said: Documentation

    #1410 - You are not allowed to create a user with GRANT


    Bin für Hinweise dankbar!


    Hier die Konfiguration in PD-Admin dazu:


    Nur als Hinweis - Diese Schritte hier für die Freischaltung habe ich bereits durchlaufen:

    miko93
    27. Dezember 2004 um 15:02
  • Die Option "externer Zugriff" in pd-admin erlaubt lediglich dem DB Nutzer ein Login von extern. Sprich in der User Tabelle wird bei "Host" ein Wildcard anstatt "localhost" eingetragen.

    Entweder ist bei Ihnen in der my.cnf noch "skip-networking" konfiguriert:

    MySQL :: MySQL 8.0 Reference Manual :: 7.1.8 Server System Variables

    Oder der Dienst ist mit "bind-address" an eine lokale Adresse gebunden:

    MySQL :: MySQL 8.0 Reference Manual :: 7.1.8 Server System Variables

  • Danke für die beiden Hinweise.

    Beides ist bereits so gesetzt (skip-networking ist auskommentiert und bind-address habe ich generell in der my.cnf nicht).

    Ich werde in der user Tabelle schauen ob dort der Asterix gesetzt ist -> sollte das die mysql user Tabelle sein nehme ich an und nicht zb die vadmin, korrekt?

  • Zu Testzwecken habe ich geschaut ob sich mit dem Setzen der Option für den "Externen Datenbank Zugriff" in der Tabelle mysql.user etwas ändert -> Tut es nicht. Auch habe ich explizit bind_address auf "*" gesetzt und MySQL neu gestartet.

    Bei dem besagten DB Benutzer für den ich den Remote Access freischalten möchte steht trotz setzen dieser Option bei Host immer noch "localhost" und es wird auch kein weiterer Eintrag für den Asterix erstellt.

    Was soll/kann ich denn noch tun um für diesen Benutzer den Host auf "*" zu setzen - was diese Option offensichtlich ja machen sollte?

    Was ich auch schon probiert habe ist den "Host" in der mysql.user für diesen Benutzer manuell auf "*" zu setzen. Jedoch ändert sich dieser jedes Mal bei einem FLUSH PRIVILEGES; wieder auf den localhost zurück.

    Bzw. führt ein manueller Aufruf als root von

    GRANT USAGE ON some_db_user_db.* TO `some_db_user`@`*`

    zum Fehler

     #1410 - You are not allowed to create a user with GRANT

    Bin etwas ratlos da diese Option offensichtlich nicht so funktioniert wie es sein sollte...

    3 Mal editiert, zuletzt von mkpd15 (7. September 2025 um 20:40)

  • Die Option im Angebot schaltet nur die Möglichkeit im Endkundenbereich frei. Im Endkundenbereich kann man dann unter "Datenbanken" für den jeweiligen Benutzer den externen Zugriff freischalten.

  • Funktioniert - vielen Dank!

    Tipp: Es wäre gut diese Funktion etwas besser allgemein zu dokumentieren, zB in den FAQs (oder ich war ganz einfach unfähig die Doku zu finden).

    Denke einmal, dass ich nicht der einzige bin, der das verwendet.

  • mkpd15 7. September 2025 um 23:16

    Hat das Label [erledigt] hinzugefügt.