Errcode: 17 tritt nach Neuinstallation schon wieder auf...

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

Errcode: 17 tritt nach Neuinstallation schon wieder auf...

Postby Rosebud23 » 27. March 2008 00:36

Nun haben wir schon neu installiert und es geht schon wieder los...

Mein Sohn hat mir freundlicherweise ein eigenes Wikipedia installiert auf meinem Rechner. Vor einiger Zeit tauchte dann beim Abspeichern von Fotos folgende Fehlermeldung auf:

Es gab einen Syntaxfehler in der Datenbankabfrage. Die letzte Datenbankabfrage lautete:
(SQL-Abfrage versteckt)
aus der Funktion "Database::fieldExists". MySQL meldete den Fehler "1: Can't create/write to file 'C:\xampp\mysql\data\#sql_1e8_0.MYI' (Errcode: 17) (localhost)".


Ich habe den Fehler in einem php-sql-Forum vorgestellt. Dort riet man uns, die Tabellen zu reparieren. Hat nicht geholfen, der Fehler trat dann immer häufiger auf, ich konnte schließlich keine Artikel mehr suchen, das ganze wiki funktionierte nicht mehr. Auch ein Versuch, die angemeckerte Datei einfach mal zu löschen, hat nur kurze Zeit geholfen.

Mein Sohn hat schließlich das Ganze neu installiert und es lief wunderbar.
Bis ich wieder angefangen habe, Fotos hochzuladen. Nach ein paar Fotos ging es nun wieder los. *grrrrr*!!!

Kann es sein, dass es etwas mit den Fotos zu tun hat? Dann kann ich aber das ganze Wikipedia vergessen, denn ohne Fotos ist es für mich wertlos.

Tut mir leid, ich selbst bin nur der "user", mein Sohn programmiert aber selbst in php, der kann also alles umsetzen, was hier jemand dazu rät. Er kann sich aber auf diese Meldung auch keinen Reim machen. Bitte nicht einfach sagen: ja, mach dich selbst erstmal schlau, bevor du hier eine Frage stellst. Ich habe auf jeden Fall das Forum nach der Fehlermeldung durchsucht, habe aber kein Ergebnis dazu bekommen. Habe die Fehlermeldung mal gegoogelt, der Fehler tritt wohl auch auf "richtigen" Servern auf, mal meint jemand, es sei der Virenschutz (den haben wir auch mal abgeschaltet, hat nichts gebracht), andere meinen, mal soll halt den Server immer mal neu starten, wieder andere meinen, man soll einfach auf Linux wechseln, manche sprechen sogar von einem Bug in MySQL. Wie kann ich denn jetzt weiterarbeiten mit meinem Wiki? Und wieso entsteht es immer durch die Fotos? Oder wäre der Fehler jetzt so oder so wieder aufgetreten?
Last edited by Rosebud23 on 27. March 2008 16:50, edited 1 time in total.
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40

Postby Wiedmann » 27. March 2008 00:58

Ein Virenscanner aktiv, der dieses Verzeichnis überwacht?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Rosebud23 » 27. March 2008 11:22

Tut mir leid, das ist es nicht - ich zitiere mich selbst:

es sei der Virenschutz (den haben wir auch mal abgeschaltet, hat nichts gebracht)


Wenn man den Fehler mal googelt, stellt man fest, dass er nicht selten zu sein scheint. Da laufen plötzlich Onlineshops nicht mehr mit dieser Fehlermeldung. (Das ist dann richtig schlimm!!!) Da wird dann empfohlen, sich an den Provider zu wenden, der soll mal den .tmp-Ordner löschen... Das scheint wirklich das Einzige zu sein,was hilft.

Bei MySQL

http://bugs.mysql.com/bug.php?id=9551

wird diskutiert, ob es sich nicht um einen bug der Version 5.03 handeln könnte, man kommt dann aber zu dem Schluss, dass McAfee Schuld war und hat den report geschlossen.

