Wenn man eine Sicherung von einer mySQL Datenbank machen will kann man das natürlich auf auf mehrere Arten machen. Zum einen kann man das ganze über das beliebte phpMyAdmin machen. Oder, wenn man Zugriff auf die Shell vom Server hat, mit mysqldump oder cp. So kann man relativ simpel ein Cronjob einrichten, welcher Täglich oder Wöchentlich eine Sicherung der Datenbank macht.
Die Variante mit mysqldump ist recht simpel und funktioniert, ohne dass man den mySQL Server stoppen muss. mysqldump erstellt wie phpMyAdmin eine SQL Datei mit den create table und insert Anweisungen. In diesem keinen Beispiel wir die Datenbank "datenbank" exportiert und gleich noch mit gzip etwas komprimiert.
Die andere Möglichkeit ist das kopieren der Dateien in der mySQL die Daten ablegt. In Ubuntu liegen diese Daten im Ordner /var/lib/mysql/. Dazu muss aber der mySQL Server gestoppt werden, dafür hat man aber eine etwas sauberere Sicherung. Bei Migrationen auf andere Server ist diese Variante wohl etwas besser. Hier ein kleines Beispiel, dass den mySQL Server stoppt, alle Datenbanken in den Ordner /home/backup/mysql/ kopiert und den Server dann wieder startet.
Die Variante mit mysqldump ist recht simpel und funktioniert, ohne dass man den mySQL Server stoppen muss. mysqldump erstellt wie phpMyAdmin eine SQL Datei mit den create table und insert Anweisungen. In diesem keinen Beispiel wir die Datenbank "datenbank" exportiert und gleich noch mit gzip etwas komprimiert.
mysqldump -ubenutzer -p datenbank | gzip -c > file.sql.gz
Die andere Möglichkeit ist das kopieren der Dateien in der mySQL die Daten ablegt. In Ubuntu liegen diese Daten im Ordner /var/lib/mysql/. Dazu muss aber der mySQL Server gestoppt werden, dafür hat man aber eine etwas sauberere Sicherung. Bei Migrationen auf andere Server ist diese Variante wohl etwas besser. Hier ein kleines Beispiel, dass den mySQL Server stoppt, alle Datenbanken in den Ordner /home/backup/mysql/ kopiert und den Server dann wieder startet.
#!/bin/bash mysqldir="/var/lib/mysql"; # stop mysql /etc/init.d/mysql stop date=`date +%d%m%Y` mkdir /home/backup/mysql/$29.04.08 07:54/ cp -R $mysqldir/* /home/backup/mysql/$29.04.08 07:54/ # start mysql /etc/init.d/mysql start