Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Frage : Migrate MySQL nach Influxdb

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Frage : Migrate MySQL nach Influxdb

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
151 Beiträge 31 Kommentatoren 25.7k Aufrufe 25 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B base

    @JackGruber PS C:\Users\Base> Test-NetConnection 192.168.1.100 -p 3306 ComputerName : 192.168.1.100
    RemoteAddress : 192.168.1.100
    RemotePort : 3306
    InterfaceAlias : WiFi
    SourceAddress : 192.168.1.72
    TcpTestSucceeded : True

    PS C:\Users\Base>

    JackGruberJ Offline
    JackGruberJ Offline
    JackGruber
    schrieb am zuletzt editiert von
    #55

    @base oh stimt, MySQL standard port ist 3306 🙂

    Hm also der port ist erreichbar, aber das script kann sich ned verbinden ...
    Hast du Verschlüsselung für MySQL aktiviert?

    änder mal folgende Zeilen

    try:
        MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                        port = db['MySQL']['port'],
                                        user = db['MySQL']['user'],
                                        password = db['MySQL']['password'],
                                        db = db['MySQL']['database'])
    except pymysql.OperationalError as error:
        print (error)
        sys.exit(1)
    except Exception as ex:
        print("MySQL connection error")
        print(ex)
        sys.exit(1)
    

    in nur das ab:

    MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                    port = db['MySQL']['port'],
                                    user = db['MySQL']['user'],
                                    password = db['MySQL']['password'],
                                    db = db['MySQL']['database'])
    

    Achte darauf, das vor den MYSQL_CONNECTION keine lehrzeichen sind!
    Danach post mal die ganze Fehlerausgabe.

    B 1 Antwort Letzte Antwort
    0
    • JackGruberJ JackGruber

      @base oh stimt, MySQL standard port ist 3306 🙂

      Hm also der port ist erreichbar, aber das script kann sich ned verbinden ...
      Hast du Verschlüsselung für MySQL aktiviert?

      änder mal folgende Zeilen

      try:
          MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                          port = db['MySQL']['port'],
                                          user = db['MySQL']['user'],
                                          password = db['MySQL']['password'],
                                          db = db['MySQL']['database'])
      except pymysql.OperationalError as error:
          print (error)
          sys.exit(1)
      except Exception as ex:
          print("MySQL connection error")
          print(ex)
          sys.exit(1)
      

      in nur das ab:

      MYSQL_CONNECTION = pymysql.connect(host = db['MySQL']['host'],
                                      port = db['MySQL']['port'],
                                      user = db['MySQL']['user'],
                                      password = db['MySQL']['password'],
                                      db = db['MySQL']['database'])
      

      Achte darauf, das vor den MYSQL_CONNECTION keine lehrzeichen sind!
      Danach post mal die ganze Fehlerausgabe.

      B Offline
      B Offline
      base
      schrieb am zuletzt editiert von
      #56

      @JackGruber

      RESTART: C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py
      Traceback (most recent call last):
      File "C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py", line 33, in <module>
      MYSQL_CONNECTION = pymysql.connect(host = db['192.168.1.100']['host'],
      KeyError: '192.168.1.100'

      JackGruberJ 1 Antwort Letzte Antwort
      0
      • B base

        @JackGruber

        RESTART: C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py
        Traceback (most recent call last):
        File "C:\Users\Base\Downloads\iobroker_mysql_2_influxdb-master\iobroker_mysql_2_influxdb-master\migrate.py", line 33, in <module>
        MYSQL_CONNECTION = pymysql.connect(host = db['192.168.1.100']['host'],
        KeyError: '192.168.1.100'

        JackGruberJ Offline
        JackGruberJ Offline
        JackGruber
        schrieb am zuletzt editiert von
        #57

        @base ok, pass bitte die database.json an, nicht das script, so wie in der database.json.example als beispiel!

        B 1 Antwort Letzte Antwort
        0
        • JackGruberJ JackGruber

          @base ok, pass bitte die database.json an, nicht das script, so wie in der database.json.example als beispiel!

          B Offline
          B Offline
          base
          schrieb am zuletzt editiert von
          #58

          @JackGruber

          ok, jetzt hats geklappt. War ne schwere Geburt. Vielen Dank für das Script, deinen Support und deine Geduld😁

          JackGruberJ 1 Antwort Letzte Antwort
          0
          • B base

            @JackGruber

            ok, jetzt hats geklappt. War ne schwere Geburt. Vielen Dank für das Script, deinen Support und deine Geduld😁

            JackGruberJ Offline
            JackGruberJ Offline
            JackGruber
            schrieb am zuletzt editiert von
            #59

            @base na dann ist ja gut wenns geklappt hat 🙂

            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              Edelweiss
              schrieb am zuletzt editiert von
              #60

              @gender ,
              ich habe nochmal eine Frage zu deiner Beschreibung.
              Wie und wo setzt man den ack Wert auf "Boolean True" ?

              Wäre dankbar dafür , habe bis dato das Textfile erstellt
              Gruß

              JackGruberJ G 2 Antworten Letzte Antwort
              0
              • E Edelweiss

                @gender ,
                ich habe nochmal eine Frage zu deiner Beschreibung.
                Wie und wo setzt man den ack Wert auf "Boolean True" ?

                Wäre dankbar dafür , habe bis dato das Textfile erstellt
                Gruß

                JackGruberJ Offline
                JackGruberJ Offline
                JackGruber
                schrieb am zuletzt editiert von
                #61

                @edelweiss der Qert steht standardmäßig auf true, kann aber in der database.json mittels store_ack_boolean geändert werden.

                S 1 Antwort Letzte Antwort
                0
                • E Edelweiss

                  @gender ,
                  ich habe nochmal eine Frage zu deiner Beschreibung.
                  Wie und wo setzt man den ack Wert auf "Boolean True" ?

                  Wäre dankbar dafür , habe bis dato das Textfile erstellt
                  Gruß

                  G Offline
                  G Offline
                  gender
                  schrieb am zuletzt editiert von
                  #62

                  @edelweiss

                  Der Wert ist oben in meiner Anleitung im Python-Skript bereits auf true gesetzt. Du selbst musst den also nicht "irgendwo" setzen; dass passiert bereits in dem Python-Skript.

                  1 Antwort Letzte Antwort
                  0
                  • E Offline
                    E Offline
                    Edelweiss
                    schrieb am zuletzt editiert von Edelweiss
                    #63

                    @gender
                    @JackGruber

                    danke für eure Antworten.

                    Bin hier noch komplett neu (Docker und influxDBs)

                    Habe jetzt den Import in meinen Docker geladen und mit dem Befehl

                    influx -import -path=import.txt
                    

                    gestartet.

                    Er bring mir aber dann die Meldung

                    2021/02/05 21:43:19 error: error parsing query: found StromzaehlerGesamt, expect
                    ed SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL 
                    at line 1, char 1
                    

                    Die Datenbank hat er allerdings angelegt, aber es sind keien Measurements darin

                    In meinem import.txt sieht es folgendermaßen aus

                    
                    #DDL 
                    CREATE DATABASE Dummschul
                    
                    #DML
                    #CONTEXT-DATABASE: Dummschul
                    
                    StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.902 1612560689242000000
                    StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.2 1612560689242000000
                    StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.249 1612560629226000000
                    StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.893 1612560629225000000
                    

                    Könnte ihr mir Bitte noch einen Anstoß geben 😇

                    Danke

                    G 1 Antwort Letzte Antwort
                    0
                    • E Edelweiss

                      @gender
                      @JackGruber

                      danke für eure Antworten.

                      Bin hier noch komplett neu (Docker und influxDBs)

                      Habe jetzt den Import in meinen Docker geladen und mit dem Befehl

                      influx -import -path=import.txt
                      

                      gestartet.

                      Er bring mir aber dann die Meldung

                      2021/02/05 21:43:19 error: error parsing query: found StromzaehlerGesamt, expect
                      ed SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL 
                      at line 1, char 1
                      

                      Die Datenbank hat er allerdings angelegt, aber es sind keien Measurements darin

                      In meinem import.txt sieht es folgendermaßen aus

                      
                      #DDL 
                      CREATE DATABASE Dummschul
                      
                      #DML
                      #CONTEXT-DATABASE: Dummschul
                      
                      StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.902 1612560689242000000
                      StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.2 1612560689242000000
                      StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.249 1612560629226000000
                      StromzaehlerGesamt ack=True,from="system.adapter.wiffi-wz.0",q=0.0,value=0.893 1612560629225000000
                      

                      Könnte ihr mir Bitte noch einen Anstoß geben 😇

                      Danke

                      G Offline
                      G Offline
                      gender
                      schrieb am zuletzt editiert von
                      #64

                      @edelweiss
                      Hmm, ich glaube du bist dann beim Importieren nicht an der richtigen Stelle. Du musst (soweit ich mich erinnere) nur in die Komandokonsole von Influx und dort den import-Befehl ausführen und nicht direkt in der Konsole schon in die Datenbank reingehen...

                      1 Antwort Letzte Antwort
                      0
                      • E Offline
                        E Offline
                        Edelweiss
                        schrieb am zuletzt editiert von Edelweiss
                        #65

                        Hallo zusammen,
                        ich wollte nur ein kurzes Feedback geben woran es gelegen hat.

                        Scheinbar stimmt etwas nicht mit der Txt Datei (sie hat aber die c7e8c4c9-bcc3-4c45-96e5-0aa817ecde85-grafik.png Kennung ) , welche aus dem py Script generiert wird.

                        Ich habe nämlich den Inhalt daraus 1:1 in die influx NOAA_ data.txt kopiert und danach funktionierte es, beim importieren

                        Desweiteren funktionierte es bei mir auch nur, wenn der haeder mit jeweils einer Zeile Versatz eingetragen wird.

                        #DDL 
                        
                        CREATE DATABASE Dummschul
                        
                        #DML
                        
                        #CONTEXT-DATABASE: Dummschul
                        

                        Danke für die Hilfe
                        Gruß

                        1 Antwort Letzte Antwort
                        1
                        • JackGruberJ JackGruber

                          @edelweiss der Qert steht standardmäßig auf true, kann aber in der database.json mittels store_ack_boolean geändert werden.

                          S Offline
                          S Offline
                          Sputnik24
                          schrieb am zuletzt editiert von
                          #66

                          @jackgruber

                          Vielen Dank für das tolle Script. Das Script läuft bei mir erfolgreich durch, Grafana zeigt mir auch alle Datenpunkte an, sagt aber "No data". Die Daten werden vom sql Adapter in eine MariaDB auf der Synology gespeichert.

                          Muss ich im Script etwas anpassen?

                          Danke

                          JackGruberJ 1 Antwort Letzte Antwort
                          0
                          • S Sputnik24

                            @jackgruber

                            Vielen Dank für das tolle Script. Das Script läuft bei mir erfolgreich durch, Grafana zeigt mir auch alle Datenpunkte an, sagt aber "No data". Die Daten werden vom sql Adapter in eine MariaDB auf der Synology gespeichert.

                            Muss ich im Script etwas anpassen?

                            Danke

                            JackGruberJ Offline
                            JackGruberJ Offline
                            JackGruber
                            schrieb am zuletzt editiert von
                            #67

                            @sputnik24
                            Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.

                            Einfach das influx Kommandozeilenwerkzeug per influx öffnen, dann die Datenbank auswählen
                            use <DATENBANK> und per SELECT * FROM <MEASUREMENT_NAME> LIMIT 5 sich ein paar Datensätze anzeigen lassen um dies zu überprüfen.

                            S M 2 Antworten Letzte Antwort
                            0
                            • JackGruberJ JackGruber

                              @sputnik24
                              Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.

                              Einfach das influx Kommandozeilenwerkzeug per influx öffnen, dann die Datenbank auswählen
                              use <DATENBANK> und per SELECT * FROM <MEASUREMENT_NAME> LIMIT 5 sich ein paar Datensätze anzeigen lassen um dies zu überprüfen.

                              S Offline
                              S Offline
                              Sputnik24
                              schrieb am zuletzt editiert von Sputnik24
                              #68

                              @jackgruber Ich lass iobroker mittlerweile Daten in influxdb speichern. Diese werden mir in Grafana auch angezeigt. Ich vermute ein Problem mit dem timestamp Format.

                              Ich hab die database nochmal gelöscht und neu angelegt, jetzt funktioniert es.

                              1 Antwort Letzte Antwort
                              0
                              • JackGruberJ JackGruber

                                @sputnik24
                                Hört sich eher danach an, dass etwas in der auswertung nicht stimmt.

                                Einfach das influx Kommandozeilenwerkzeug per influx öffnen, dann die Datenbank auswählen
                                use <DATENBANK> und per SELECT * FROM <MEASUREMENT_NAME> LIMIT 5 sich ein paar Datensätze anzeigen lassen um dies zu überprüfen.

                                M Offline
                                M Offline
                                marco-mh
                                schrieb am zuletzt editiert von
                                #69

                                @jackgruber Hallo, ich wollte mich auch mal versuchen an deinem Script. Meine MYSQL DB umfasst mittlerweile 1,8 Mio Einträge. Ich bin allerdings ne absolute NULL in sachen Scripte und bekomme schon graue Haare.
                                Jetzt hab ich das Script mit meinen Daten, so das ich denke das es richtig ist, geändert. Nun bekomme ich folgende meldung

                                
                                C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>migrate.py ALL
                                  File "C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master\migrate.py", line 156
                                    print(f"Processing row {processed_rows + 1:,} to {processed_rows + len(selected_rows):,} from LIMIT {start_row:,} / {start_row + query_max_rows:,} " +
                                                                                                                                                                                       ^
                                SyntaxError: invalid syntax
                                
                                C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>
                                
                                

                                wo kann hier der Fehler sein?

                                Meine geänderten Daten sehen so aus

                                
                                {\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
                                {\*\generator Riched20 10.0.14393}\viewkind4\uc1 
                                \pard\f0\fs22\lang1033\par
                                    MYSQL_CONNECTION = pymysql.connect(host=db['MySQL']['192.168.178.8'],\par
                                                                       port=db['MySQL']['3306'],\par
                                                                       user=db['MySQL']['root'],\par
                                                                       password=db['MySQL']['XXXXXX'],\par
                                                                       db=db['MySQL']['database'])\par
                                except pymysql.OperationalError as error:\par
                                    print(error)\par
                                    sys.exit(1)\par
                                except Exception as ex:\par
                                    print("MySQL connection error")\par
                                    print(ex)\par
                                    sys.exit(1)\par
                                \par
                                \par
                                INFLUXDB_CONNECTION = InfluxDBClient(host=db['InfluxDB']['192.168.178.102'],\par
                                                                     ssl=db['InfluxDB']['ssl'],\par
                                                                     verify_ssl=True,\par
                                                                     port=db['InfluxDB']['22'],\par
                                                                     username=db['InfluxDB']['iobroker'],\par
                                                                     password=db['InfluxDB']['XXXXXX'],\par
                                                                     database=db['InfluxDB']['iobroker_import'])\par
                                }
                                
                                

                                Danke für die hilfe. Gruß Marco

                                node.js 16.15.1, NPM 8.11, js.Controller 4.0.23

                                JackGruberJ 1 Antwort Letzte Antwort
                                0
                                • M marco-mh

                                  @jackgruber Hallo, ich wollte mich auch mal versuchen an deinem Script. Meine MYSQL DB umfasst mittlerweile 1,8 Mio Einträge. Ich bin allerdings ne absolute NULL in sachen Scripte und bekomme schon graue Haare.
                                  Jetzt hab ich das Script mit meinen Daten, so das ich denke das es richtig ist, geändert. Nun bekomme ich folgende meldung

                                  
                                  C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>migrate.py ALL
                                    File "C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master\migrate.py", line 156
                                      print(f"Processing row {processed_rows + 1:,} to {processed_rows + len(selected_rows):,} from LIMIT {start_row:,} / {start_row + query_max_rows:,} " +
                                                                                                                                                                                         ^
                                  SyntaxError: invalid syntax
                                  
                                  C:\Users\marco\Downloads\iobroker_mysql_2_influxdb-master>
                                  
                                  

                                  wo kann hier der Fehler sein?

                                  Meine geänderten Daten sehen so aus

                                  
                                  {\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
                                  {\*\generator Riched20 10.0.14393}\viewkind4\uc1 
                                  \pard\f0\fs22\lang1033\par
                                      MYSQL_CONNECTION = pymysql.connect(host=db['MySQL']['192.168.178.8'],\par
                                                                         port=db['MySQL']['3306'],\par
                                                                         user=db['MySQL']['root'],\par
                                                                         password=db['MySQL']['XXXXXX'],\par
                                                                         db=db['MySQL']['database'])\par
                                  except pymysql.OperationalError as error:\par
                                      print(error)\par
                                      sys.exit(1)\par
                                  except Exception as ex:\par
                                      print("MySQL connection error")\par
                                      print(ex)\par
                                      sys.exit(1)\par
                                  \par
                                  \par
                                  INFLUXDB_CONNECTION = InfluxDBClient(host=db['InfluxDB']['192.168.178.102'],\par
                                                                       ssl=db['InfluxDB']['ssl'],\par
                                                                       verify_ssl=True,\par
                                                                       port=db['InfluxDB']['22'],\par
                                                                       username=db['InfluxDB']['iobroker'],\par
                                                                       password=db['InfluxDB']['XXXXXX'],\par
                                                                       database=db['InfluxDB']['iobroker_import'])\par
                                  }
                                  
                                  

                                  Danke für die hilfe. Gruß Marco

                                  JackGruberJ Offline
                                  JackGruberJ Offline
                                  JackGruber
                                  schrieb am zuletzt editiert von
                                  #70

                                  @marco-mh bitte nur die database.json.example in database.json umbenennen und die daten dort eintragen.

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • JackGruberJ JackGruber

                                    @marco-mh bitte nur die database.json.example in database.json umbenennen und die daten dort eintragen.

                                    M Offline
                                    M Offline
                                    marco-mh
                                    schrieb am zuletzt editiert von
                                    #71

                                    @jackgruber Danke für die schnelle Antwort. Aber der Fehler bleibt leider.
                                    ichnhab die Daten jetzt in der Json geändert.

                                    node.js 16.15.1, NPM 8.11, js.Controller 4.0.23

                                    JackGruberJ 1 Antwort Letzte Antwort
                                    0
                                    • M marco-mh

                                      @jackgruber Danke für die schnelle Antwort. Aber der Fehler bleibt leider.
                                      ichnhab die Daten jetzt in der Json geändert.

                                      JackGruberJ Offline
                                      JackGruberJ Offline
                                      JackGruber
                                      schrieb am zuletzt editiert von
                                      #72

                                      @marco-mh Welche python version ist im einsatz?

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • JackGruberJ JackGruber

                                        @marco-mh Welche python version ist im einsatz?

                                        M Offline
                                        M Offline
                                        marco-mh
                                        schrieb am zuletzt editiert von
                                        #73

                                        @jackgruber 3.9.5

                                        node.js 16.15.1, NPM 8.11, js.Controller 4.0.23

                                        JackGruberJ 1 Antwort Letzte Antwort
                                        0
                                        • M marco-mh

                                          @jackgruber 3.9.5

                                          JackGruberJ Offline
                                          JackGruberJ Offline
                                          JackGruber
                                          schrieb am zuletzt editiert von
                                          #74

                                          @marco-mh OK, das ist ok. Aber die Fehlermeldung deutet auf ein altes python ...

                                          Die Zeile ist nur für den Status, kann daher auch auskommentiert/gelöscht werden.

                                          M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          763

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe