You need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation

Hallo Leute, bei einer Neuinstallation der Oxidshop CE version 6.8.0 komme ich beim vorletzten Step nicht weiter. Die Installation bricht mit der Fehlermeldung

" FEHLER: (Tabellen)Probleme mit folgenden SQL Befehlen: ( SET character_set_database = ‘utf8’; ): SQLSTATE[42000]: Syntax error or access violation: 1227 Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation"

ab. Ich habe im Hosting keine Möglichkeit meinem DB user dieser Super privileges einzuräumen. Hat jemand das gleiche Problem schon gehabt? Gibt es einen work-around in den setup Skripten. Ich hab das Forum natürlich ausgiebigst durchsucht.

Danke schon mal! Grüße

Nein, bisher noch nicht. Ein guter Hoster bietet diese Option.

Ggfs. kannst über die GUI von Deinem Hoster die Datenbankstruktur manuell einspielen, diese findest Du unter https://github.com/OXID-eSales/oxideshop_ce/blob/v6.8.0/source/Setup/Sql/database_schema.sql

Viele Grüße,
Tim

ps. Bei den Systemvoraussetzungen der 6.2er Serie oder höher ist extra erwähnt, dass ausreichend Rechte benötigt werden Server und Systemvoraussetzungen — OXID eShop 6.2 | Anwenderdokumentation

Der Datenbankbenutzer benötigt ausreichende Berechtigung, um während der Installation eine Datenbank erstellen zu können, sofern diese nicht bereits existiert. Die Berechtigung muss auch das Erstellen von Views erlauben.

Hallo,
danke für die Antwort. Die leere Datenbank ist natürlich schon eingerichtet. Die Verbindung vom Setup auch als OK bestätigt. Ich werde die Datenbank jetzt versuchen manuell zu importieren. Sollte das funktionieren, stellt sich nur noch die Frage, ob ich bei zukünftigen Updates nicht wieder in die gleichen Probleme laufe.

Viele Grüße
Claus

Hallo @maxmodel-65 :slight_smile:

gerne.

Ja, dies die Grundvoraussetzung. Der verlinkte SQL Dump ist das Datenbank-Design, also die Tabellen die innerhalb Deiner Datenbank durch den Setup Prozess angelegt werden. Dies schlägt bei Dir fehl, weil Du nicht die Rechte um die Zeichenkodierung zu setzen hast, die im Setup Prozess versucht wird an dieser Stelle zu setzen.

Die Rechte bezüglich der Datenbank können beim 1. Schritt den Du wahrscheinlich meinst noch gar nicht geprüft werden, weil Du erst im späteren Schritt die Zugangsdaten für Deine Datenbank eingibst.

Das sind zwei SQL Dumps. Ein Dump den ich verlinkt habe für das Datenbank Design (Schema) und ein Dump um erste Daten wie Shop Einstellungen etc. in die angelegten Datenbank Tabellen einzufügen (Initial Data). Dies siehst Du unter Setup/Sql Verzeichnis https://github.com/OXID-eSales/oxideshop_ce/tree/v6.8.0/source/Setup/Sql

Du solltest in einen Hoster investieren, welcher mindestens die Systemvoraussetzungen abdeckt. Weil Dir dies sonst immer wieder Probleme bereitet. OXID eSales empfiehlt Hoster Partner oder man beauftragt ein Fachmann, welcher abschätzen kann ob die Systemvoraussetzungen erfüllt.

Viele Grüße,
Tim

Danke für die Erläuterungen!
Ich betreibe seit zig. Jahren einen Shop auf OXID CE Basis (irgendeine letzte Version vor 5) und bin jetzt auf der Suche nach Ersatz, weil ich befürchte, dass demnächst PHP 5.4 abgeschaltet werden wird. Zu diesem Zweck hab ich von WooCommerce über Presto bis Shopware die verschiedensten Shop Systeme durchprobiert. Bei keinem einzigen gab es bisher Rechteprobleme bei der Datenbank initialisierung. Weil bei meinem alten Hoster (der Platzhirsch mit dem S am Anfang) auf unserem managed Server, sich neuere Shopware, Magento und OXID Versionen aufgrund eines veralteten Mysql Servers erst garnicht installieren ließen, und Mahnungen seit 2 Jahren nicht gefruchtet haben, habe ich erst vor kurzem den Hoster gewechselt, um dort den Shop neu aufzubauen, wie gesagt, ohne irgendwelche Probleme bei den anderen Testinstallationen.
Ich werde also trotzdem mal den Kundendienst scramblen und fragen, was die dazu meinen.
Den Schema sql dump aus dem ersten link konnte ich übrigens gut einlesen, nachdem ich die ersten vier Zeilen auskommentiert hatte. Jetzt schicke ich mal die initial data hinterher. Wird dann schon laufen.

Viele Grüße
Claus

Gerne.

Dann wird es aber allerhöchste Eisenbahn :wink: Eine 5er Version für die CE gab es nie. Es gab bis 4.10 dann startet die 6er Serie. Die 5er Serien gab es z.B. bei der EE.

