mysql authentifizierung anmeldeinformationen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo

    Ich habe auf dem Raspberry PI2 einen Webserver und eine mysql Datenbank installiert.

    Das ganze läuft unter 192.168.178.100

    Mit http://192.168.178.100/phpmyadmin/ bekomme ich die Anmeldeseite von PHP admin.

    Soweit so gut.

    Ich kann mich einloggen und habe eine Datenbank : "Bernd" angelegt.

    Darin eine Tabelle "Adressen" mit entsprechenden Feldern

    Habe auch drei Datensätze erstellt zum probieren.

    Grund der Versuche ist:

    Ich möchte gerne Daten mit dem ESP8266 erfassen, diese in der Datenbank speichern und extern mit Excel darauf zugreifen und diese Daten weiterverarbeiten.

    Zur Zeit möchte ich nur mit Excel auf die gespeicherten Adressen zugreifen um einen Datenbank-Zugriff zu testen.

    Leider sind bisher alle Versuche gescheitert mit Excel oder VB , auf die Datenbank/Tabelle zuzugreifen.

    Was mache ich falsch, welche Anmelde-Daten verlangt der Server und die Datenbank?

    Leider suche ich schon seit zwei Tagen und wusste auch nicht genau, wo ich Fragen kann.

    Raspberry, Mysql, oder Excel-Foren

    Hier noch zwei Bilder meiner Fehlversuche.

    Wäre nett, wenn mir dabei jemand einen Tipp geben könnte.

    Gruß Bernd

    Saarländer, es kann nur einen geben.:angel:

  • Wie hast du den User "Bernd" angelegt? Etwa als "Bernd@localhost" (use mysql; select user,host from user;)?

    Um von einem anderen Rechner zugreifen zu können, muss der User auch entsprechend eingerichtet sein (bernd@192.168.1.123 oder bernd@%).

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Muss ich vielleicht den zweiten Benutzer Bernd "localhoct" löschen?

    Nicht nötig. Hast du auf der Windose oder einem anderen Rechner im LAN einen normalen mysql-Client, mit dem du den Zugriff mal testen kannst (um Excel auszuschliessen)?

    Hast du mysql-Logging aktiviert? Dann gucke mal in /var/log/mysql/mysql.log nach Hinweisen. Ansonsten, Logging aktivieren und dann.

    in my.cnf, Abschnitt [mysqld]:

    Code
    general_log_file        = /var/log/mysql/mysql.log
    general_log             = 1

    Wenn du nichts zu sagen hast, sag einfach nichts.

    2 Mal editiert, zuletzt von llutz (7. Januar 2019 um 11:09)

  • Damit Du von Windows Exel auf den mySQL Server zugreifen kannst, musst Du zuerst in Exel/Windows den mySQL Server samt User "Bernd" und dem zu verwendenden Datenbanktreiber "registrieren".

    Und dem User Bernd sollten in der Datenbank Bernd (und nicht in der Systemdatenbank) umfangreiche Rechte geGRANTet werden, sonst hast Du ständig irgendwelche Zugriffsfehler selbst innerhalb der Datenbank Bernd.

    MariaDB und mySQL ist bei der Eingabe, Ausgabe und Speicherung für alle gängigem Zeichensätze und - Kodierungen gerüstet. Ob die Voreistellungen für Deine UTF 8 -DE (?) Eingabe und die Windows Exel Ausgabe schon passen musst Du mit Eingabe von Sonderzeichen in die Datenfelder testen,

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Damit Du von Windows Exel auf den mySQL Server zugreifen kannst, musst Du zuerst in Exel/Windows den mySQL Server samt User "Bernd" und dem zu verwendenden Datenbanktreiber "registrieren".

    Das hört sich für eine einfache Verbindung zu einer Datenbank sehr kompliziert an und wäre auch der falsche Begriff. Unter Excel muß einfach nur unter Daten abrufen -> aus Datenbank -> aus MySqlDatenbank eine Verbindung eingerichtet werden. Das hat der TE schon vollkommen richtig gemacht. Jetzt geht es darum, dass der MySQL-Server keinen Zugriff zulässt. Verbunden ist der, wie die Meldungen anzeigen bereits!

  • Was ist ein normaler mysql client?

    Eine Clientanwendung (Kommandozeilentool) mit dem man eine Verbindung zu einem MySQL-Server herstellen kann. Die meisten Linux-Distributionen liefern sowas default mit. Du kannst alternativ unter Windows den Zugriff z.B. mit heidiSQL testen.

    Problem an phpmyadmin ist (u.a.), dass der Zugriff damit aus Sicht des MySQL-Servers von 'localhost' aus erfolgt (ich setze mal voraus, dass das auf dem gleichen Rechner wie der MySQL-Server installiert ist).

    Hier also zur Fehlereingrenzung nicht taugt.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (7. Januar 2019 um 17:13)

  • Es hat nichts mit deinem aktuellen Problem zu tun, aber die Rechtevergabe ist ... suboptimal.

    Deine User Bernd haben global alle Rechte inkl. GRANT, das tut man nicht!

    DB-Nutzer bekommen nur die Rechte, die sie wirklich für ihre Aufgabe brauchen und idR schon gar kein GRANT.

    Also in deinem Fall bekommt Bernd nur Rechte auf die DB Bernd.* und auch nicht ALL.

    Du hast dir quasi einen 2./3. Administrator geschaffen, mit dem Effekt, dass wenn deine Webanwendung z.B. Amok läuft, dieser User dein komplettes mysql zerlegen darf.

    Es gibt einen netten Artikel zum Thema, solltest du dir ggf. in einer ruhigen Minute mal durchlesen und beherzigen:

    http://ronaldbradford.com/blog/why-grant…bad-2010-08-06/

    Wenn du nichts zu sagen hast, sag einfach nichts.

  • Und nochmal: Hast Du die Einstellungen in der my.cnf auf dem Raspberry geprüft? Du hast bereits Verbindung zur Datenbank über Excel, sonst hättest du andere Fehlermeldungen. Du kannst auch so viele Nutzer anlegen wie du willst und von mir aus auch mit GRANT, aber es wird nicht klappen, wenn du die Sicherheitseinstellungen von Maria oder MySql nicht so änderst, so dass du von jeder IP zugreifen kannst!

    Die Tatsache, dass du mit einer Weboberfläche auf die Datenbank kommst, hat nichts mit dem Zugriff von einer anderen IP zu tun! phpmyadmin läuft auf dem Webserver des Raspberry Pi und greift wie hier schon angesprochen von localhost (127.0.0.1) auf die Datenbank zu!!!

  • Danke für eure Rückmeldungen.

    Zu mir: Habe sehr wenig Ahnung von den Hintergründen. Betreibe eine Vereins-Webseite über Joomla und habe Erfahrung mit Access und Excel.

    Programmiere unter VBA und will mich in Mysql, ESP8266 und den Raspberry einarbeiten.

    Projekt ist eine Überwachung des Wasserstands einer Zisterne.

    Linux gibt´s : habe schon mal was davon gehört. ;)

    Mit Shutdown now oder so kann ich es beenden, mit SUDO bekomme ich irgendwelche Rechte.

    Verzeiht mir, dass ich noch nicht mehr weiß, mir fehlen da die Hintergründe, was da eigentlich passiert.

    Zu Rechtevergabe: Es ist ja kein öffentlicher Server sondern nur was hier am Schreibtisch hinter der Fritzbox läuft.

    Und für Versuche dachte ich, sind sogar root-Rechte OK, da ich damit alles machen kann.

    Wenn es zerschossen ist, halt nochmal von vorne.

    Habe z.Zeit Mittagschicht, sitze jetzt wieder davor.

    Nein Rechte habe ich nicht überprüft, weiß nicht mal wie.

    Muss jeden einzelnen Schritt googlen.

    Vielleicht habe ich das falsch verstanden, aber in der Datenbank habe ich doch jetzt die Rechte so geändert, dass ich nicht nur von localhost darauf zugreifen kann? Siehe Bild3.

    Worüber ich zur Zeit grübele ist die Adresse.

    Der PI hat die Adresse 192.168.178.100, die Datenbank ist eine Mariadb, Server ist localhost3306 Datenbank ist Bernd.

    So weit so gut.

    Was benötige ich zur Verbindung mit der Datenbank und welche Schreibweise/Syntax?

    Beispiele: Server: 192.168.178.100 oder

    192.168.178.100:3306 oder

    192.168.178.100/3306 oder

    192.168.178.100\3306

    192.168.178.100\localhost3306

    Oder hindert mich einfach die Windows Firewall am conect

    Mit PHPAdmin bin ich ja bereits auf dem PI und erstelle nur eine Verbindung, direkt auf dem Server und PHP liefert mir das Ergebnis.

    Jetzt werde ich mal Verbindungsversuche mit Heidiqsl ausprobieren.

    Danke für eure Mühe.

    Saarländer, es kann nur einen geben.:angel:

  • Hallo,

    siehe Beitrag #6! Die Anpassungen machst Du hier: /etc/mysql/my.cnf Kann es zwar gerade nicht überprüfen, aber die Datei sollte dort existieren.

    Danke.

    Du hast einen Dummi vor Dir.

    Ich kann mich via Remote auf die Grafische Oberfläche de Pi einloggen.

    Dann? Einen Editor öffnen und die Textdatei my.cnf öffnen?

    Und nun? Bin grade überfordert ohne Linux Kenntnisse.

    Saarländer, es kann nur einen geben.:angel:

    • Offizieller Beitrag

    Ein Terminalfenster öffnen dann tippst Du

    Code
    sudo nano /etc/mysql/my.cnf

    ein und bestätigst. Dann passt Du die Sachen an und nach der Änderung speichern mit STRG+o (der Buchstabe) und dann Nano beenden mit STRG+x

    Danach den Datenbankserver neu starten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!