NEWS
Probleme mit SQL adapter nach Stromausfall
-
Seit einem Stromausfall kann sich der SQL Adapter (2.2.0) nicht mehr mit der MariaDB verbinden. Es kommt immer wieder die Fehlermeldung ETIMEDOUT
error: sql.0 (2317) Error: connect ETIMEDOUT
Der iobroker läuft als Debian VM auf einer Synology wo auch auch die MariaDB läuft.
Die Datenbank ist von einem anderen PC aber auch von der Debian VM mit HeidiSQL ohne Probleme erreichbar.Wenn ich auf mittels phpMyAdmin mit den Status von der Datenbank ansehen, sehe bei den Prozessen, dass der Zugriff vom SQL Adapter als "unauthenticated user" registriert wird, hab es auch schon über einen andern Benutzer versucht, aber das selbe.
Habe schon folgendes versucht (ohne Erfolg)
- SQL Adapter auf ältere Version
- älters iobroker Backup einspielen
- älteren Snapshot von der VM aktivieren
Die Datenbank ist überigends schon recht groß ca. 2,3GB mit 40 000 000 Einträge, habe auch schon mal ältere Einträge gelöscht, da dies eventuell die Ursache ist, aber scheinbar ändert das nichts an der Größe.
Jemand eine Idee?
-
@geraldk66 Die Einstellungen im Adapter kontrollieren! Also das Ziel, wenn es auf einem anderen System ist bitte nicht über den Hostnamen sondern über die IP-Adresse ansprechen. Port kontrollieren und die Zugangsdaten.
Ggf. den Zugang / Benutzer und Passwort in der Datenbank neu anlegen, MariaDB/MySQL kennt den Benutzer pro Zielsystem.
manfred@192.168.1.3ist ein anderer Benutzer alsmanfred@192.168.1.5odermanfred@127.0.0.1Du kannst also nicht einfach einen anderen Benutzer nehmen sondern musst einen mit der Quell-IP, also des ioBrokers anlegen
-
@geraldk66 Die Einstellungen im Adapter kontrollieren! Also das Ziel, wenn es auf einem anderen System ist bitte nicht über den Hostnamen sondern über die IP-Adresse ansprechen. Port kontrollieren und die Zugangsdaten.
Ggf. den Zugang / Benutzer und Passwort in der Datenbank neu anlegen, MariaDB/MySQL kennt den Benutzer pro Zielsystem.
manfred@192.168.1.3ist ein anderer Benutzer alsmanfred@192.168.1.5odermanfred@127.0.0.1Du kannst also nicht einfach einen anderen Benutzer nehmen sondern musst einen mit der Quell-IP, also des ioBrokers anlegen
@bananajoe Danke für die Info.
Glaube nicht dass es an den Benutzern liegt, hab jetzt eine neu VM Debian 12 aufgesetzt und den IO Broker neu installiert und auch hier geht es nicht.
Bei der Durchsicht der logs ist mir noch folgendes aufgefallen
2024-03-03 09:29:31.220 - warn: admin.0 (915) sql has an invalid jsonConfig: [{"instancePath":"/items/dbTab/items/_testConnection/type","schemaPath":"#/definitions/componentType/enum","keyword":"enum","params":{"allowedValues":["alive","autocomplete","cron","fileSelector","text","textSendTo","number","port","color","checkbox","chips","header","slider","ip","user","room","func","select","icon","image","panel","password","file","sendTo","staticText","custom","pattern","table","accordion","instance","language","setState","certificate","certificates","staticImage","staticLink","divider","objectId","selectSendTo","autocompleteSendTo","checkLicense","uuid","timePicker","datePicker"]},"message":"must be equal to one of the allowed values"},{"instancePath":"/items/dbTab","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match "then" schema"}]
Kann das damit zusammen hängen?
-
@bananajoe Danke für die Info.
Glaube nicht dass es an den Benutzern liegt, hab jetzt eine neu VM Debian 12 aufgesetzt und den IO Broker neu installiert und auch hier geht es nicht.
Bei der Durchsicht der logs ist mir noch folgendes aufgefallen
2024-03-03 09:29:31.220 - warn: admin.0 (915) sql has an invalid jsonConfig: [{"instancePath":"/items/dbTab/items/_testConnection/type","schemaPath":"#/definitions/componentType/enum","keyword":"enum","params":{"allowedValues":["alive","autocomplete","cron","fileSelector","text","textSendTo","number","port","color","checkbox","chips","header","slider","ip","user","room","func","select","icon","image","panel","password","file","sendTo","staticText","custom","pattern","table","accordion","instance","language","setState","certificate","certificates","staticImage","staticLink","divider","objectId","selectSendTo","autocompleteSendTo","checkLicense","uuid","timePicker","datePicker"]},"message":"must be equal to one of the allowed values"},{"instancePath":"/items/dbTab","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match "then" schema"}]
Kann das damit zusammen hängen?
@geraldk66 sagte in Probleme mit SQL adapter nach Stromausfall:
Glaube nicht dass es an den Benutzern liegt, hab jetzt eine neu VM Debian 12 aufgesetzt und den IO Broker neu installiert und auch hier geht es nicht.
Weiter oben hast du geschrieben das es von einem anderen PC aus und einer anderen VM geht
Bei der neuen VM wo es auch nicht geht: Hatte die die gleiche IP?Im phpMyAdmin oder per Commandline mach mal eine SQL-Abfrage zu den Benutzern und Ihren Hosts:
SELECT host, user FROM mysql.user;siehe auch https://www.cyberciti.biz/faq/how-to-show-list-users-in-a-mysql-mariadb-database/
Da muss es einen Eintrag geben mit der IP des ioBroker-Systems
-
@geraldk66 sagte in Probleme mit SQL adapter nach Stromausfall:
Glaube nicht dass es an den Benutzern liegt, hab jetzt eine neu VM Debian 12 aufgesetzt und den IO Broker neu installiert und auch hier geht es nicht.
Weiter oben hast du geschrieben das es von einem anderen PC aus und einer anderen VM geht
Bei der neuen VM wo es auch nicht geht: Hatte die die gleiche IP?Im phpMyAdmin oder per Commandline mach mal eine SQL-Abfrage zu den Benutzern und Ihren Hosts:
SELECT host, user FROM mysql.user;siehe auch https://www.cyberciti.biz/faq/how-to-show-list-users-in-a-mysql-mariadb-database/
Da muss es einen Eintrag geben mit der IP des ioBroker-Systems
Hier die User und host, hab es mit user test und iobroker versucht

