[Eisfair] Frage zu Backup mysql/mariadb

Marcus Roeckrath marcus.roeckrath at gmx.de
Do Apr 5 09:26:55 CEST 2018


Hallo Matthias,

Matthias Prill wrote:

> mir erschließt sich nicht der Unetrschied dieser beiden Parameter:
> 
> MYSQL5173_BACKUP_1_ACTIVE  =  yes
> MYSQL5173_BACKUP_1_FORCE   =  no
> 
> So hatte ich es bei mir drin und es wurden keine Backups erzeugt...
> Irgendwie hatte ich den zweiten Paramter übersehen,aber iwe gesagt
> erschließt sich mir nicht der Sinn dieses Extraparameters...

Es gibt verschiedenen Datenbanktypen in mysql, nämlich MyIsam und InnoDB.
Der Unterschied liegt in der Speicherung der Datenbanknutzdaten.

MyIsam speichert die Daten in einzelnen Dateien pro Datenbanktabelle
unter /srv/msyql/<mysqlversion>/<datenbank>/<tabelle>.MYD|MYI, während bei
InnoDB alle Daten in /srv/www/mysql/<mysqlversion>/ibdata landen.

Bei MyIsam kann einfach anhand des Datenstempels der MYD/MYI- Dateien
festgestellt werden, ob sich die Datenbank geändert hat, also wirklich ein
Backup notwendig ist.

In früheren mysql-Version macht die Prüfung des Dateidatums von ibdate nicht
viel Sinn, da in dieser Datei die Daten verschiedenster DBs liegen und
intern nicht für jede DB ein "letztes Änderungsdatum" abgespeichert wurde.

Für InnoDB muss man also den Parameter FORCE setzen, damit auf jeden Fall
gesichert wird.

Bei mariadb55 ist das nicht mehr notwendig, weil da scheinbar die
Änderungsprüfung funktioniert.

Bevor jemand fragt, ob wir da Mist machen, kann ich sagen, dass diese
Backupfunktionalität IMHO originär von den Machern von mysql stammt.

Schau mal nach, ob du InnoDB-DBs hast, erkennbar daran, dass es in
Datenbankverzeichnis /srv/mysql/<mysqlversion>/<datenbank> nur *.frm
Dateien aber keine .MYD oder .MYI gibt.

-- 
Gruss Marcus


Mehr Informationen über die Mailingliste Eisfair