Vorher wird aber eigentlich ziemlich klar erklärt, was Fehler #17 bedeutet, nämlich, dass ein file schon existiert und nicht überschrieben werden kann:

>c:\mysql\bin>perror 17
>OS error code 17: File exists

>and Windows not permits to write over existing file, then please
>stop the server, delete that file in c:\temp and try again.

Yes of course, one can stop the server, delete the file, restart, then the error recurs.


Es hat dann sogar ein Update dazu gegeben, weil es wohl doch ein bug war:

[28 Oct 2005 9:01] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

http://lists.mysql.com/internals/31595


Das war aber schon 2005, also weit bevor ich mein Wiki bekommen habe. Von daher dürfte der bug ja wohl in meiner Version nicht mehr vorhanden sein. Und vor allem: sie lief ja immer anstandslos!

Virenschutz s.o., mal soll's der Norton, mal McAfee Schuld sein, ich benutze G-Data und das schon immer, die Probleme traten wie gesagt früher nicht auf. Treten aber jetzt auch auf, wenn ich G-Data versuchsweise ganz abschalte. Das Einzige, was hilft, ist tatsächlich von Hand Dateien zu löschen.

Mein Sohn bietet mir nun an, eine batch-Datei zu schreiben, die immer bei Neustart die .tmp-Dateien löscht wenn mySQL das nicht vernünftig schafft. Das Problem ist aber doch damit nicht gelöst, denn der Fehler tritt ja erst im Laufe einer Sitzung auf. Also wenn, dann müßten die doch wohl kontinuierlich gelöscht werden. Nach meinem laienhaften Verständnis müßte das aber doch eigentlich MySQL selbst machen? Und über weite Strecken tut es das ja wohl auch? (Nach der Neuinstallation habe ich tagelang viel in Wiki eingegeben und hatte überhaupt keine Probleme, auch das spricht m.E. gegen die These vom Virenschutz, oder?) Vielleicht müßte er etwas einbauen, dass die .tmp-Dateien löscht, wenn der Fehler auftritt. Aber irgendwie kann es das doch nicht sein...kommt mir so vor wie vor Jahrzehnten mein uralter R4, wo das Zündschloss nicht mehr funktionierte und wir dann halt einen Schalter eingebaut haben, mit dem wir dann das Auto angelassen haben...hat der Polizei merkwürdigerweise gar nicht gefallen...

Wieso tritt der Fehler jetzt erst auf, und nicht schon früher? Der einzige Unterschied zu früher ist, dass ich ein neues Motherboard incl. Processor bekommen habe und der Rechner völlig neu installiert wurde. Ich erwähne dies nur, weil jemand, der um Rat gefragt wird möglichst so viele Informationen wie möglich haben sollte.
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40

Postby Wiedmann » 27. March 2008 12:37

MySQL meldete den Fehler "1: Can't create/write to file 'C:\xampp\mysql\data\#sql_1e8_0.MYI' (Errcode: 17) (localhost)".

Da fällt mir ein (hab wohl ein Sieb im Kopf ;-) ), dass ich zu diesem Fehler (Error: 17) auch einen Bug bei MySQL laufen hab. Ohne wirklichliches Ergbeniss. Das die ihr Threading nicht im Griff haben, scheint keinen zu Interessieren. Jedenfalls kann ich hier MySQL mit einem simplen PHP Script zum Absturz bringen. Nur im Konsolenclient direkt, lässt sich das Problem seit dem letzten Update nicht mehr reproduzieren.

Ergo mache ich hier direkt auf dem Rechner nur noch Sachen, wo nicht soviel Abfragen in schneller Abfolge erfolgen (bzw. wo MySQL keine/wenige temp-Tabellen erstellen muss).

Der einzige Unterschied zu früher ist, dass ich ein neues Motherboard incl. Processor bekommen habe

