MySQL-Reorganisation
9 answers - 640 bytes -

Hi,
MySQL Datenbank unter Linux.
Wenn ich eine neue Schema anlege wird ein Verzeichnis angelegt, indem die Struktur der Tabellen abgelegt werden.
Beim entfernen der Schema wird dieses Verzeichnis ebenfalls entfernt.
Was mich interessiert ist, wo die Daten abegelgt werden, da nachdem ich die Schema entferne wird der Festplattenplatz nur um etwas verkleinert obwohlt ich in der Schema eine Menge von Daten gehabt habe. Langsam bekomme ich Platzproblem.
Gibt es einen Tool, mit dem ich auch die abgelgten Daten (zu den Schema entfernt wurde) entfernen kann und mit dem ich Platz optimisieren kann.
mfg,
Stasa
No.1 | | 759 bytes |
| 
Stasa Jerinic schrieb:
Hi,
MySQL Datenbank unter Linux.
Wenn ich eine neue Schema anlege wird ein Verzeichnis angelegt, indem die Struktur der Tabellen abgelegt werden.
Beim entfernen der Schema wird dieses Verzeichnis ebenfalls entfernt.
Was mich interessiert ist, wo die Daten abegelgt werden, da nachdem ich die Schema entferne wird der Festplattenplatz nur um etwas verkleinert obwohlt ich in der Schema eine Menge von Daten gehabt habe. Langsam bekomme ich Platzproblem.
Gibt es einen Tool, mit dem ich auch die abgelgten Daten (zu den Schema entfernt wurde) entfernen kann und mit dem ich Platz optimisieren kann.
die Daten des Schemas liegen in dem Verzeichnis.
InnoDB sich da etwas anders, verwendest du InnoDB?
No.2 | | 1342 bytes |
| 
Hallo Stasa Jerinic,
am Freitag, 8. September 2006 14:15 schriebst du:
Hi,
MySQL Datenbank uft unter Linux.
Wenn ich eine neue Schema anlege wird ein Verzeichnis angelegt,
indem die Struktur der Tabellen abgelegt werden. Beim entfernen der
Schema wird dieses Verzeichnis ebenfalls entfernt.
Was mich interessiert ist, wo die Daten abegelgt werden, da nachdem
ich die Schema entferne wird der Festplattenplatz nur um etwas
verkleinert obwohlt ich in der Schema eine Menge von Daten gehabt
habe. Langsam bekomme ich Platzproblem. Gibt es einen Tool, mit dem
ich auch die abgelgten Daten (zu den Schema entfernt wurde)
entfernen kann und mit dem ich Platz optimisieren kann.
Wie entfernst du denn die Datenbank?
Nicht mit drop database?
Bei mir sind die Daten sowohl unter Debian als auch unter SuSE in
einen Verzeichnis, dass den gleichen Namen gt wie die Datenbank.
Wenn ich die Datenbank mit drop database sche wird das gesamte
Verzeichnis mit Inhalt scht.
Wenn du Platzprobleme bekommst rde ich auf eher was anderes vermuten
als auf Datenbanken.
Wenn du dein System updatetest, sst du dann die Archive auf den
System oder scht du sie?
Mit freundlichen Gen
Stefan Bckmann
http://www.dr-brueckmann.com
<!-- <tags>, scripts; & more
No.3 | | 1561 bytes |
| 
Fri, Sep 08, 2006 at 03:03:19PM +0200, Sebastian Mendel wrote:
Stasa Jerinic schrieb:
Hi,
MySQL Datenbank unter Linux.
Wenn ich eine neue Schema anlege wird ein Verzeichnis angelegt, indem die Struktur der Tabellen abgelegt werden.
Beim entfernen der Schema wird dieses Verzeichnis ebenfalls entfernt.
Was mich interessiert ist, wo die Daten abegelgt werden, da nachdem ich die Schema entferne wird der Festplattenplatz nur um etwas verkleinert obwohlt ich in der Schema eine Menge von Daten gehabt habe. Langsam bekomme ich Platzproblem.
Gibt es einen Tool, mit dem ich auch die abgelgten Daten (zu den Schema entfernt wurde) entfernen kann und mit dem ich Platz optimisieren kann.
die Daten des Schemas liegen in dem Verzeichnis.
InnoDB sich da etwas anders, verwendest du InnoDB?
Z, oder?
Wenn der Platz weiterhin belegt bleibt, dann kann es eigentlich nur
innodb sein, hier bleibt der Platz im ibdata file leider vorhanden
und tools die Defragmentierung dieses Monsters kenne ich auch
keine.
Als ich das letzte Mal danach gefragt habe, war die Antwort analog zu
dumpen, , neu anlegen
Ich war Montag allerdings auf dem usergroup treffen in Hamburg und da
hat der Entwickler von Primebase XT seine Storage Engine vorgestellt,
das klang ganz interessant, wird aber wohl leider erst mit der Version
5.1 von mysql wohl stable werden.
Aber die Engine werde ich mal im Auge behalten, um vielleicht innodb
irgendwann doch noch mal los zu werden ;-)
Marcus
No.4 | | 981 bytes |
| 
Wenn der Platz weiterhin belegt bleibt, dann kann es eigentlich nur
innodb sein,
Vielleicht auch bin-log Dateien. Die liegen im
var-Verzeichnis und enden mit einer 6-stelligen Zahl.
Diese kann man mit dem SQL-Kommando "purge master logs to 'dateiname'"
entfernen. Bevor du das machst, lies aber bitte, was das ist und sei dir
sicher, dass du das willst.
hier bleibt der Platz im ibdata file leider vorhanden
und tools die Defragmentierung dieses Monsters kenne ich auch
keine.
optimize table
Aber das defragmentiert innodb nur, es gibt keinen Speicherplatz frei.
Anders als dump, drop, neu anlegen kann man bei innodb keinen
Speicherplatz freigeben.
Eine weitere (die dem Fragesteller jetzt aber nicht mehr hilft)
ist "innodb_one_file_per_table" (lautet evtl. anders). Damit
wird pro Tabelle eine innodb-Datei angelegt. Wenn diese Tabelle
wird, wird auch die Datei , was insgesamt vielleicht sparen kann.
No.5 | | 333 bytes |
| 
Stasa Jerinic:
>Beim entfernen der Schema wird dieses Verzeichnis ebenfalls entfernt.
Am Freitag, 8. September 2006 15:15 schrieb Stefan Brueckmann:
Wie entfernst du denn die Datenbank?
Nicht mit drop database?
Gegenfrage. Wie entfernt man denn ein Schema noch, wenn nicht mit DRP?
No.6 | | 968 bytes |
| 
Fri, Sep 08, 2006 at 03:27:43PM +0200, Dominik Klein wrote:
>Wenn der Platz weiterhin belegt bleibt, dann kann es eigentlich nur
>innodb sein,
Vielleicht auch bin-log Dateien. Die liegen im
var-Verzeichnis und enden mit einer 6-stelligen Zahl.
Diese kann man mit dem SQL-Kommando "purge master logs to 'dateiname'"
entfernen. Bevor du das machst, lies aber bitte, was das ist und sei dir
sicher, dass du das willst.
Und ob er das binlog aktiv hat.
Aber Logfiles sind auch ein Thema, die Teile richtig gross
werden, wenn sie nicht gepurged werden.
Aber was soll die ganze Raterei, guck doch einfach in dein mysql
Verzeichnis rein und schau nach, wo die Dateien sich verstecken!
Im Zweifel einfach den eines ls -lah in /var/lib/mysql/ hier
posten, irgendjemand wird schon wissen woher die grossen Dateien kommen
und was man dagegen eventuell tun kann.
Marcus
No.7 | | 1566 bytes |
| 
Hallo Martin Fernau,
am Freitag, 8. September 2006 15:39 schriebst du:
Stasa Jerinic:
>Beim entfernen der Schema wird dieses Verzeichnis ebenfalls
>entfernt.
>
Am Freitag, 8. September 2006 15:15 schrieb Stefan Brueckmann:
Wie entfernst du denn die Datenbank?
Nicht mit drop database?
Gegenfrage. Wie entfernt man denn ein Schema noch, wenn nicht mit
DRP?
Die Frage ist so nicht ganz korrekt, denn ich sste eigentlich
antworten: Gar nicht.
Aber ich denke du willst wissen, wie man es noch machen nnte.
Allerdings sollte man es nicht so machen, deshalb re es auf obige
Frage nicht die richtige Antwort ;-)
MySQL 5 legt ig eine Datenbank mit dem Namen
information_schema an. Dort gibt es unter anderem eine Tabelle mit dem
Namen `SCHEMATA` in der alle Datenbanken verzeichnet sind und eine
mit dem Namen `TABLES` in der alle Tabellen der jeweiligen
Datenbanken verzeichnet sind.
Nun nnte ja jemand auf die nicht so gute Idee gekommen sein, da
einfach seine Datenbank aus diesen Tabellen zu schen.
Dann rde es mich auch nicht wundern, das auf der Festplatte kaum
Platz frei wird.
Weiterhin kann man auch einfach im Filesystem die entsprechenden
der Datenbanken schen.
Ich ja nicht was die Leute so den ganzen Tag machen ;-)
Ich rde aber davon abraten.
Ich fragte lieber noch einmal nach, lich war die Frage ja,
warum nach dem Lschen nicht entsprechend Speicherplatz frei wird.
Mit freundlichen Gen
Stefan Bckmann
No.8 | | 616 bytes |
| 
Hallo!
Am Freitag, 8. September 2006 16:42 schrieb Stefan Brueckmann:
Ich fragte lieber noch einmal nach, lich war die Frage ja,
warum nach dem Lschen nicht entsprechend Speicherplatz frei wird.
danke! Hatte mich einfach nur mal so interessiert, ob es noch einen
anderen Weg gibt. Mir war nur das DRP bekannt (naja, das Lschen des
Verzeichnisses re mir auch noch eingefallen) und eigentlich ist es ja auch
das "normale" Vorgehen beim entfernen einer DB das DRP-Kommando zu
verwenden.
Aber sicherlich hast Du recht, dass man erstmal genauer fragen sollte
Viele Ge,
Martin
No.9 | | 1103 bytes |
| 
Hi
In dem Punkt hab ich ja noch etwas Hoffnung das es irgendwann etwas
besser wird. Sobald man in InnoDB die glichkeit mehrere Tablespaces
hat und man die Tabellen manuell zuordnen kann man nur bei Bedarf
einen neuen Tablespace erstellen, alle Tabellen berschieben und dann
den alten Tablespace schen. Dr man dann wenigstens nicht die
ganze DB offline nehmen.
Daniel
Martin Fernau schrieb:
Hallo!
Am Freitag, 8. September 2006 16:42 schrieb Stefan Brueckmann:
>Ich fragte lieber noch einmal nach, lich war die Frage ja,
>warum nach dem Lschen nicht entsprechend Speicherplatz frei wird.
>
danke! Hatte mich einfach nur mal so interessiert, ob es noch einen
anderen Weg gibt. Mir war nur das DRP bekannt (naja, das Lschen des
Verzeichnisses re mir auch noch eingefallen) und eigentlich ist es ja auch
das "normale" Vorgehen beim entfernen einer DB das DRP-Kommando zu
verwenden.
Aber sicherlich hast Du recht, dass man erstmal genauer fragen sollte
Viele Ge,
Martin
--