DB-Problem nach IP-Änderung

Danke indianer3c,

das habe ich schon versucht und komme nicht weiter.

  1. habe ich mehrmals gemacht.
  2. dort steht localhost drin.
  3. Im Module-Ordner steht die IP nicht drin - mit Textpad durchsucht

Der definer ist der MySql-User, welcher ein Datenbankobjekt (view, procedure) angelegt hat. Den gibts offensichtlich nicht mehr.
Eine Möglichkeit zur Korrektur wäre, einen dump zu erstellen, dort den definer entfernen und den dump wieder zu importieren.

Hi m431342,

die angegebene IP-Adresse ist definitiv falsch, so dass ich glaube, dass der User stimmt.

All-Inkl hat die IP-Adresse geändert und vorher lief alles sauber durch.

Im Shop geht aktuell immer noch alles, bis auf die eine Stelle.

Die DB wurde auch auf MariaDB 10.5 umgestellt.
Was muss ich in die Config eintragen?

$this->dbType = 'pdo_mysql';

Vielleicht liegt es auch daran.

1 Like

OXID eShop CE 6.1.5_

Der Benutzer aus der Fehlermeldung entspricht dem User im DB-Server.

Wenn ich den Zugriff von überall erlaube, funktioniert es, ist aber für mich keine Lösung, nur vorübergehend.

STOP.

Es kommt zwar keine Fehlermeldung mehr, aber die Mails zur Versendung gehen nicht raus. :hot_face:

ruf mal in phpMyAdmin im Reiter SQL auf: SHOW PROCEDURE STATUS
wird ein Datensatz angezeigt?
(müßte von einem Modul angelegt worden sein da mW im Standard keine stored procedure verwendet werden)

@patchwork.de

SHOW PROCEDURE STATUS zeigt keinen Datensatz.

Jetzt sind nach der Umstellung auch noch einige Felder, wie Leiferadresse oder USt-ID mit 2 Anführungszeichen gefüllt.

Im Ausland stehen nun wegen der “ausgefüllten” USt-ID alle Bestellungen ohne MwSt.

das sollte helfen

Der Definer wird in den Views hinterlegt. Das macht MySQL leider so. Und der hängt wie alle anderen MySQL-User zusätzlich am DB-Host, bzw. am Client.
Versuch mal, die Views neu zu generieren und im Zweifel hart aus der Datenbank zu löschen und dann neu zu generieren.

1 Like

@ SvenBrunk
Ich habe die Views gelöscht und neu generiert, doch leider hat es nichts geholfen.

Nach der Fehlermeldung und Deiner Beschreibung das Kernproblem, dass die IP-Adresse 11.111.11.11 falsch und aktualisiert werden muss auf die neue IP-Adresse.

Da liegt vieles im Argen, weil MariaDB wird erst ab Serie 6.2 unterstützt, wenn Dir Systemvoraussetzungen für 6.1.5 anguckst Releases — OXID eSales Documentation

1 Like

Danke,

durch das Update sind die ‘’ nun scheinbar weg.

Das Problem mit dem definer besteht weiterhin.

Muss hier in der Config nun etwas anderes rein?

$this->dbType = 'pdo_mysql';

Gruß Thoni

Wo kann ich das ändern?
In der Config steht localhost und keine IP.

Versuch mal 127.0.0.1 statt localhost

Nicht das ich wüsste, bisher noch nie MariaDB eingesetzt. Aber würde annehmen es bleibt bei pdo_mysql weil dies im Standard bei Serie 6.2 hard codet und keine Variable in config.inc.php.dist Datei.

Wenn man die Fehlermeldung liest und versucht zu verstehen, dann würde ich die Fehlermeldung so verstehen das es sich um einen Datenbank User handelt welcher in der Datenbank gespeichert ist. Daher würde ich vermuten man kann den Datenbank User (der in der Datenbank gespeichert ist) auch über die Datenbank ändern. Wie dies genau funzt sollte man die Dokumentation bemühen.

Soweit ich diesen Thread verstanden habe wurde die Datenbank von MySQL zu MariaDB migriert und durch die Migration hat sich die IP-Adresse der Datenbank geändert.

Daher würde ich davon ausgehen, dass bei der Migration ein oder mehrere Schritte nicht durchgeführt wurden sind die es braucht um die Migration erfolgreich abzuschließen.

Die Dokumentation von MariaDB stellt z.B. folgende Quelle bereit welche Schritte es gilt zu beachten bei einer Migration von MySQL zu MariaDB Upgrading from MySQL to MariaDB - MariaDB Knowledge Base

Was man im Zusammenhang MySQL nach MariaDB noch findet ist ein Blog Beitrag von 2014 https://mariadb.com/de/resources/blog/changing-the-definer-of-mysql-stored-routines-etc/

Glaube dieser Blogbeitrag könnte dem Problem schon näher kommen, dass Du einen Datenbank User von MySQL nach MariaDB übernommen hast der anscheinend keine Gültigkeit bei MariaDB besitzt bzw. erneuert werden muss. Dort findet sogar ein Bug Erwähnung https://bugs.mysql.com/bug.php?id=73894

Innerhalb der Kommunikation von Bug Report für MySQL wird folgendes Skript verlinkt um den Definer Datenbank User zu aktualisieren https://github.com/hholzgra/change_definer/blob/master/change_definer.php

Vielleicht hilft Dir dies bisschen besser weiter.

Der Thread Titel “Datenbank Problem nach Migration von MySQL nach MariaDB” wäre der bessere Titel für diesen Thread gewesen um möglichst unnötige Ehrenrunde in der Kommunikation vermeiden zu können.

Hoffe Problem lässt sich nun besser einkreisen und lösen. Viel Erfolg!

Ergänzung

Was die Geschichte noch komplexer macht. Du musst anscheinend ein Patch für MariaDB einspielen dazu siehe auch https://www.web-grips.de/blog/bugfix-leere-gaensefuesschen-in-der-datenbank und https://oxidforge.org/en/applying-patches-to-oxid-eshop-projects-with-composer.html

@indianer3c @vanilla_thunder
Vielen Dank,
meine schnelle (dirty) Lösung, um weitere Probleme zu umgehen, ist vorerst den Zugriff auf die DB beim Hoster auf localhost und die beiden IPs (neu und alt) zu “beschränken”, statt nur localhost zuzulassen.

Hoffentlich habe ich bald Zeit, mir das Problem nochmal genauer anzusehen.
Verfolgt habe ich es bis …
BaseModel → function save() → $response = $this->_update();

Das Problem mit den ‘’ war nach einem Update auf 6.2.x weg.

Viele Grüße
Thoni

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.