192.168.1.162 ist man Laptop mit zugriff über HeidiSQL
192.168.1.6 ist der iobrokerjedesmal mit user iobroker


In der neu aufgesetzten VM war die IP Adresse anders ab auch war im "unautenticated user" zu sehen. Hab auch von der VM des iobrokers über heidsql auf die Datenbank zugegriffen, ohne Probleme.
kann es ein Problem mit den Versionen von Node.js oder NPM sein?

-
Hier die User und host, hab es mit user test und iobroker versucht

192.168.1.162 ist man Laptop mit zugriff über HeidiSQL
192.168.1.6 ist der iobrokerjedesmal mit user iobroker


In der neu aufgesetzten VM war die IP Adresse anders ab auch war im "unautenticated user" zu sehen. Hab auch von der VM des iobrokers über heidsql auf die Datenbank zugegriffen, ohne Probleme.
kann es ein Problem mit den Versionen von Node.js oder NPM sein?

@geraldk66 sagte in Probleme mit SQL adapter nach Stromausfall:
kann es ein Problem mit den Versionen von Node.js oder NPM sein?
Nein. Aber ich würde so oder so zur empfohlenen Version 18 raten.
-
Hier die User und host, hab es mit user test und iobroker versucht

192.168.1.162 ist man Laptop mit zugriff über HeidiSQL
192.168.1.6 ist der iobrokerjedesmal mit user iobroker


In der neu aufgesetzten VM war die IP Adresse anders ab auch war im "unautenticated user" zu sehen. Hab auch von der VM des iobrokers über heidsql auf die Datenbank zugegriffen, ohne Probleme.
kann es ein Problem mit den Versionen von Node.js oder NPM sein?

