MySQL_Connection.h> spontaner Verbindungsfehler

Grüße,

ich benutze seit geraumer Zeit einen ESP8266 um eine SQL Datenbank mit Sensordaten zu füttern. Seit heute bekomme ich diese Meldung und er meldet sich nciht mehr an der Datenbank an.

Error: 99 = .11.6-MariaDB-0+deb12u1�~QWB#&4r��-��buGAOH[qFI{Smysql_native_password.

Ich weis leider überhaupt nicht was der Künstler mir damit sagen will.

Ich weis das ich schonmal irgendwelche Probleme hatte Auf die Datenbank zuzugreifen, das war aber glaub ich mit dem Laptop... und da musste ich irgend etwas auf native password umstellen.... aber das ist Monate her und den Fehler bekomme ich erst seit heute... hatte das vllt. schon mal jemand?

EDIT: Ich habe gerade nochmal versucht mich mit dem Sensor Profil über mysql anzumelden auf dem laptop, das ging, also am Profil kann eigentlich nicht liegen.

native password ist auch aktiviert

ich hab keine Ahnung was es diesmal sein könnte

So ein Unsinn lässt fast immer auf fehlerhafte Datenübertragung schließen.
Er empfängt irgendwelche Bits und verliert einige. Das Ergebnis ist dann meist sowas wie du angezeigt hast.

Ich würde als erster mal nach Störquellen suchen.

Ich hatte so ein Unsinn mal mit der Telekom. Angeblich habe ich mein Zugangspasswort (seit Jahren fest im Router) falsch eingeben. Nachdem ich mit viel Glück ein Kompotenten Fachmann am Telefon hatte, hat sich herausgestellt das mit ein Telekomtechniker was gutes tun wollte. Er hat mein 1500er Leitung auf 2000 gesetzt. Und prompt kam nur Mist am Server an. Wieder Zurück auf alte Werte und schon war die Sache erl.

Ergo. Such die Störquelle.

Gruß

Pucki

Hm... also am Netzwerk kann es eig nicht liegen, da die Verbindung korrekt aufgebaut wird und die SQL Datenbank auch von anderen geraten (Laptop) erreicht wird. Datenbank, Sensor und Laptop sind direkt in einem WLAN netz das ich mit einem ESP8266 Accesspoint bereit stelle.

Ich kann mir eig nur vorstellen das bei einem Datenbank Update irgend etwas umgestellt wurde und deswegen die Authentifizierung eines "veralteten" Clients (Sensor) nicht funktioniert. Da ich mich mit dem Sensor Profil über den Laptop auf der DB anmelden kann, gehe ich davon aus das die Profileinstellungen in der DB richtig sind.

