MySQL Fehlermeldungen

Aus VMS1 Tutorial

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(weitere fehler ergänzt)
Zeile 3: Zeile 3:
Diese Fehlermeldungen erhält man bspw. bei der Benutzung des Verwaltungstools [[PhpMyAdmin]] oder über die [[PHP]]-Funktionen ''mysql_error()'' und ''mysql_errno()''.
Diese Fehlermeldungen erhält man bspw. bei der Benutzung des Verwaltungstools [[PhpMyAdmin]] oder über die [[PHP]]-Funktionen ''mysql_error()'' und ''mysql_errno()''.
-
= Häufige Fehlermeldungen =
+
== Häufige MySQL Fehlermeldungen ==
{| class="gallery"
{| class="gallery"
Zeile 9: Zeile 9:
! Code !! Fehlermeldung (englisch) !! Fehlermeldung (deutsch)
! Code !! Fehlermeldung (englisch) !! Fehlermeldung (deutsch)
|-
|-
-
| 1040 || Too many connections || Zu viele Verbindungen
+
| 1040 || [[MySQL_Fehlermeldungen#1040|Too many connections]] || Zu viele Verbindungen
|-
|-
-
| 1044 || Access denied for user ' ''U'' ' to database ' ''D'' ' || Benutzer ' ''U'' ' hat keine Zugriffsberechtigung für Datenbank ' ''D'' '
+
| 1044 || [[MySQL_Fehlermeldungen#1044 / 1045|Access denied for user ' ''U'' ' to database ' ''D'' ']] || Benutzer ' ''U'' ' hat keine Zugriffsberechtigung für Datenbank ' ''D'' '
|-
|-
-
| 1045 || Access denied for user ' ''U'' ' (using password: ''P'') || Benutzer ' ''U'' ' hat keine Zugriffsberechtigung (verwendetes Passwort: ''P'')
+
| 1045 || [[MySQL_Fehlermeldungen#1044 / 1045|Access denied for user ' ''U'' ' (using password: ''P'')]] || Benutzer ' ''U'' ' hat keine Zugriffsberechtigung (verwendetes Passwort: ''P'')
|-
|-
-
| 1046 || No database selected || Keine Datenbank ausgewählt
+
| 1046 || [[MySQL_Fehlermeldungen#1046|No database selected]] || Keine Datenbank ausgewählt
|-
|-
-
| 1054 || Unknown column ' ''SP'' ' in ' ''(field list/where clause)'' ' || Unbekanntes Tabellenfeld ' ''SP'' ' in ''(field list/where clause)''
+
| 1054 || [[MySQL_Fehlermeldungen#1054|Unknown column ' ''SP'' ' in ' ''(field list/where clause)'' ']] || Unbekanntes Tabellenfeld ' ''SP'' ' in ''(field list/where clause)''
|-
|-
| 1062 || Duplicate entry ' ''Y'' ' for key ''X'' || Doppelter Eintrag ' ''Y'' ' für Schlüssel ''X''
| 1062 || Duplicate entry ' ''Y'' ' for key ''X'' || Doppelter Eintrag ' ''Y'' ' für Schlüssel ''X''
|-
|-
-
| 1136 || Column count doesn't match value count at row ''X'' || Anzahl der Felder stimmt nicht mit der Anzahl der Werte in Zeile ''X'' überein
+
| 1136 || [[MySQL_Fehlermeldungen#1136|Column count doesn't match value count at row ''X'']] || Anzahl der Felder stimmt nicht mit der Anzahl der Werte in Zeile ''X'' überein
|-
|-
| 1146 || Table ' ''DB.T'' ' doesn't exist || Tabelle ' ''DB.T'' ' existiert nicht
| 1146 || Table ' ''DB.T'' ' doesn't exist || Tabelle ' ''DB.T'' ' existiert nicht
Zeile 27: Zeile 27:
| 1149 || You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use || Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen
| 1149 || You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use || Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen
|-
|-
-
| 1267 || Illegal mix of collations ''(latin1_german2_ci,IMPLICIT)'' and ''(latin1_swedish_ci,IMPLICIT)'' for operation '=' || Unerlaubte Mischung von Sortierreihenfolgen ''(latin1_german2_ci,IMPLICIT)'' und ''(latin1_swedish_ci,IMPLICIT)'' für Operation '='
+
| 1267 || [[MySQL_Fehlermeldungen#1267|Illegal mix of collations ''(latin1_german2_ci,IMPLICIT)'' and ''(latin1_swedish_ci,IMPLICIT)'' for operation '=']] || Unerlaubte Mischung von Sortierreihenfolgen ''(latin1_german2_ci,IMPLICIT)'' und ''(latin1_swedish_ci,IMPLICIT)'' für Operation '='
|}
|}
 +
 +
== 1040 ==
 +
 +
Die Anzahl der maximal möglichen Verbindungen wurde erreicht. Wenn man Zugriff auf die Konfiguration hat, kann man diese Anzahl mit der Option ''max_connections'' einstellen, allerdings kann ein zu hoch angelegter Wert zu einer schlechten Performance führen, da dann die Ressourcen des Servers komplett ausgenutzt werden. Es empfiehlt sich, die Ursache für die vielen Verbindungen zu finden und die Konfiguration komplett zu optimieren, bspw. mit dem Skript [[Tuning-primer.sh]]. Wird die Webseite auf einem kleinen [[Webspace]] Paket betrieben, hat aber viele aktive Benutzer, kann es nötig sein, auf ein größeres Paket oder einen [[Server#virtueller_Server|vServer]] zu wechseln.
 +
 +
== 1044 / 1045 ==
 +
 +
Die Angaben zur Datenbankverbindung in der Datei [[/Lib/Functions|/lib/functions.lib.php]] prüfen!
 +
 +
== 1046 ==
 +
 +
Sollte im VMS nicht vorkommen, da die Datenbank im Aufruf von [[Liste_der_Funktionen_%28PHP%29#db_connect_.28_.29|db_connect()]] ausgewählt wird. Will man in PHPMyAdmin einen Datenbankbefehl ausführen, muss man meistens zuvor eine Datenbank aus der Auswahlliste wählen!
 +
 +
== 1054 ==
 +
 +
In einer MySQL Datenbankanfrage wird ein Spaltenname verwendet, der in der Tabelle nicht existiert. Ursachen könnten eine unvollständige Installation eines [[Addon]]s sein, oder ein Addon ist für eine ältere bzw. neuere [[Version]] des VMS geschrieben.
 +
 +
== 1136 ==
 +
 +
Diese Meldung wird häufig durch ''INSERT INTO'' Anweisungen während der Installation eines Addons ausgelöst, welches auf einer älteren Version des VMS basiert. Ursache ist das Fehlen der Spaltennamen, es werden nur die einzutragenden Werte aufgelistet:
 +
 +
INSERT INTO `tabelle` VALUES ( .... );
 +
 +
Die bessere Variante hat zuerst eine Auflistung der Spaltennamen, und dann die Auflistung der Werte:
 +
 +
INSERT INTO `tabelle` ( .... ) VALUES ( .... );
 +
 +
== 1267 ==
 +
 +
Man sollte für alle Textfelder in einer Datenbank die selbe [[MySQL#Kollation|Sortierreihenfollge]] einstellen.

Version vom 12:57, 28. Jul. 2012

Fehlermeldungen des MySQL Servers bestehen aus einem Fehlercode und einem kurzen Text, der den Fehler beschreibt.

Diese Fehlermeldungen erhält man bspw. bei der Benutzung des Verwaltungstools PhpMyAdmin oder über die PHP-Funktionen mysql_error() und mysql_errno().

Inhaltsverzeichnis

Häufige MySQL Fehlermeldungen

1040

Die Anzahl der maximal möglichen Verbindungen wurde erreicht. Wenn man Zugriff auf die Konfiguration hat, kann man diese Anzahl mit der Option max_connections einstellen, allerdings kann ein zu hoch angelegter Wert zu einer schlechten Performance führen, da dann die Ressourcen des Servers komplett ausgenutzt werden. Es empfiehlt sich, die Ursache für die vielen Verbindungen zu finden und die Konfiguration komplett zu optimieren, bspw. mit dem Skript Tuning-primer.sh. Wird die Webseite auf einem kleinen Webspace Paket betrieben, hat aber viele aktive Benutzer, kann es nötig sein, auf ein größeres Paket oder einen vServer zu wechseln.

1044 / 1045

Die Angaben zur Datenbankverbindung in der Datei /lib/functions.lib.php prüfen!

1046

Sollte im VMS nicht vorkommen, da die Datenbank im Aufruf von db_connect() ausgewählt wird. Will man in PHPMyAdmin einen Datenbankbefehl ausführen, muss man meistens zuvor eine Datenbank aus der Auswahlliste wählen!

1054

In einer MySQL Datenbankanfrage wird ein Spaltenname verwendet, der in der Tabelle nicht existiert. Ursachen könnten eine unvollständige Installation eines Addons sein, oder ein Addon ist für eine ältere bzw. neuere Version des VMS geschrieben.

1136

Diese Meldung wird häufig durch INSERT INTO Anweisungen während der Installation eines Addons ausgelöst, welches auf einer älteren Version des VMS basiert. Ursache ist das Fehlen der Spaltennamen, es werden nur die einzutragenden Werte aufgelistet:

 INSERT INTO `tabelle` VALUES ( .... );

Die bessere Variante hat zuerst eine Auflistung der Spaltennamen, und dann die Auflistung der Werte:

   INSERT INTO `tabelle` ( .... ) VALUES ( .... );

1267

Man sollte für alle Textfelder in einer Datenbank die selbe Sortierreihenfollge einstellen.

Persönliche Werkzeuge