@geraldk66 da hab ich heute mal was gelernt - es gibt also eine Wildcard
%für den Host ... gewöhne ich mir aber lieber gar nicht erst an ... -
Hier die User und host, hab es mit user test und iobroker versucht

192.168.1.162 ist man Laptop mit zugriff über HeidiSQL
192.168.1.6 ist der iobrokerjedesmal mit user iobroker


In der neu aufgesetzten VM war die IP Adresse anders ab auch war im "unautenticated user" zu sehen. Hab auch von der VM des iobrokers über heidsql auf die Datenbank zugegriffen, ohne Probleme.
kann es ein Problem mit den Versionen von Node.js oder NPM sein?

@geraldk66 wo ich deinen Screenshot gerade sehe von den Adapter-Einstellungen ...
Das Symbol in den Feldern neben den Benutzernamen etc, kommt das von einem Passwortmanager?Daran bin ich nämlich mal verzweifelt weil mein Passwortmanager-Browser-Plugin zuverlässig jedesmal wenn ich einen solchen Dialog aufgerufen hatte das Kennwort falsch eingesetzt hat, auch nach dem manuellen Eintippen. Erst als ich den komplett deaktiviert hatte (bzw. einen Browser ohne das Plugin genommen habe), hat es funktioniert.
Wenn du den Expertenmodus in der Objekte-Ansicht aktivierst und dann den Eintrag
system.adapter.sql.0markierst und hinten auf den Stift klickst siehst du das Konfigurations-JSON des Adapters.
Weiter unten findest du die eingestellten Zugansdaten im Klartext:

Kannst ja mal prüfen ob das richtige übernommen wurde. -
@geraldk66 wo ich deinen Screenshot gerade sehe von den Adapter-Einstellungen ...
Das Symbol in den Feldern neben den Benutzernamen etc, kommt das von einem Passwortmanager?Daran bin ich nämlich mal verzweifelt weil mein Passwortmanager-Browser-Plugin zuverlässig jedesmal wenn ich einen solchen Dialog aufgerufen hatte das Kennwort falsch eingesetzt hat, auch nach dem manuellen Eintippen. Erst als ich den komplett deaktiviert hatte (bzw. einen Browser ohne das Plugin genommen habe), hat es funktioniert.
Wenn du den Expertenmodus in der Objekte-Ansicht aktivierst und dann den Eintrag
system.adapter.sql.0markierst und hinten auf den Stift klickst siehst du das Konfigurations-JSON des Adapters.
Weiter unten findest du die eingestellten Zugansdaten im Klartext:

Kannst ja mal prüfen ob das richtige übernommen wurde.@bananajoe
Ja das kommt von einem Passwort Manager, im Konfigurations-JSON des Adapters steht das Korrekte Passwort.
Danke für diese Info, ist immer mal praktisch nachsehen zu können welches Passwort eingestellt ist.Hab mal versucht vom PC aus über Hedisql mich mit dem falsch Passwort oder Benutzer anzumelden, da kommt dann auch "unauthenticated user" Meldung im phpMyAdmin.
Habe gerade das Passwort geändert und keine Sonderzeichen eingetragen um hier irgendein Problem auszuschließen. Hat aber auch nichts gebracht.Kann es mit dieser Warnung zusammen hängen?
warn: admin.0 (784) sql has an invalid jsonConfig: [{"instancePath":"/items/dbTab/items/_testConnection/type","schemaPath":"#/definitions/componentType/enum","keyword":"enum","params":{"allowedValues":["alive","autocomplete","cron","fileSelector","text","textSendTo","number","port","color","checkbox","chips","header","slider","ip","user","room","func","select","icon","image","panel","password","file","sendTo","staticText","custom","pattern","table","accordion","instance","language","setState","certificate","certificates","staticImage","staticLink","divider","objectId","selectSendTo","autocompleteSendTo","checkLicense","uuid","timePicker","datePicker"]},"message":"must be equal to one of the allowed values"},{"instancePath":"/items/dbTab","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden