Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
MySQL Error 1135
#1
Hallo,

seit einiger Zeit bekomme ich vermehrt folgende Fehlermeldung beim Aufrufen meines Forums bzw. beim Wechseln zwischen Forumsseiten.

[Bild: http://travel.4apc.de/mybberror.png]

Dies tritt recht unregelmäßig auf, so dass man leider nicht sagen kann bei welcher Funktion dies genau passiert.

Ein googlen nach dieser Fehlermeldung läßt darauf schließen, dass der MySQL Server nicht optimal konfiguriert ist. Mein Problem ist, dass in meinem Forum max. 20 gleichzeitige User online sind.

Dazu läuft das Forum auf einem vServer mit 1024MB RAM garantiert, damit sollten eigentlich keine Speicherprobleme auftauchen.

Eingesetzte MySQL Version ist 4.0.18, PHP 4.3.4 .

Habt ihr irgendwelche Konfigurationsvorschläge um dieses Problem zu lösen?

Vielen Dank schonmal im voraus,
Dyers Eve

PS: Hier der Link zum Forum: http://forum.4allplayers.org
Through The Never
#2
Führe mal das Skript MySQLTuner aus. Dieses sollte dir in der Ausgabe die Probleme aufzeigen.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#3
Vielen Dank Michael für den Link,

ich habe auch gleich etwas "herumexperimentiert". Viele Sachen konnte ich fixen und das Forum fühlt sich etwas schneller an nachdem ich einige Variablen hinzugefügt habe.

Eine Sache wird aber jedes Mal bemängelt ( mal abgesehen von der MySQL Version ;-) ) und das sind die JOINS die ohne Indexes ausgeführt werden und das Anlegen von Temp-Tables auf der HDD (33%) .

Sind diese beiden Sachen normal, denn ein Verstellen der Größen

join_buffer_size ( momentan 2M)
tmp_table_size (momentan 32M)
max_heap_table_size (momentan 32M)

bringt keine Veränderung.

Mfg, Dyers Eve
Through The Never
#4
Exportiere bitte nur die Struktur deiner Datenbank per phpMyAdmin o.Ä. und schicke den Dump an support[at]mybboard[punkt]de.

Beachte, dass die Hinweise des Skripts erst dann ernstzunehmen sind, wenn der MySQL-Server mindestens 24 Stunden läuft.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#5
Stimmt, hab gerade mal wieder nach geschaut und tatsächlich ist ein weiteres Problem hinzugekommen, mal sehen, wie es morgen aus sieht.

Mfg, Dyers Eve

PS: E-Mail ist raus.
Through The Never
#6
Bei dir fehlen tatsächlich einige Indexe. Ich melde mich deshalb später nochmal.

Edit: Führe bitte diese Queries in der Datenbank aus:
Code:
ALTER TABLE `mybb_adminsessions` DROP INDEX `uid`;
ALTER TABLE `mybb_adminsessions` DROP INDEX `dateline`;
ALTER TABLE `mybb_announcements` ADD KEY fid (fid);
ALTER TABLE `mybb_attachments` ADD KEY posthash (posthash);
ALTER TABLE `mybb_attachments` ADD KEY pid (pid, visible);
ALTER TABLE `mybb_attachments` ADD KEY uid (uid);
ALTER TABLE `mybb_banned` ADD KEY uid (uid);
ALTER TABLE `mybb_banned` ADD KEY dateline (dateline);
ALTER TABLE `mybb_captcha` ADD KEY imagehash (imagehash);
ALTER TABLE `mybb_captcha` ADD KEY dateline (dateline);
ALTER TABLE `mybb_events` ADD KEY daterange (starttime, endtime);
ALTER TABLE `mybb_events` ADD KEY private (private);
ALTER TABLE `mybb_moderatorlog` ADD KEY tid (tid);
ALTER TABLE `mybb_moderators` ADD KEY uid (uid, fid);
ALTER TABLE `mybb_pollvotes` ADD KEY pid (pid, uid);
ALTER TABLE `mybb_posts` ADD KEY tid (tid, uid);
ALTER TABLE `mybb_posts` ADD KEY uid (uid);
ALTER TABLE `mybb_posts` ADD KEY dateline (dateline);
ALTER TABLE `mybb_privatemessages` DROP INDEX `uid`;
ALTER TABLE `mybb_privatemessages` ADD KEY uid (uid, folder);
ALTER TABLE `mybb_reportedposts` ADD KEY fid (fid);
ALTER TABLE `mybb_reportedposts` ADD KEY dateline (dateline);
ALTER TABLE `mybb_reputation` ADD KEY uid (uid);
ALTER TABLE `mybb_reputation` ADD KEY dateline (dateline);
ALTER TABLE `mybb_sessions` ADD KEY `time` (`time`);
ALTER TABLE `mybb_sessions` ADD KEY uid (uid);
ALTER TABLE `mybb_threadratings` ADD KEY tid (tid, uid);
ALTER TABLE `mybb_threads` ADD KEY fid (fid, visible, sticky);
ALTER TABLE `mybb_threads` ADD KEY dateline (dateline);
ALTER TABLE `mybb_threads` ADD KEY lastpost (lastpost, fid);
ALTER TABLE `mybb_threads` ADD KEY firstpost (firstpost);
ALTER TABLE `mybb_threads` ADD KEY uid (uid);
ALTER TABLE `mybb_threadsubscriptions` ADD KEY uid (uid);
ALTER TABLE `mybb_threadsubscriptions` ADD KEY tid (tid,notification);
ALTER TABLE `mybb_users` DROP INDEX `lastvisit`;
ALTER TABLE `mybb_users` DROP INDEX `regdate`;
ALTER TABLE `mybb_users` ADD KEY usergroup (usergroup);
ALTER TABLE `mybb_users` ADD KEY `birthday` (`birthday`)

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#7
Ich habe die Queries ausgeführt, hier das Ergebnis:

[Bild: http://travel.4apc.de/mybbindex.png]

Danach habe ich nochmal eine Änderung vorgenommen und zumindest zeigt jetzt zum ersten Mal das Tool keine Fehler an, bis auf die nicht mehr ganz so aktuelle MySQL-Version.

Ich werde das Tool morgen Nacht nochmal ausführen um zu schauen wie es nach 24h aussieht.

Vielen Dank Michael Smile

Mfg, Dyers Eve
Through The Never
#8
Ich habe noch zwei weitere Index Probleme gefunden, bei

mybb_threadsread fehlte der Index "dateline" und mybb_threadviews hatte keine Index ich habe beide Indexe manuell nach deinem Vorbild hinzugefügt. Dies ist mir deshalb aufgefallen, weil ich heute morgen wieder 135 JOINS ohne Indexe hatte. Mal schauen, ob die Zahl nun endlich konstant bleibt.

Mfg, Dyers Eve
Through The Never
#9
Hallo zusammen,

bei mir (V 1.2!) zeigt der MySQLTuner seit gestern auch ein Problem mit den sog. Joins performed without indexes an. Es wird die Zahl 546 ausgeben und vorgeschlagen, die join_buffer_size auf > 128k zu setzen.

Wenn ich mir Michaels Vorschlag ansehe, bei den entsprechenden Tabellen die Keys bzw. Indizes (neu) zu setzen frage ich mich, warum wird das eigentlich notwendig? Sind diese Keys nicht automatisch von MyBB bei der Erstellung der Tabellen gesetzt oder gehen die durch irgendwelche Aktionen verloren? Wenn zweiteres, wie passiert so etwas und kann es verhindert werden?
viele Grüße
Jockl
übersetzte und eigene Plugins
#10
Dass Abfragen ausgeführt werden, die nicht auf die Indexe zurückgreifen, lässt sich leider nicht immer vermeiden. Plugins können ebenfalls dazu beitragen. Der vom MySQLTuner ausgegebene Wert umfasst die Anzahl der Abfragen seit dem Start des Datenbankservers. Wenn dieser schon länger läuft, ist das ein üblicher Wert.

Warum die Indexe verloren gegangen sind, weiß ich nicht. In Dumps sind diese enthalten, so dass bei einem Umzug auch keine Probleme entstehen dürften.

Ob alle Indexe existieren, kann nur manuell überprüft werden. Öffne die Datei install/resources/mysql_db_tables.php und schau dir die Queries zur Erstellung der einzelnen Tabellen an. Am Ende einer Abfrage gibt es Zeilen, die mit "KEY" beginnen. Diese Zeilen erstellen den danach genannten Index. In phpMyAdmin kannst du dir die Struktur einer Tabelle ansehen. Dort findest du auch Informationen zu den Indexen, die in der jeweiligen Tabelle gesetzt sind.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.