revo: MYSQL Client

Hallo,

für ein Projekt muss ich einen Client schreiben, der von jedem Computer aus auf die Mysql-Datenbank eines Servers zugreifen kann.

In der Shell sieht der Fehler (und meine Eingabe so aus)

shell> mysql --host=forum-vitalis.com --user=* --password=*
ERROR 1130 (00000): Host 'p5484EC8C.dip.t-dialin.net' is not allowed to connect to this MySQL server

Wie kann ich erreichen, dass ich mich verbinden darf?

Mfg

  1. Hi!

    ERROR 1130 (00000): Host 'p5484EC8C.dip.t-dialin.net' is not allowed to connect to this MySQL server

    Das sieht mir etwas merkwürdelig aus und ich habe da ein paar Fragen:

    Ist der MySQL-Server bei einem Provider gehostet?

    Versuchst Du via Internet einen clientseitigen Zugriff darauf?

    Hast Du Zugriff auf die serverseitige Konfiguration?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Ist der MySQL-Server bei einem Provider gehostet?

      Ja.

      Versuchst Du via Internet einen clientseitigen Zugriff darauf?

      Ja.

      Hast Du Zugriff auf die serverseitige Konfiguration?

      Bedingt.
      Ich kann mit serverseitigem PHP und PHPmyAdmin auf die Datenbank zugreifen.

      off:PP

      gleichfalls ;)

      1. Hi!

        Hast Du Zugriff auf die serverseitige Konfiguration?
        Bedingt.
        Ich kann mit serverseitigem PHP und PHPmyAdmin auf die Datenbank zugreifen.

        Das ist keine Konfiguration.

        Dein Provider erlaubt - aus gutem Grunde - eine Nutzung des Services außerhalb seines Netzes nicht.

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. shell> mysql --host=forum-vitalis.com --user=* --password=*
    ERROR 1130 (00000): Host 'p5484EC8C.dip.t-dialin.net' is not allowed to connect to this MySQL server

    Wie kann ich erreichen, dass ich mich verbinden darf?

    Es ist üblich, dass Benutzer einer Datenbank die für den Gebrauch mit einem Webspace gedacht ist, nur von diesem Webspace aus (also normal einer lokalen IP bzw. oft localhost, da es ein und der selbe Server ist) auf die Datenbank zugriff haben. Dein Client der also von Extern versucht auf die Datenbank zuzugreifen hat dazu kein Recht.
    Dieses Recht muss dir der Admin geben, dazu ist eine Veränderung des "Host" Eintrags in der MySQL-Benutzertabelle notwendig.

    Gruß,
    Andreas

    1. Hi!

      oft localhost, da es ein und der selbe Server ist

      Oder ein dedizierter DB-Server innerhalb des internen Netztes.

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  3. Salvete,

    ich stand auch mal vor dem Problem (wie die anderen hier bereits schrieben), von einem Client aus auf eine gehostete DB zugreifen zu muessen. Da die Rechte dafuer natuerlich nicht gegeben sind, habe ich das ganze mit Webservices geloest. Die frage ist halt, wieviele unterschiedliche Aktionen/Zugriffe du ausfuehren musst. Dementsprechend faellt der Aufwand mehr oder weniger aus.

    MfG,
    Sympatisant

    --
    "Non dura iubeantur, non prohibeantur inpura."
  4. Moin!

    In der Shell sieht der Fehler (und meine Eingabe so aus)

    shell> mysql --host=forum-vitalis.com --user=* --password=*
    ERROR 1130 (00000): Host 'p5484EC8C.dip.t-dialin.net' is not allowed to connect to this MySQL server

    Ein User-Account bei MySQL enthält nicht nur Username und Passwort, sondern auch noch die Information, für welche verbindende IP bzw. welchen verbindenden Domainnamen (einer IP) diese Angaben erlaubt sind. Selbst wenn Username und Passwort also stimmen, reicht das nicht aus, wenn der Verbindungsversuch von einem Rechner erfolgt, für den dieser Account nicht freigeschaltet ist.

    Wie kann ich erreichen, dass ich mich verbinden darf?

    Die Antwort ist so simpel wie schwierig umsetzbar: Indem du einen zweiten Benutzeraccount anlegst, der für deine verbindende IP den Zugriff erlaubt.

    Dummerweise kannst du das nicht einstellen, wenn du nur den Zugriff über den bestehenden Account hast (wäre ja auch noch schöner, wenn sich Accountinhaber beliebig mehr Rechte geben dürften). Wenn auch die Admin-Oberfläche deines Providers sowas nicht erlaubt, steht fest: Das geht nicht. Vermutlich nur im Ausnahmefall (kleiner Provider mit der Möglichkeit zu individueller Kundenbetreuung, kein Riese wie 1&1 oder Strato) wird man dir providerseits manuell weiterhelfen.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."