php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.06.2004, 16:10  
Gast
 
Beiträge: n/a
Standard [Erledigt] Nach Tabellenoptimierung kein Zugriff mehr möglich

Hallo, ich hab folgendes Problem:

ich wollte eine mysql-tabelle optimieren, um nicht mehr verwendete ID's zu entfernen.
Nun komm ich nicht mehr an meine Tabelle ran und krieg immer die Meldung

Code:
Can't open file: 'rechnungen.MYD'. (errno: 144)
Und in der Übersicht wird die Tabelle als "in Benutzung" geführt.

Neustart von mysql war ohne Erfolg.

Weiß jemand, wie man das wieder hinkriegt, ohne die Daten zu verlieren
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.06.2004, 16:27  
Gast
 
Beiträge: n/a
Standard Re: Nach Tabellenoptimierung kein Zugriff mehr möglich

Zitat:
Zitat von druckspecht
mysql-tabelle optimieren, ... Nun komm ich nicht mehr an meine Tabelle ran und krieg immer die Meldung
Code:
Can't open file: 'rechnungen.MYD'. (errno: 144)
Neustart von mysql war ohne Erfolg.
Weiß jemand, wie man das wieder hinkriegt, ohne die Daten zu verlieren
Wie es aussieht, hast Du die Daten schon verloren, falls der Task mit OPTIMIZE schon beendet ist/sein sollte.

Backup vorrätig?
  Mit Zitat antworten
Alt 04.06.2004, 16:49  
Gast
 
Beiträge: n/a
Standard

Backup hab ich nicht, weil es nur die Testversion war, um das Script zu testen, stand eh nur blabla drin.

Aber wenn das Script zum Einsatz kommt, dann stehen schon Daten drin, die wichtig sind, insofern wäre es gut zu wissen, wie man sowas ausbügeln kann (außer dem Backup, denn das ist ja auch nur die nicht-optimierte Tabelle).
  Mit Zitat antworten
Alt 04.06.2004, 17:16  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von druckspecht
Backup hab ich nicht, weil es nur die Testversion war, um das Script zu testen, stand eh nur blabla drin.
Wäre es zuviel verlangt, wenn man mal den SQL String sehen möchte?

Zitat:
Aber wenn das Script zum Einsatz kommt, dann stehen schon Daten drin, die wichtig sind, ...
Gute Idee, sowas mal als Trockentraining zu testen.

String her und auf lazydog (hoffentlich richtig geschrieben) u/o Guradia warten. SQL ist für mich noch Arbeit.
  Mit Zitat antworten
Alt 04.06.2004, 19:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Im moment kann ich nur sagen, dass mir sowas mit Regelmässigkeit bei einer Tabelle `usrOnline` geschieht, wenn ich den mysqld im Betrieb runterfahren muss.

Diese Tabelle lässt sich nach restart dann meist auch nicht mehr öffnen. Gag dabei ist, dass Optimize die Tabelle wieder flott macht. Obs mir dabei die Daten zerhaut, habe ich bislang keinen Gedanken dran verschwendet. Die Registratur für online befindliche User ist nach 5 Minuten ohnehin veraltet ^^
Guradia ist offline   Mit Zitat antworten
Alt 04.06.2004, 20:29  
Gast
 
Beiträge: n/a
Standard

@meikel:

Was den SQL-string angeht, so weiß ich nicht recht, welchen du meinst:

der Befehl ist

$sql = "OPTIMIZE TABLE 'rechnungen' ";

alles andere macht phpmyadmin.

Die Fehlermeldungen hätte ich gern komplett gepostet, aber zur Zeit funktionierts mal wieder ohne Probleme, sodass ich nun auch kein System dahinter entdecken kann.

Da ich diese Datensätze manuell mit phpmyadmin lösche,
sollte ich im Normalfall auch korrekte Befehle und SQL Strings zur Verfügung haben.

Daran und an dem "Trockentraining" sieht man, dass ich in dieser Richtung noch "Nachholebedarf" habe: ich kann mich eben nicht darauf verlassen, dass das, was ich zusammenprogge, auch 100%-ig läuft. :wink:
  Mit Zitat antworten
Alt 05.06.2004, 01:34  
Gast
 
Beiträge: n/a
Standard

Dringender Tip:
1. lock tables ... (mindestens Schreibschutz)
2. optimize table
3. unlock tables

MySQL müllt, wenn in der Struktur Spalten mit variabler Länge enthalten sind. Dann wird intern beim Update der Datensatz neu angelegt und die Quelle als gelöscht gekennzeichnet. Zusätzlich verwaltet MySQL die Tabellen im "page modus", dh. es werden nicht die paar "neuen" Bytes hinten ans File angehängt sondern sozusagen eine "neue Seite" angelegt, die langsam gefüllt wird.

Wenn MySQL so sagen wir mal 100 Pages angelegt hat, weil es in der Tabelle viele Veränderungen gab, isses möglich, daß 99% Müll sind. Wird eine solche Tabelle optimiert, ist es ratsam, die Tabelle zu sperren, damit mysql dabei nicht gestört wird. Optimize findet im Hintergrund statt.

Auf großen Kisten wird Optimize deshalb des nächtens per Crontab gestartet, nachdem die Applikation in einen "stand by" modus gefahren wurde.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zugriff über ID (Primary Key) Reen_Sc Datenbanken 5 23.07.2008 04:10
Zugriff mit session auf Ordner begrenzen Diego1978 PHP Tipps 2008 1 08.07.2008 06:38
Zugriff beschränken paper PHP Tipps 2008 9 04.05.2008 12:13
Direkten Zugriff auf Datenbank verhindern heyho PHP Tipps 2008 7 07.02.2008 11:41
Zugriff auf Objekte anderer Klassen nieselfriem PHP Tipps 2007 7 14.05.2007 12:48
Zugriff verweigert...? amenhotheb PHP Tipps 2006 4 11.07.2006 16:23
Zugriff auf postgresql-db mit php PHP Tipps 2006 6 25.01.2006 09:29
[Erledigt] Passwortabfrage für Zugriff auf MySql-Datenbank Datenbanken 1 08.01.2006 22:10
gleichzeitiger Zugriff auf 2 Datenbanken dh1sbg PHP-Fortgeschrittene 3 27.12.2005 12:41
Objektorientierter Zugriff auf Multidimensionale Arrays PHP-Fortgeschrittene 31 26.11.2005 21:46
Verzeichnis (Dateien) schützen aber per PHP zugriff zulassen Server, Hosting und Workstations 2 16.10.2005 10:13
Wie Ordner und Inhalt vor unberechtigten Zugriff schützen Riot PHP Tipps 2005-2 30 06.10.2005 21:18
Zugriff auf phpmyadmin PHP Tipps 2005 1 28.02.2005 18:41
Schutz mit htaccess, dennoch Zugriff seitens PHP PHP Tipps 2005 1 20.01.2005 10:52
[Erledigt] Letzter zugriff von Datei anzeigen PHP Tipps 2005 13 17.01.2005 18:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql optimize table sinnvoll, tabelle in benutzung nach update mysql, mysql optimize errno 144, php kein zugriff mehr, zugriff auf datenbank aber kein zugriff auf tabellen, mysql hintergrund optimize, mysql optimize table in den hintergrund, tabell backup schreibschutz php, mysql kein zugriff auf tabelle, mysql zugriff auf tabelle optimieren, druckspecht

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.