Vielleicht haben sich die Einstellungen bei Deinem Hoster geändert. Ich hatte mich eben ins Shopware Forum verirrt und dort findest gleiches Problem mit Super Rechte…

Gratulation zum Hosterwechsel. Das man alle potenzielle Lösungen durchtestet machen die wenigsten, dies sicherlich auch hilfreich sich im Voraus alle Systeme anzugucken. Darf man fragen was dann für den OXID den Ausschlag gab?

Wir schreiben aber immer noch über ein Self-Hosting Online-Shop System. Dort kann man bestimmte Rechte voraussetzen, weil man selber verantwortlich für das Hosting. Glaube nicht, dass der Kundendienst seitens OXID eSales AG helfen kann, außer vielleicht Dein neuer Hoster warum Dir Rechte fehlen… Kannst mal berichten.

Dies suboptimal, wenn die Zeichenkodierung und Co. nicht mit absetzt vorher. Im schlimmsten Fall bekommst einen Datensalat.

Viele Grüße,
Tim

Hallo, nur kurz: mit Kundendienst meinte ich den KD meines Hosters.
Alles eingelesen, Shop meldet sich im Wartungsmodus. Konnte in der Datenbank keine Einstellung hierfür finden. Hab lange nicht mehr dran rummanipuliert. Wie komme ich da raus, und was sind danach die Zugangsdaten für den Admin?
Mit dem OXID Shop war/bin ich übrigens mehr als fit. Hab alle Updates immer erfolgreich eingespielt (obwohl immer “pain in the neck” gewesen). Hab auch das ein oder andere Template erweitert um eigene Funktionen im Backend zu kriegen. Läuft jahrelang problemlos.
OXID CE pobiere ich halt mal in der neuesten Version aus, weil ich mit der alten vertraut bin.

Viele Grüße
Claus

Das ist weiterhin der fehlenden Rechte geschuldet, dass die View Datenbank Tabellen nicht erzeugt werden können.

Du kannst in der config.inc.php den Schalter für die Erzeugung der View Datenbank Tabellen ausschalten indem Schalter auf true setzt:

$this->blSkipViewUsage = true;

Quelle: https://github.com/OXID-eSales/oxideshop_ce/blob/v6.8.0/source/config.inc.php.dist#L160

Da Du nicht den “normalen” Installationsprozess durchlaufen hast, wurde kein Admin User angelegt. Diesen musst manuell anlegen.

Da liegen aber einige Jahre dazwischen, seitdem hat sich viel getan.

Würde Dir empfehlen, zuerst das Problem mit Deinem Hoster zu lösen, dass die Systemvoraussetzungen erfüllt werden mit den Rechten in der Datenbank.

Weil sonst kannst den Online-Shop nicht im Produktiv Betrieb nutzen.

:+1: Thanx!

1 Like

Ich klinke mich hier mal ein, weil ich heute zufällig ebenfalls mit der Installation von 6.2 befasst war und dieselbe Fehlermeldung hatte.

Das Problem mit den Privileges habe ich mit etwas Bauchweh gelöst. Ich bin kein mysql-Experte, Datenbanken interessieren mich nur insofern als sie eben diese Daten verwalten sollen, aber gerade deshalb gilt allgemein die Devise, dass diese Rechte möglichst begrenzt sein sollten.

Im übrigen ist utf-8 nicht state if the art, sondern utf8mb4. Ich hatte in einem völlig anderen Projekt das Problem, dass emails und messenger-Nachrichten importiert werden sollten, und der Fehler, den der Kunde gemeldet hatte, hatte genau hiermit zu tun. Offenbar hat vor allem apple einige utf8mb4-emojis leicht zur Hand, und es wäre für shopbetreiber nicht sehr vorteilhaft, wenn Kundenrezensionen deswegen einen DB-Fehler produzieren. 6.3 und/oder 7.0 will ich eventuell morgen in meinem localhost integrieren, vielleicht ist das ja in den neueren Versionen utf8mb4.

Ärgerlich war für mich analog, dass der setup-Prozess genauso im Wartungsbildschirm hängen blieb. Das habe ich mit einem neuerlichen composer-update beheben können, was sicher übertrieben war, aber den boot-Prozess will ich ja erst näher erforschen, wenn das System erstmal steht.

Voll installiert ist das aber immer noch nicht:

Fehler beim Ausführen des Kommandos ‘Migration’. Returncode: ‘0’.
Das Kommando gibt folgende Meldung zurück:

An exception occurred while executing ‘INSERT INTO oxconfig
(
OXID,
OXSHOPID,
OXVARNAME,
OXVARTYPE,
OXVARVALUE
)
SELECT
REPLACE(UUID( ) , ‘-’, ‘’ ),
OXID,
?,
?,
ENCODE(?, ?)
FROM oxshops
WHERE NOT EXISTS (
SELECT OXVARNAME
FROM oxconfig
WHERE OXVARNAME = ?
AND oxconfig.OXSHOPID = oxshops.OXID
)’ with params [“contactFormRequiredFields”, “arr”, “a:1:{i:0;s:5:“email”;}”, “fq45QS09_fqyx09239QQ”, “contactFormRequiredFields”]:

SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION oxid62.ENCODE does not exist
FEHLER: (Demodaten)Probleme mit folgenden SQL Befehlen:

Der Befehl scheint aus source/migration/data/Version20180703135728.php zu stammen.

Kann ich das irgendwie überspringen? Ich will ja gar keine Daten migrieren. Deer Fehler tauch unabhängig von der Checkbox Demodaten importieren auf.

Mysql 8 ?
→ wird von der aktuellen OXID-Version nicht unterstützt
https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_encode

Mysql 8 ?

Ja, in der Tat. Danke.
So ein hochaktives Forum ist auf jeden Fall ein starkes Argument FÜR oxid.

Leider weiß ich nicht mehr, mit welchem Suchbgriff ich gestartet habe, dass mir 6.2 als default für die Composer-Installation angezeigt wurde.

Ich hoffe, ihre seht das konstruktiv: Sofern 6.2 nicht bereits abgehakt ist, sollte es möglich sein, die mysql-Version mit den DB-Parametern zu checken und in dem Fall geordnet auszusteigen.

Ich werds mal mit 6.3 oder 6.4 versuchen.

Danke.

Sorry, da muss ich mal lachen. 1-2 aktive Beiträge pro Tag maximal :rofl:

1 Like

OK, war wohl Zufall.

Nachtrag: Mysql 5.5 und 5.7 wird ja neben mariaDB bei den Systemvoraussetzungen angegeben. Das wird also wohl auch mit OXID 6.4 unt mysql 8.0 nicht funktionieren.

Dieses Versionskarussell wird uns noch alle ruinieren.

Genau um das auzuloten habe ich jetzt parallel mehrere php-Versionen mit FPM laufen und dabei diverse CMS-System und shops leer installiert, aber OXID ist das erste System, das mit mysql 8.0 nicht klar kommt.

Muss ich mich wohl doch mal mit Datenbank-Systemen näher befassen.

mysql 8 wird erst ab oxid 7 unterstützt.
https://oxidforge.org/en/release-plan
Allerdings gibt es für oxid 7 noch keine module …
Wenn du unbedingt bei oxid bleiben willst empfehle ich mysql 5.7 oder mariadb

mysql 8 wird erst ab OXID 7 unterstützt.

Das hat dann nach der heutigen learning-curve unter php 8.0 innerhalb von 30 Minuten geklappt, übrigens ohne irgendwelche Probleme mit den Privileges. Ist ein eigener db-user, die halbfertige Installtion von 6.2 bleibt erstmal parallel.

Danke für die Unterstützung.

Wenn du unbedingt bei OXID bleiben willst empfehle ich mysql 5.7 oder mariadb

ich bin derzeit freiberuflich als Entwickler unterwegs. Meine guten Tage als shopbetreiber mit einem selber proprietär entwickelten System liegen mehr als 10 Jahre zurück. Mir ist ein Auftraggeber aus der Reisebranche wegen Corona weggefallen und jetzt überlege ich,was ich mache.

Nochmals danke für die Hilfe und alles Gute.

Falls ich noch rausfinde, wo genau die von den Scripten in migration/data/ verursachten probleme herkommen, gebe ich nochmal kurz feedback. So richtig kann ich nämlich nicht glauben, dass mysql8.0 nicht abwärtskompatibel ist. Allerdings sehe ich keine Möglichkeit, mit vertretbarem Zeitaufwand unter ubuntu zwei DB-server parallel laufen zu lassen. Wäre wohl theoretisch machbar, ich bleib aber lieber erstmal bei 8.0

Die sind zum Glück in Entwicklung. Für PayPal und PayPal Plus wird es wohl in Zukunft ein gemeinsames Modul geben und das Amazon Pay Modul wird von OXID eSales anscheinend federführend übernommen.

Super :slight_smile:

Daran schuld könnte die Composer Version sein mit welcher Du das Shop Projekt vorab vorbereitest hast. Dort ein Downgrad auf Composer Version 1 durchführen, das vendor Verzeichnis neu erstellen lassen über Composer 1 und die Dateien im source Verzeichnis bei den Nachfragen überschreiben lassen. Bezieht sich auf die 6.2 Serie.

Das habe ich nochmal versucht, hier tauchte dann als Fehlermeldung auf:

Fehler beim Ausführen des Kommandos ‘Migration’. Returncode: ‘0’.
Das Kommando gibt folgende Meldung zurück:

Package “ocramius/proxy-manager” is not installed
FEHLER: (Demodaten)Probleme mit folgenden SQL Befehlen:

und beim versuch, dies nachzuladen

  • ocramius/proxy-manager 2.13.0 requires composer-runtime-api ^2.1.0 → no matching package found.

also composer 2.

Ich mache hier einen cut, 6.2 ist einfach zu alt.
Vielleicht versuche ich das morgen nochmal mit 6.4.

Vielen Dank für die Ratschläge.

→ The ENCODE() and DECODE() functions are deprecated in MySQL 5.7, and should no longer be used. Expect them to be removed in a future MySQL release.
https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html

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