Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. SQL-History-Adapter konfigurieren: Fehler beiZugriff auf MySQL-Datenbank

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    SQL-History-Adapter konfigurieren: Fehler beiZugriff auf MySQL-Datenbank

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      piForscher last edited by

      Hallo,

      ich möchte gerne den SQL-Adapter verwenden (iobroker und MySQL auf Raspi2).

      MySQL habe ich installiert und gemäß Anleitung (https://github.com/ioBroker/ioBroker.sql) eingerichtet.

      Trotzdem bekomme ich diese Fehlermeldung im iobroker-Log:
      > sql-0 2016-02-28 20:58:25 error Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'iobroker'@'localhost' (using password: YES)

      Wo liegt mein Fehler ??
      3822_bildschirmfoto_2019-02-06_um_20.44.22.png
      3822_bildschirmfoto_2019-02-06_um_20.44.29.png
      3822_bildschirmfoto_2019-02-06_um_20.46.56.png

      1 Reply Last reply Reply Quote 0
      • eric2905
        eric2905 last edited by

        Schau Dir mal bitte die einfachen Hochkommatas an - die sind unterschiedlich.

        Setze die mal alle gleich - kein Akzent-Zeichen verwenden, sondern das einfache Hochkomma!

        Gruß,

        Eric

        1 Reply Last reply Reply Quote 0
        • H
          Heinzelmaennchen last edited by

          Hallo Eric,

          Ich vermute mal du hast während der Installation des MySQL Servers einen Admin Account eingerichtet, der einen anderen Namen hat als "iobroker". Also bspw. "Root" oder "Admin" oder so ähnlich. Um nun dem Benutzer "iobroker" Zugriff zu dem Server zu geben, musst du über die adminoberfläche des MySQL dem Benutzer "iobroker" vom Client "localhost" ebenfalls Zugriffsrechte geben. Sonst kommt es zu der o.a. Meldung. Am einfachsten geht das über die weboberfläche "phpmyadmin"in der Benutzerverwaltung des Servers.

          1 Reply Last reply Reply Quote 0
          • eric2905
            eric2905 last edited by

            Hallo Heinzelmännchen,

            ich habe keine Probleme - bei mir läuft alles.

            Nur in der Doku, die piForscher (er hat das Problem) angibt / verwendet hat, sind "Schreibfehler" drin:

            Einmal wird Hochkomma und einmal wird ein Akzent verwendet - und das klappt nicht.

            Gruß,

            Eric

            1 Reply Last reply Reply Quote 0
            • P
              piForscher last edited by

              Hallo Eric,

              genau das war's - Anleitung ist nicht ganz richtig - Vielen Dank!

              Läuft!

              1 Reply Last reply Reply Quote 0
              • S
                Solear last edited by

                Hallo,

                ich habe auch ein Problem mit dem Zugriff.

                Ich habe eine MySQL Datenbank frei auf dem Hoster All-Inkl.

                Dort habe ich eine Datenbank angelegt.

                Mit dem Tool HeidiSQL kann ich auch problemlos darauf zugreifen und Tabellen anlegen/ändern etc.

                Mit dem iobroker Adapter für die Historie, MySQL, kommen jedoch Fehlermeldungen wie im Bild.

                Warum habe ich keine Zugriffsrechte? Der connect Test in den iobroker Adaptereinstellungen sagt "OK".

                Über HeidiSQL kann ich doch auch problemlos zugreifen mit denselben Benutzerdaten.

                Auf der Weboberfläche mit von all-inkl. mit mysqladmin kann ich keine eigenen Unterbenutzer (zB iobroker) anlegen. Liegt das daran? Aber wie gesagt: über HeidiSQL kann ich alles machen…
                1145_iodb.jpg
                1145_iodb1.jpg

                1 Reply Last reply Reply Quote 0
                • derAuge
                  derAuge last edited by

                  ich sehe du hast den Port "leer"

                  standard ist da dei "0" drin

                  liegt es vielleicht da dran?

                  Gruß

                  Jürgen

                  1 Reply Last reply Reply Quote 0
                  • S
                    Solear last edited by

                    Mit 0 funktioniert es auch nicht.

                    Er fügt bei leer oder 0 automatisch den Standardport 3306 an, das sieht man wenn man absichtlich einen falschen Benutzernamen/Passwort einfügt, dann steht in der Fehlermeldung der benutzte Server samt Port.

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @Solear:

                      Mit 0 funktioniert es auch nicht.

                      Er fügt bei leer oder 0 automatisch den Standardport 3306 an, das sieht man wenn man absichtlich einen falschen Benutzernamen/Passwort einfügt, dann steht in der Fehlermeldung der benutzte Server samt Port. `
                      Iobroker erwartet eine DB mit Namen 'iobroker' da. Du hast die Tabelle noch nicht vermutlich.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Solear last edited by

                        Habe die Tabelle mal manuell angelegt. Es bleibt dasselbe Problem. Scheint mit Rechten zu tun zu haben.

                        Wenn ich dann in den Adapter-MySQL-Einstellungen auf "Alle Daten in DB löschen" drücke", erscheint der Fehler

                        Error: ER_TABLEACCESS_DENIED_ERROR: DROP command denied to user 'd0xxxxxx'@'79.xxx.xx.69' for table 'ts_number'

                        Wie gesagt, ist derselbe Benutzer wie wenn ich mit dem Programm HeidiSQL von außen auf die Domain-Datenbank zugreife, und dort klappt alles.

                        Dachte auch, dass es wie beim Script ein Problem mit meiner Pi-Installation ist, aber unter der Windows iobroker - Instanz dasselbe.

                        edit:

                        Der Databasename ist gleich meinem Benutzernamen. Den kann ich nicht ändern. Nur Tabellen. iobroker erwartet offenbar auch eine Database mit dem Namen 'iobroker'. Dann kann das nicht klappen, weil er die Database iobroker erzeugen will (die ist aber vorgegeben).

                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          @Solear:

                          Habe die Tabelle mal manuell angelegt. Es bleibt dasselbe Problem. Scheint mit Rechten zu tun zu haben.

                          Wenn ich dann in den Adapter-MySQL-Einstellungen auf "Alle Daten in DB löschen" drücke", erscheint der Fehler

                          Error: ER_TABLEACCESS_DENIED_ERROR: DROP command denied to user 'd0xxxxxx'@'79.xxx.xx.69' for table 'ts_number'

                          Wie gesagt, ist derselbe Benutzer wie wenn ich mit dem Programm HeidiSQL von außen auf die Domain-Datenbank zugreife, und dort klappt alles.

                          Dachte auch, dass es wie beim Script ein Problem mit meiner Pi-Installation ist, aber unter der Windows iobroker - Instanz dasselbe.

                          edit:

                          Der Databasename ist gleich meinem Benutzernamen. Den kann ich nicht ändern. Nur Tabellen. iobroker erwartet offenbar auch eine Database mit dem Namen 'iobroker'. Dann kann das nicht klappen, weil er die Database iobroker erzeugen will (die ist aber vorgegeben). `
                          Das will ich auch einstellbar machen. Oder pull request ist willkommen.

                          1 Reply Last reply Reply Quote 0
                          • S
                            Solear last edited by

                            Workaround für alle mit einem unveränderbaren Datenbanknamen:

                            die Datei

                            …\iobroker\node_modules\iobroker.sql\lib\mysql.js

                            öffnen und dort jedes "iobroker" mit dem Namen der unveränderbaren Datenbank ersetzen, zB im Falle vom Webhoster all-inkl. mit "d0xxxxxx".

                            Es reicht zumindest, um die Historie zu aktivieren und Daten reinschreiben und auslesen zu lassen.

                            Ich werde mal etwas basteln ob ich so einen pull request hinbekommen, aber ich denke eher nicht.

                            1 Reply Last reply Reply Quote 0
                            • R
                              RS_Tobi last edited by

                              Hi,

                              Das oben beschriebene Problem mit dem Hochkommatas habe ich bemerkt und umgangen.

                              Wer oder wie könnte man die readme datei hierzu anpassen?

                              (für einen aussenstehenden der nicht täglich mit DB's hantiert ist das ein gemeiner FEHLER.

                              CREATE USER 'iobroker‘@’%’ IDENTIFIED BY 'iobroker';
                              

                              ist es richtig, das er eigentlich

                              CREATE USER 'iobroker'@'%' IDENTIFIED BY 'iobroker';
                              

                              heißen müsste?

                              Ebenwso wollte ich fragen ob es sich bei der

                              IDENTIFIED BY 'iobroker';
                              

                              wohl um das PASSWORT handelt, dass man in den ADAPTER einzugeben hat?

                              Das ist für ungeübte/aussenstehende auch nicht einfach zu erraten.

                              Ich bin gestern Abend durch Zufall darüber gestolpert.

                              @Solear:

                              Workaround für alle mit einem unveränderbaren Datenbanknamen `

                              Ist der Workaround gedacht, wenn man einen Datenbanknamen hat, welche man nicht iobroker "taufen" kann, da sonst

                              die ganze software dahinter (z.B. PHP) zersprengt wird?

                              grüße Danke

                              Tobi

                              EDIT: Ich bin auf den Fehler Hochkommata /Akzent-Zeichen Fehler hereingefallen und konnte danach

                              keine User mit iobroker mehr anlegen. habe mit

                              mysql> DROP USER 'iobroker';
                              

                              den User gelöscht und dann funktionierte das Anlegen des neuen Users problemlos.

                              1 Reply Last reply Reply Quote 0
                              • nieIP
                                nieIP last edited by

                                Hallo

                                ich habe in der mySQL Administration die 3 Befehle aus der Anleitung ausgeführt (mit richtigen ' ) und es wurde in der datenbank ein neuer User angelegt.

                                Ich kann mich mit diesem User aber nicht anmelden. Er hat ein Passwort das offenbar nicht "iobroker" lautet.

                                Wie lautet das default PW? Darf ich das ändern?

                                Muss ich eine Datenbank "iobroker" anlegen oder macht das der Adapter selbst?

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators last edited by

                                  Ich habe leider von SQL keine Ahnung.

                                  Ich habe die Installation nach der Anleitung gemacht und alles war gut - keine weitere Konfiguration.

                                  Zusatzinfo:

                                  Die eigentlich empfohlene Datenbank für ioBroker sollte influxDB sein, weil die aufgrund ihrer Technik deutlich weniger Rechenleistung (Datenverarbeitung) von ioBroker selbst beansprucht. influxDB bearbeitet die Anfragen alle selber.

                                  Der Adapter scheint aber gerade erst seit gestern (heute morgen) fehlerfrei zu laufen. Das dazugehörige Modul ist im Moment noch nicht in der offiziellen Repo, wird aber in Kürze dort auftauchen, wenn Bluefox es freigibt.

                                  Gruß

                                  Rainer

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    aquapro last edited by

                                    @nieIP:

                                    Hallo

                                    ich habe in der mySQL Administration die 3 Befehle aus der Anleitung ausgeführt (mit richtigen ' ) und es wurde in der datenbank ein neuer User angelegt.

                                    Ich kann mich mit diesem User aber nicht anmelden. Er hat ein Passwort das offenbar nicht "iobroker" lautet.

                                    Wie lautet das default PW? Darf ich das ändern?

                                    Muss ich eine Datenbank "iobroker" anlegen oder macht das der Adapter selbst? `

                                    Wenn Du die meinst:

                                    CREATE USER 'iobroker‘@’%’ IDENTIFIED BY 'iobroker';
                                    GRANT ALL PRIVILEGES ON * . * TO 'iobroker'@'%';
                                    FLUSH PRIVILEGES;
                                    

                                    Dann wird ein user "iobroker" mit password "iobroker" angelegt.

                                    1 Reply Last reply Reply Quote 0
                                    • nieIP
                                      nieIP last edited by

                                      Hallo

                                      das Passwort war nicht "iobroker" , warum auch immer.

                                      Ich habe inzwischen einfach gehandelt und das PW in der Datenbank geändert. Damit funktioniert die Verbindung.

                                      Bei der ersten Verbindung wird die Datenbank "iobroker" automatisch angelegt. Also ist die Frage auch beantwortet.

                                      Zu influx DB …. Ich möchte MySQL nutzen, weil es auf mehreren NAS ohnehin vorhanden ist. Und ich möchte die Daten außerhalb des RasPi speichern. So weit ich SQL verstanden habe, schickt der RasPi nur eine Abfrage und die SQL Datenbank liefert Ergebnisse. Da ist für den RasPi keine Rechenlast.

                                      1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators last edited by

                                        > das Passwort war nicht "iobroker" , warum auch immer.
                                        Wir reden aber von der auf dem RasPi installierten Datenbank, oder?

                                        @nieIP:

                                        Zu influx DB …. Ich möchte MySQL nutzen, weil es auf mehreren NAS ohnehin vorhanden ist. Und ich möchte die Daten außerhalb des RasPi speichern. `
                                        Das hatte ich mir fast gedacht - das ist dann auch verständlich.

                                        @nieIP:

                                        Zu influx DB …. So weit ich SQL verstanden habe, schickt der RasPi nur eine Abfrage und die SQL Datenbank liefert Ergebnisse. Da ist für den RasPi keine Rechenlast. `
                                        So weit ich das verstanden habe -was nichts bedeuten muss- schickt ioBroker eine Anfrage an die SQL-Datenbank, die schickt einen kompletten Datensatz zurück und ioBroker muss dann das gewünschte herausfiltern. Dieses würde influxDB selber machen, bevor es die gewünschte "Einzeldaten" zu ioBroker schickt.

                                        Wie gesagt, so habe ich es verstanden. Wenn es nicht stimmt bitte ich um Korrektur durch einen Wissenden.

                                        Gruß

                                        Rainer

                                        1 Reply Last reply Reply Quote 0
                                        • nieIP
                                          nieIP last edited by

                                          Hallo

                                          eigentlich stellt iobroker eine Anfrage an den SQL Server "schicke mir alle Temperaturwerte der Geräte … für den Zeitraum ..." und dann kommt genau die Datenmenge zurück, die der Client braucht. Keine überflüssigen Datenfelder.

                                          Ob das so ist, weiss nur der Erfinder.

                                          1 Reply Last reply Reply Quote 0
                                          • nieIP
                                            nieIP last edited by

                                            Hallo

                                            was bedeutet beim SQL Adapter die Einstellung "Aufrunden auf …" default 4 ??

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            950
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            20
                                            5143
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo