Incorrect key file with MySQL
Ich habe ein Problem mit einer InnoDB-Tabelle (Tabelle war ursprünglich MyISAM, wurde aber vor einiger Zeit in InndoB konvertiert). Ich versuche diese Abfrage auszuführen:
SELECT
posts.id,
posts.post_title
FROM
rss_posts AS posts
INNER JOIN rss_feeds AS feeds ON posts.blog_id=feeds.id
WHERE
feeds.blog_language=1
ORDER BY
posts.post_date_db DESC
LIMIT
10;
Ich erhalte diesen Fehler:
Query : SELECT posts.id,posts.post_title FROM rss_posts AS posts INNER JOIN vw_rss_feeds AS feeds ON posts.blog_id=feeds.id WHER...
Error Code : 126
Incorrect key file for table '/tmp/#sql_7375_0.MYI'; try to repair it
Ich kann die betroffenen Tabellen nicht reparieren. Ich habe jedoch einen Check für beide Tabellen durchgeführt und sie scheinen in Ordnung zu sein. Ich habe auch eine OPTIMIERUNG für beide Tabellen durchgeführt und die Tabellen auch neu erstellt, indem ich die folgenden Schritte ausführe.
INSERT INTO new_table SELECT * FROM old_table;
Ich habe dann die neue Tabelle in den alten Tabellennamen umbenannt ..... aber ich habe NOCH dieses Problem.
Um herauszufinden, welche Tabelle den Fehler verursacht hat, habe ich den Code in der Abfrage entfernt, der auf die Tabelle "rss_feeds" verweist. Daher sieht die Abfrage jetzt so aus.
SELECT
posts.id,
posts.post_title
FROM
rss_posts AS posts
ORDER BY
posts.post_date_db DESC
LIMIT
10;
Das hat funktioniert
So liegt das Problem in der Tabelle rss_feeds.
So dachte ich dann, ich würde die Tabelle wieder in MyISAM konvertieren und eine Reparatur ausführen und dann wieder in InnoDB konvertieren ..... dies funktionierte vorübergehend, es war wieder normal .... dann brach es wieder ..... reparierte es wieder, brach wieder .... jetzt scheint die Reparatur überhaupt nicht mehr zu funktionieren.
Nun, ich weiß, ich weiß ...... Ich habe dieses Problem bereits bei Google gesucht ...... Mir ist aufgefallen, dass die MEHRHEIT der Zeit, in der das Problem auftritt, uns nicht genügend Speicherplatz im MySQL-temporären Verzeichnis zur Verfügung stellt .... aber ich habe bereits den Host dazu gebracht, das Temp-Verzeichnis auf etwas mit VIEL mehr Speicherplatz zu ändern und das Problem bleibt weiterhin bestehen.
Ich denke, der HOST ist schuld & es ist NOCH ein Problem mit dem temporären Verzeichnis; Warum? Denn nachdem ich es wieder zum Laufen gebracht hatte, fing ich wieder an, Daten zur Tabelle rss_posts hinzuzufügen und daher würde JOIN LARGER werden und MySQL würde wieder keinen Platz mehr haben ... was denkst du?