das ist der teil des Sensor Programms der Hängt.

  Serial.print("Connecting to SQL...  ");
  if (conn.connect(server_addr, 3306, user, password))
    Serial.print("OK.");
  else{
   Serial.print("FAILED");

Aber daran habe ich nichts geändert, und ich habe damit schon Daten in die DB geschrieben gehabt.

Von allein updatet sich eine Datenbank aber nicht. Das musst Du schon selbst angestoßen haben und das solltest Du eigentlich wissen.
Schreibe auf dem ESP8266-AP Dir auf dem seriellen Monitor raus, was dort ankommt. Wenn das noch richtig ist, installiere Dir auf dem Laptop Etherreal und sniffe den Netzverkehr mit.

Gruß Tommy

1 Like

Es wäre dann mal sinnvoll sich die Releasnotes zu(m) / (den) Datenbankupdate(s) anzuschauen. Da sich ja anscheinend auf der „Arduinoseite“ nichts geändert hat, dürfte das Problem ja auf der Datenbankseite zu suchen sein. Evtl. wurde beim Update die DB Config überschrieben und die bind-address wieder auf localhost gesetzt.

Das muss man relativ sehen,m.M.n. .

Für mich sieht das wie eine Übertragungsstörung aus. Entweder der Arduino hat einen Fehler, oder in der Umgebung hat sich was geändert was das w-Lan-Signal stört.

Immerhin kann er die DB vom Lappi aus sauber erreichen.

Ganz Kleine Idee. Tausche man die Stromversorgung des Arduino. USB-Netzteile leiden unter der Angewohnheit gerne mal kaputt zu gehen. Meine Beere hat schon ihr 3.

Gruß

Pucki

Nein sicher nicht, aber ich habe bei einer anderen Installation vorher

apt-get update
apt-get upgrade

ausgeführt.

ich weis nicht ob das nur die Pakete des Betriebssystems betrifft oder auch die der Programme.

Das kontrolliere ich heute Nachmittag mal danke für den tip

Die Stromversorgung steht.

Ich habe es mit zwei verschiedenen Modulen getestet eines ist ein blanko 8266-12F im akkubetrieb auf einem Lochraster gelötet.

Der andere ist ein Memos D1 mini über usb am Rechner.

Bei beiden das selbe Ergebnis.

Dann kann es nur eine Störung im Empfang sein.

So ein Mist -> �~QWB#&4r��-��b
gibt es nur wenn Daten fehlerhaft übertragen werden, oder wenn es reine Binär-Daten sind.

Die können es aber nicht sein, weil du eine Error-Meldung gepostet hast. Meldungen sind ja dafür da das man sie lesen kann.

Gruß

Pucki

hm, das klingt ja schon sinnvoll, aber wenn alle anderen gerate mit der DB kommunizieren können, sollte die Verbindung ja eigentlich stehen.

Ich habe nochmal in die release notes geguckt und da gab es am 25.09.24 ein Update auf MariaDB 11.7.0

Hier mal die Release notes

spannend fand ich den Teil:

### General

SESSION_USER(), which used to be an alias for USER() now shows the value of CURRENT_USER() when the session was created (MDEV-30908)
CURRENT_TIMESTAMP should return a TIMESTAMP (WITH TIME ZONE?) (MDEV-15751)
A warning has been added when max_sort_length is exceeded. (MDEV-27277)

auch wenn ich nicht ganz verstehe was da gemacht wurde, interpretier ich das so das vllt den Fehler hervorrufen, da der wert User einer neuen Funktion zugeordnet wird?
Kann aber auch sein das ich den Abschnitt Komplet falsch verstanden habe

Hast Du das getan, was ich Dir in #4 vorgeschlagen hatte?

Gruß Tommy

noch nicht, ich war noch nicht wieder an der Anlage steht aber für heute Abend auf meiner liste

So, ich wollte vorhin den AP auslesen und hab mich gewundert das der Wemos sich nicht abmeldet nachdem die SQL Verbindung fehlgeschlagen war. Dann habe ich die Datenbank kontrolliert und festgestellt.... jetzt geht alles wieder...ohne das ich irgend etwas gemacht habe.... das ist irgendwie schön aber auch frustrierend.

Das sind die schlimmsten Fehler. Ich hatte mal den Fall das mein Chef sein Diktiergerät 3 x in der Reparatur war. Und dort einwandfrei funktionierte. Bei ihm am Schreibtisch aber die Aufnahme total verbrummte. Bis ich auf die Idee kam mir eine Verlängerungsschnur zu nehmen, und eine Aufnahme zu machen die Sagt wo ich mit den Gerät gerade bin.
Dabei wurde ein Störfeld entdeckt. Ursache des Störfeld war damals das Netzteil der Ladeschale des Gigaset-Telefon.

Also verlass dich nicht darauf das es jetzt läuft. Sondern prüfe das sehr oft und regelmäßig nach. Nicht das eine Waschmaschine (nur als Beispiel) dafür Schuld ist.

Gruß

Pucki

tu ich nicht. ich habe die ganze anläge am zweiten tag mit auf Arbeit genommen und der Fehler war der gleiche, deshalb glaub ich nicht das das die Störung von einem dritten gerät kommt.

Ich habe ein USB Netzteil was Stört alle ESP32 wenn die über denn versorgt werden. Jedoch glaube nicht das dadurch zu fehlerhaften verbindung kommt wenn es schon mal bei dir funktioniert hat.

ja, zumal ich ja auch ein Modul mit Akku und eines mit usb getestet hatte mit dem gleichen Ergebnis in zwei verschiedenen Umgebungen

EDIT: Stop das stimmt nicht, der AP hing die ganze zeit am selben Netzteil mit dem selben Kabel vllt ist das das Problem gewesen. Ich habe die Fehlerursache so verkrampft am Sensor gesucht, dass ich den AP vollkommen vergessen habe.Ich prüfe das heute Nachmittag.

to many connection?

wo hast du her was der Code bedeutet? Ich habe mich totgegoogled und nichts gefunden.