MySQL (MariaDB) Zugriff wie Unix_Socket

  • VB.NET
  • .NET 5–6

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von trix0.

    MySQL (MariaDB) Zugriff wie Unix_Socket

    Servus,

    ich versuche gerade auf meine Externe MySQL (MariaDB) zuzugreifen. Der MySQL-Server läuft auf Linux und wird mir vom Provider so bereitgestellt. Die Datenbank-Server-Eigenschaften:

    Server: Localhost via UNIX socket
    Server-Typ: MariaDB
    Server-Verbindung: SSL wird nicht verwendet
    Server-Version: 10.3.34-MariaDB-0ubuntu0.20.04.1 - Ubuntu 20.04
    Protokoll-Version: 10
    Benutzer: ********
    Server-Zeichensatz:
    UTF-8 Unicode (utf8mb4)


    nun, wenn ich versuche, auf den Server zuzugreifen, erhalte ich die fehlermeldung, das der Zugriff verweigert ist.
    Dim connStr As New MySqlConnectionStringBuilder With {
    .Server = "******,
    .Database = "******",
    .UserID = "******",
    .Password = "*******",
    .Port = 3306
    }


    Dann habe ich recharchiert und bin drauf gekommen, das ich die Protokollverbindung auf "Unix_Socket" umstellen muss:

    Dim connStr As New MySqlConnectionStringBuilder With {
    .Server = "******,
    .Database = "******",
    .UserID = "******",
    .Password = "*******",
    .Port = 3306,
    .ConnectionProtocol = MySqlConnectionProtocol.Unix
    }


    Wenn ich mich nun verbinden will, kommt die Fehlermeldung:
    InvalidOperationException: Unix sockets are not supported on Windows.


    Das heißt für mich, so wie ich es verstehe. Ich kann einmal nicht per TCP/IP auf den MySQL Server zugreifen, da der Server das Protokoll nicht akzeptiert und nicht Per Unix drauf zugreifen, da dies nicht unter Windows supportet wird.

    Wie schaff ich nun den Zugriff, oder verstehe ich die Fehlermeldungen falsch?
    Am besten gleich den mitgelieferten ​ConnectionStringBuilder nehmen.

    VB.NET-Quellcode

    1. ​Imports MySql.Data.MySqlClient


    VB.NET-Quellcode

    1. Public Shared Function CreateConnectionString(Server As String, Port As Integer, Database As String, UserID As String, Password As String, SslMode As MySqlSslMode) As String
    2. Return New MySqlConnectionStringBuilder With {
    3. .Server = Server,
    4. .Port = Convert.ToUInt32(Port),
    5. .Database = Database,
    6. .Pooling = False,
    7. .UserID = UserID,
    8. .Password = Password,
    9. .SslMode = SslMode,
    10. }.ConnectionString
    11. End Function
    @petaod Selbes ergebnis.
    @BlueLagoonX den benutze ich ja
    _______________EDIT_______________
    mir ist gerade aufgefallen, das in der MySQL Meldung eine andere Adresse übermittelt wird.
    Access denied for user 'user'@'p57b3e157.dip0.t-ipconnect.de' (using password: YES)"

    .
    Aber ich Benutze ein IP-Adresse, wie:85.214.131.100 z.B. Sollte dann nicht da dann nicht die IP adresse kommen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „trix0“ ()

    ist der user denn für externen Zugriff freigeschaltet? Host = % ? Sonst haste da keine Chance



    und Vorsicht. Den Root zu nutzen bzw. sogar für alle Hosts freizugeben ist gefährtlich. Mach ich nur in meiner Testumgebung!
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    Hey hab es gerade eben Gelöst. Undzwar gab es in der Firewall einen Punkt für den Port 3306, der auf Deny stand. den hatte ich nicht gefunden, da er unter einem komischen Namen (Rechtirgendwas) gespeichert hat. Hab es per Zufall eig. gefunden nur, da ich alle Einträge (es waren wirklich viele EInträge) nochmal nachgeschaut hatte.