März 2010 Archive

Die Kausalität ist nicht einsichtig?
Sie ist genauso einsichtig wie: Kinder mit einem Fernseher im Kinderzimmer sind bildungsfern!
Gegeben folgende Seiten:
http://web.archive.org/web/20080502185553/http://www.mysql.com/why-mysql/migration/
und
http://www.mysql.com/why-mysql/migration/

Auf beiden Seiten wird Oracle gefunden.

Tipp: Die Differenz, die Differenz!  :-D

Etwas irritiert war ich über die doch offensichtliche Sinnlosigkeit das information_schema zu dumpen. Etwas was phpMyAdmin explizit anbieten soll.
Das information_schema ist dem /proc unter Linux vergleichbar. Es wird nichts weiter gemacht, als Informationen zu aggregieren. Anders als /proc, in dem einige Werte gesetzt werden können, ist das information_schema read only.
Sprich information_schema zu dumpen hat keinen Sinn, weil sich

1. die Informationen eh aus der laufenden Datenbank ergeben und
2. das information_schema - wie schon erwähnt - nicht beschreibbar ist.

mysql> insert into ENGINES values('erkan','YES',NULL,'NO','NO','NO');
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'information_schema'

Angst insofern "kaputte" Dumps zu haben, als dass diese nicht mehr eingespielt werden können, brauch mensch nicht.
Mysqldump ignoriert das information_schema defaultmäßig.

mysqldump does not dump the INFORMATION_SCHEMA database by default. As of MySQL 5.1.38, mysqldump dumps INFORMATION_SCHEMA if you name it explicitly on the command line, although currently you must also use the --skip-lock-tables option. Before 5.1.38, mysqldump silently ignores INFORMATION_SCHEMA even if you name it explicitly on the command line.

Nun ab 5.1.38 ist das explizite Dumpen vom information_schema möglich.

Warum sollte man das information_schema dumpen?

Das information_schema bietet eine Menge Informationen der Datenbank kompakt an, welche andererseits umständlicher zusammengetragen werden müssten.
Neben Informationen über das Datenbanklayout, finden sich sich auch die Konfigurationsparameter des laufenden Prozesses, Statistiken der Tabellen usw.
Mit dem Dump vom information_schema erhält man all diese Informationen auf eine einfache und kompakte Weise.
So können regelmäßige Dumps des information_schema weniger zu Backupzwecken, als zum Monitoren und Archivieren von Datenbankinformationen dienen.