J3.x

J3.x:Doppelte Benutzernamen bereiten Probleme beim Update

From Joomla! Documentation

This page is a translated version of the page J3.x:Duplicate usernames cause update issue and the translation is 88% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎Ελληνικά

Bei einigen Webseiten die auf Joomla! 3.9.16 aktualisiert worden sind, kann es aufgrund von doppelten Benutzernamen zu einem Datenbankfehler kommen. Wenn das passiert, bitte nicht in Panik ausbrechen - das Update wurde fast vollständig durchgeführt und funktioniert wie gewohnt. Die fehlende Datenbankänderung kann gemäß den Anweisungen unten durchgeführt werden.

Berichtete Fehler

Benutzer erhalten einen Update-Fehler bezüglich einer fehlgeschlagenen Datenbankabfrage aufgrund eines doppelten Schlüssels in der Datenbank #__users bei einem Upgrade von Joomla 3.9.15 oder älter.

Joomla 3.9.16 Upgrade Error

Betroffene Versionen

Allgemeine Informationen

Das betrifft nur die Joomla! Version(en): 3.9.16

Was ist der Grund

Deine Webseite hat mehr als einen Benutzer in der #__users Tabelle mit demselben Benutzernamen, was insofern ein Sicherheitsproblem darstellt, als dass der falsche Kontoinhaber auf das falsche Konto zugreifen kann.

Wie der Fehler zu lösen ist

Man muss seine #__users Tabelle in der Datenbank überprüfen und alle doppelten Benutzernamen korrigieren, indem man entweder alte Benutzerkonten entfernt oder den Benutzernamen ändert, bis alle Benutzernamen eindeutig sind. Wenn man bereits auf 3.9.16 upgegradet hat, sollte man das «Datenbank reparieren» Tool ausführen, um das Upgrade abzuschließen (dieser Schritt ist nicht nötig, wenn die Überprüfung vor dem Upgrade bereits gemacht wurde).

Joomla ist nicht in der Lage, die richtige Aktion automatisch zu bestimmen und kann daher diesen Schritt nicht durchführen - er muss vom Eigentümer der Website durchgeführt werden.

Die folgende SQL-Abfrage kann in der Datenbank ausgeführt werden, um zu sehen, welche Benutzernamen doppelt vorhanden sind:

SELECT username FROM #__users GROUP BY username HAVING COUNT(*) > 1

One possible way to make resolving this simpler might be to remove all users who have never visited the site. Though this should be done with care, and ensure to backup the table first. After running this query, you can check again how many duplicate users you have.

DELETE FROM #__users WHERE lastvisitDate = "0000-00-00 00:00:00"