Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
tachtler:mysql_mariadb_backup_-_skript [2018/02/07 05:35] – [MySQL/MariaDB Backup - Skript] klaus | tachtler:mysql_mariadb_backup_-_skript [2018/03/26 09:26] – klaus |
---|
====== MySQL/MariaDB Backup - Skript ====== | ====== MySQL/MariaDB Backup - Skript ====== |
| |
:!: **HINWEIS** - **Die nachfolgende Backup-Skripte setzt eine lauffähige Installation von [[http://www.mysql.com/de/|MySQL]] oder [[https://mariadb.org/|MariaDB]] voraus, wie unter nachfolgendem internen Link beschrieben !!!** | | Diese Dokumentation ist nach einem "persönlichen" Workshop von: [[http://www.fromdual.com/|{{:tachtler:index:fromdual_logo-128x48.png|}}]] mit dem Referenten **//Oli Sennhauser//** entstanden. Hier noch einmal **meinen Dank für die Informationen.** | |
| |
| :!: **HINWEIS** - **Die nachfolgenden Backup-Skripte setzen eine lauffähige Installation von [[http://www.mysql.com/de/|MySQL]] oder [[https://mariadb.org/|MariaDB]] voraus, wie unter nachfolgendem internen Link beschrieben !!!** |
* **[[tachtler:mysql_centos_6|MySQL CentOS 6]]** | * **[[tachtler:mysql_centos_6|MySQL CentOS 6]]** |
* **[[tachtler:mariadb_centos_7|MariaDB CentOS 7]]** | * **[[tachtler:mariadb_centos_7|MariaDB CentOS 7]]** |
==== Skript - Dateien ==== | ==== Skript - Dateien ==== |
| |
Nachfolgend sollten nachfolgende Dateien im **Backup-Verzeichnis**, welches im Skript definiert ist, erstellt worden sein, nachdem das Skript zur Ausführung gekommen ist. Hier z.B. ''/srv/backup/'', was mit nachfolgendem Befehl überprüft werden kann: | Nachfolgend sollten nachfolgende Dateien im **Backup-Verzeichnis**, welche im jeweiligen Skript definiert sind, erstellt worden sein, nachdem das jeweilige Skript zur Ausführung gekommen ist. Hier z.B. ''/srv/backup/'', was mit nachfolgendem Befehl überprüft werden kann: |
<code> | <code> |
# ls -la /srv/backup/ | # ls -la /srv/backup/ |
| |
Wobei das Skript | Wobei das Skript |
* ''mysqldump_backup_full.sh'' → die Backup-Datei(en) | * **''mysqldump_backup_full.sh''** → die Backup-Datei(en) |
* ''mysqldump_backup_20180207_033204.sql.tar.gz'' | * ''mysqldump_backup_20180207_033204.sql.tar.gz'' |
und das Skript | und das Skript |
* ''mysqldump_backup_schema.sh'' → die Backup-Datei | * **''mysqldump_backup_schema.sh''** → die Backup-Datei |
* ''mysql-mysqldump_backup_20180207_033209.sql.tar.gz'' | * ''mysql-mysqldump_backup_20180207_033209.sql.tar.gz'' |
* ''phpmyadmin-mysqldump_backup_20180207_033209.sql.tar.gz'' | * ''phpmyadmin-mysqldump_backup_20180207_033209.sql.tar.gz'' |
</code> | </code> |
| |
==== Widerherstellen ==== | ==== Wiederherstellen ==== |
| |
| Mit nachfolgendem Befehl, kann die so aus dem Backup entpackte Datei zur Wiederherstellung der Datenbank/Tabelle wie folgt verwendet werden. |
| |
| Wobei das Skript |
| * **''mysqldump_backup_20170524_184224.sql.tar.gz''** → die Backup-Datei |
| * ''mysqldump_backup_20170524_184224.sql'' |
| und das Skript (**hier als Beispiel**) |
| * **''phpmyadmin-mysqldump_backup_20180207_033209.sql.tar.gz''** → die Backup-Datei |
| * ''phpmyadmin-mysqldump_backup_20180207_033209.sql'' |
| **hier** die gezeigten Backup-Dateien jeweils in sich trägt. |
| |
| Egal, ob ein Wiederherstellung aus einet **''full''**, oder **''schema''**-Backup-Datei erfolgt, mit dem nachfolgendem Befehl werden folgende Schritte zur Wiederherstellung durchgeführt: |
| - Anlage der Datenbank/Tabelle/Schema, (**falls dies nicht (mehr) vorhanden sein sollte**) |
| - Nutzung der bezeichneten Datenbank/Tabelle/Schema, welche wiederherstellt werden soll (auch mehrere nacheinander, bei einer **''full''**-Backup-Datei) |
| - Löschen des Inhalts der Datenbank/Tabelle/Schema, (**falls ein Inhalt vorhanden sein sollte**) |
| - Sperren der wiederherzustellenden Datenbank/Tabelle/Schema, während des Wiederherstellungsprozesses |
| - Wiederherstellung der in der Backup-Datei enthaltenen Daten |
| - Entsperren der wiederherzustellenden Datenbank/Tabelle/Schema, nach dem Wiederherstellungsprozesse |
| - Bei der Wiederherstellung aus einer **''full''**-Backup-Datei, fortsetzen des Prozesses mit der nächsten Datenbank/Tabelle/Schema |
| |
| Nachfolgender Befehl, führt nun die Wiederehestellung tatsächlich aus. |
| |
| :!: **WICHTIG** - **Es wird die Kenntnis des ''root''-Passworts der Datenbank benötigt !!!** |
| |
| (**''full''**) |
| <code> |
| /usr/bin/mysql -u root -p < /tmp/recovery/mysqldump_backup_20170524_184224.sql |
| </code> |
| bzw. |
| |
| (**''schema''**) |
| <code> |
| /usr/bin/mysql -u root -p < /tmp/recovery/phpmyadmin-mysqldump_backup_20180207_033209.sql |
| </code> |
| |
| Anschließend befindet sich die Datenbank/Tabelle/Schema auf dem Stand der Backup-Datei. |
| |
FIXME | |