Genau damit hatte bei mir das Problem auch angefangen. Beim Umstieg von einem Single- zu einem Hyperthread-Prozessor.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Nobbie » 27. March 2008 14:33

Ich würde empfehlen, das ganze mal in einem Linux Umfeld zu installieren. Diese Produkte (MySQL, Apache, PHP usw.) werden unter Linux entwickelt und sind dort meistens stabiler als ihre Windows-Pendanten.

Das ist kein großer Akt und ich denke mir, dass es dann fehlerfrei läuft.
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Postby Rosebud23 » 27. March 2008 16:18

@Wiemann

Ergo mache ich hier direkt auf dem Rechner nur noch Sachen, wo nicht soviel Abfragen in schneller Abfolge erfolgen (bzw. wo MySQL keine/wenige temp-Tabellen erstellen muss).


Ich versuche das jetzt mal in mein noob-Weltbild zu übersetzen: Also hängt es tatsächlich mit den Fotos zusammen? Die lade ich Schlag auf Schlag hoch und füge sie in meine Artikel ein. Das überfordert MySQL?

Was würde das jetzt für mein praktisches Leben bedeuten, denn ich habe ja nur den Rechner wo Appache als "localhost" läuft. Würde mir demnach eine von meinem Sohn geschriebene batch-Datei wirklich helfen, die dann nicht automatisch beim Start sondern nach Bedarf angeworfen werden könnte? Muss also wirklich so ein kleiner Prä-Abiturient sich drum kümmern weil es MySQL auf deutsch gesagt am A.... vorbei geht?

@Nobbie

Ich habe wie gesagt keine Ahnung, habe aber mal als Faktotum in einer kleinen Software-Schmiede gearbeitet. Von daher (und von Wikipedia) weiss ich, dass SQL einfach eine Sprache ist und unser Chef immer abgelehnt hat in SQL zu arbeiten für seine Warenwirtschaft, wo große Datenmengen zuverlässig gehandelt werden müssen, er hat sich lieber auf C++/Borland verlassen. Ist wohl nicht so einfach wie SQL, dafür läuft es...

Auch PHP ist einfach eine Sprache (das weiss ich von meinem Sohn, der selbst Homepages baut und von Wikipedia), in der moderne Homepages geschrieben werden, hat wohl html abgelöst.

Über Apache kann ich nichts sagen. Auf jeden Fall wird genau dieser Fehler auch von Linux-Usern berichtet wenn man ihn googelt. Außerdem läuft aber wohl das komplette "echte" Wikipedia auch in dieser Konstellation. (Und das versteh ich absolut nicht: bekommen die diesen Fehler nicht? Ich hatte auf jeden Fall dort noch nie Probleme sowohl Fotos als auch andere Beiträge abzuspeichern. Oder kann man es doch nicht vergleichen?)

Ich sehe irgendwie auch gar nicht ein, dass ich meinen Sohn jetzt auch noch dazu bringen soll, mir ein "Linux Umfeld" auf meinem Rechner zu installieren, der normalerweise sehr schön stabil auf WindowsXP läuft. Ich käme auch gar nicht mit Linux klar, denn ich bin wie gesagt nur ein ganz simpler user, der das einfach nur alles problemlos benutzen will. Und Linux ist ja wohl mehr für Leute, die schon eher einen Plan haben, was sie machen.
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40

Postby Xardas der Dunkle » 27. March 2008 16:53

[..] hat wohl html abgelöst.

Neee, HTML brauch man immer noch.

Mal als Erklärung:

SQL:
Abfragesprache für Datenbanksysteme (MySQL, MS Access, ...)

MySQL:
Ein Datenbanksystem das besonders im Internetbereich gerne verwendet wird.

C/C++:
Eine Programmiersprache hat mit SQL gar nix am Hut ;). Darin werden Programme geschrieben (wie zB. die apache.exe).

HTML:
Auszeichnungsscriptsprache, wird verwendet um Text zu formatieren.

