die Verwendung von mysqldump
Neben PHP-basierten Tools wie phpMyAdmin oder MysqlDumper lassen sich Datenbanken auch bequem per Kommandozeile und dem von MySQL mitgelieferten Tool mysqldump backupen und auch wieder herstellen. Bei der so generierten Datei handelt es sich immer um Standard-SQL-Befehle und können daher jederzeit mit beliebigen Tools wieder in die Datenbank eingespielt werden.
Backup erstellen
mysqldump -u [Benutzername] -p[Password] -h [Datenbankserver] --verbose [Datenbank] > [Datei]
Hinweis: Der nicht vorhandene Abstand bei -p[Password] ist korrekt. Sie können auch nur den Parameter -p angeben um das Passwort erst nach Aufforderung einzugeben.
Beispiel: mysqldump -u root -proot -h mydbserver.com -verbose typo3 > test.sql
Beim Erstellen des Backups wird standardmäßig die aktuelle gelesene Tabelle für Schreibvorgänge gesperrt um so Inkonsistenzen zu vermeiden. Dadurch kann es allerdings vorkommen, dass Anwendungen die in Tabellen schreiben müssen während der Zeit des Backups nicht oder nur fehlerhaft funktionieren. Wer das Risiko von inkonsistenten Datensätzen eingehen kann, kann über den Paramater --lock-tables das Sperren verhindern.
mysqldump -u [Benutzername] -p[Password] -h [Datenbankserver] --verbose --lock-tables=false [Datenbank] > [Datei]
Optionen
alle Datenbanken des Servers sichern
mysqldump -u [Benutzername] -p[Password] -h [Datenbankserver] --verbose --all-databases > [Datei]
nur die Datenbankstruktur aber keine Daten sichern
mysqldump -u [Benutzername] -p[Password] -h [Datenbankserver] --verbose --no-data [Datenbank] > [Datei]
nur Daten aber keine Struktur (kein drop oder create table)
mysqldump -u [Benutzername] -p[Password] -h [Datenbankserver] --verbose --no-create-db --no-create-info [Datenbank] > [Datei]
Backup in eine existierende Datenbank einspielen
mysql -u [Benutzername] -p[Password] [Datenbank] < [Datei]
Beispiel: mysql -u root -proot testdb_2011 < dump.sql
Backup ohne existierende Datenbank einspielen (SQL-Datei mit DB-Create-Statement)
mysql -u [Benutzername] -p[Password] < [Datei]
Beispiel: mysql -u root -proot < dump.sql
Nun, dann will ich mal der erste sein, der deine Seite nicht nur nutzt, sondern sich auch mal bedankt. ;)
Baue mir gerade eine Datenbank auf - hab' in "man mysqldump" geblättert, aber mit Google (Suchbegriff: "mysqldump nur daten") ging's entschieden schneller. (Nur die Datenbankstruktur oder nur die Daten sichern). ;) Also danke!
Hartmut