Seite 1 von 1

[3.2] Unterschiedliche Datenbank Größen

Verfasst: 12.10.2019 20:58
von stefan-franz
Hallo allerseits,

ich habe mein Forum geklont um das Update auf dem Clon durch zu führen. Nun sehe ich gerade, dass die Datenbank des Clons 53 MB hat, während die Ausgangsdatenbank 65 MB hatte. Gefühlt ist aber alles da....hmmm.....

Das Backup und Rücksicherung habe ich mit dem phpMyAdmin gemacht. Komisch ist auch, dass Backups die mit dem mySqldumper und mit dem phpmyadmin gemacht werden unterschiedlich große sind.....
Ist der mySqldumper überhaupt noch empfehlenswert ein zu setzen - das Projekt wurde ja stillgelegt - sogar die Videos von dessen Seite entfernt....

Re: [3.2] Unterschiedliche Datenbank Größen

Verfasst: 12.10.2019 22:36
von canonknipser
Es gibt verschiedene Arten von Backups:
  1. Backups, die mit den originären Tools der jeweiligen Datenbank durchgeführt werden (bei MySQL wäre das z.B. mysqldump
  2. Backups, die mit anderen Tools durchgeführt werden, z.B. dem mysqldumper oder bigdump
  3. Backups, die mit Bordmitteln von phpBB durchgeführt werden
Manche dieser Tools schreiben ein eigenes Format, wie z.B. mysqldump
Andere nutzen Standard-SQl-Statements, wie mysqldumper oder das phpBB-Backup
Standard-SQL ist auch nicht Standard-SQL - in der Regel sind das INSERT-Statements. Aber auch diese können unterschiedlich gebildet werden.
z.B.

Code: Alles auswählen

INSERT INTO tabelle (spalte1 , spalte2) VALUES  (wert1, wert2);
INSERT INTO tabelle (spalte1 , spalte2) VALUES  (wert1, wert2);
INSERT INTO tabelle (spalte1 , spalte2) VALUES  (wert1, wert2);
INSERT INTO tabelle (spalte1 , spalte2) VALUES  (wert1, wert2);
    
oder

Code: Alles auswählen

INSERT INTO tabelle (spalte1 , spalte2) VALUES  (wert1, wert2), VALUES  (wert1, wert2), VALUES  (wert1, wert2), VALUES  (wert1, wert2);
    
oder

Code: Alles auswählen

INSERT INTO tabelle SET spalte1 = wert1, spalte2 = wert2;
INSERT INTO tabelle SET spalte1 = wert1, spalte2 = wert2;
INSERT INTO tabelle SET spalte1 = wert1, spalte2 = wert2;
INSERT INTO tabelle SET spalte1 = wert1, spalte2 = wert2;
    
die Statements machen alle das gleiche.


Und Backups können dann auch noch beim speichern komprimiert werden, z.B. als Zip oder gzip-Datei

Kein Wunder, dass die bei gleicher Datenbank mit verschiedenen Tools unterschiedlich groß werden.

MysqlDumper wird übrigens als Communityprojekt fortgeführt -> viewtopic.php?t=242187


Und das Datenbanken auch bei gleichem Inhalt unterschiedlichen Platz auf der Festplatte belegen, ist auch normal, gerade bei Kopien, die mittels SQL-Insert-Statements hergestellt werden, haben die Tabellen des Klones oft weniger Speicherbedarf, weil das weniger Platz durch gelöschte Datensätze benötigt wird. (Löschen in der Datenbank ist in der Regel immer ein Markieren zur Löschung, ohne dass der Speicherplatz direkt freigegeben wird).