PHP:
Serverseitige Scriptsprache wird verwendet um Benutzereingaben zuverarbeiten und dynamische Daten (zB. welche die aus einer Datenbank kommen) auszugeben (dafür wird dann wieder HTML benutzt ;)).

Zum Fehler:
Code: Select all
C:\xampp\mysql\data\#sql_1e8_0.MYI

Bei so einem Dateinamen könnte ich mir auch gut vorstellen das der Windows nicht in den Kram passt. (Was hat die # da zusuchen? o_Ô.)

Bei mir existieren sowelche Dateien nicht mal. Die MYI's liegen bei mir in den Unterordnern der einzellnen Datenbanken.
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Postby Wiedmann » 27. March 2008 17:04

Bei mir existieren sowelche Dateien nicht mal.

Doch, im temp- oder data-Verzeichnis, sobald MySQL eine temporäre Tabelle anlegt. z.B. bei einem "USE `mysql`; SHOW FULL COLUMNS FROM `user`;". Die wird dann nach der Abfrage automatisch wieder gelöscht.

Bei so einem Dateinamen könnte ich mir auch gut vorstellen das der Windows nicht in den Kram passt. (Was hat die # da zusuchen?

Da hat Windows kein Problem. Aber MySQL, weil das in einem Thread diese Datei noch offen hält, und in einem paralellen Thread die Datei erneut erzeugen will, anstatt das vorhandene Handle zu übernehmen, oder zu warten bis der 1. Thread fertig ist.

(.oO aber von Linux her kommene Programmierer, haben es eh nicht so mit der thread-safe Programmierung...)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

MySQL Support - kannste vergessen...

Postby Rosebud23 » 27. March 2008 17:06

Habe übrigens gerade mal bei MySQL selbst nach dem Fehler gesucht. Da taucht er in verschiedenen Ausformungen immer wieder auf. Die Antworten sind - wenn überhaupt - lapidar. Oft gibt es überhaupt keine Antwort....
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40

Wir probieren's jetzt mit der Batch-Datei...

Postby Rosebud23 » 28. March 2008 15:57

Wir haben jetzt mal eine Sicherungkopie gemacht und mein Sohn hat eine Batch-Datei geschrieben, mit der ich auf Knopfdruck alle Dateien mit der angemeckerten Endung im Ordner "data" löschen kann. Schaun wir mal!

Werde dann mal wieder anfangen, Fotos hochzuladen...

Übrigens handelt es sich tatsächlich um einen Multi-Thread-Processor.
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40

Löschen reicht nicht...

Postby Rosebud23 » 29. March 2008 19:48

Kurzer Zwischenstand:

Gestern tauchte der Fehler im Verzeichnis "tmp" auf, habe die angemeckerte Datei händisch gelöscht, dann auch die übrigen (waren noch zwei), später das ganze Verzeichnis. Geändert hat sich dadurch nur, dass mein Wikipedia einen Bearbeitungskonflikt anzeigte, das Speichern aber weiterhin mit der Fehlermeldung verweigerte.

Als ich dann nach einem Neustart des Rechners den Artikel aufrief zeigte sich, dass doch die neueste Version korrekt gespeichert worden war.

"Wir" haben jetzt im Bios das Multi-Threading von dem Processor mal abgestellt. Vielleicht hilft das ja....
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40

Wiki läuft! (toi toi toi...)

Postby Rosebud23 » 30. March 2008 18:45

Habe nun mit dem umgestellten Bios einen lange Arbeitssitzung hinter mir, in der ich auch jede Menge Fotos hochgeladen habe. Normalerweise hätte der Fehler jetzt schon wieder auftreten müssen... Isser abber nich... Man könnte also zu einem vorsichtigen Optimismus Anlass sehen...
Karin
Rosebud23
 
Posts: 13
Joined: 26. March 2008 23:40


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 5 guests