Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
public:technik:howto:sql-ssh-backup [2017/02/18 02:23] – Sourcen nach Github migriert mape2k | public:technik:howto:sql-ssh-backup [2023/06/29 13:56] – mape2k | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== SQL-SSH-Backup ====== | ====== SQL-SSH-Backup ====== | ||
- | Mit SQL-SSH-Backup lassen sich MySQL- | + | Mit SQL-SSH-Backup lassen sich MySQL-, PostgreSQL- oder MongoDB-Pull-Sicherungen erstellen. Der Backupserver loggt sich dazu per SSH ein und führt die Befehle zur Sicherung auf dem zu sichernden Server aus. Der Backupserver benötigt dabei keinerlei |
===== Copyright / Lizenz ===== | ===== Copyright / Lizenz ===== | ||
Zeile 7: | Zeile 7: | ||
===== Features (der aktuellen Version) ===== | ===== Features (der aktuellen Version) ===== | ||
- | * Dump für MySQL und PostgreSQL via SSH | + | * Dump für MySQL, PostgreSQL |
* benötigt kein MySQL/ | * benötigt kein MySQL/ | ||
* sichere Übertragung/ | * sichere Übertragung/ | ||
* Einzel- oder Gesamtsicherung aller Datenbanken | * Einzel- oder Gesamtsicherung aller Datenbanken | ||
* Sicherung einzelner Datenbanken | * Sicherung einzelner Datenbanken | ||
- | * Kompression der Dumps mit bzip2/xz (MySQL) oder PosgreSQL-Dump-Format möglich | + | * Kompression der Dumps mit bzip2/xz (alle DBs) oder PosgreSQL-Dump-Format möglich |
* mehrere Backups täglich möglich (Verzeichnisstruktur enthält dann Uhrzeit) | * mehrere Backups täglich möglich (Verzeichnisstruktur enthält dann Uhrzeit) | ||
* automatische Bereinigung von alten Backups | * automatische Bereinigung von alten Backups | ||
Zeile 34: | Zeile 34: | ||
* 1.8 - Sicherung einer einzelnen Datenbank möglich | * 1.8 - Sicherung einer einzelnen Datenbank möglich | ||
* 1.9 - Wiederholung von Dumps bei Fehlern ermöglichen (Retry), bereinigte Exit-Codes, kleinere Fehlerkorrekturen | * 1.9 - Wiederholung von Dumps bei Fehlern ermöglichen (Retry), bereinigte Exit-Codes, kleinere Fehlerkorrekturen | ||
+ | * 2.0 - Backup von MongoDB (ohne Datenbankauthentifizierung) | ||
+ | * 2.1 - Max-allowed-packet für MySQL | ||
==== zu sichernder Server ==== | ==== zu sichernder Server ==== | ||
- | Auf dem zu sichernden Server müssen nur SSH (meist vorhanden) und MySQL oder PostgreSQL (sowieso vorhanden) zur Verfügung stehen. | + | Auf dem zu sichernden Server müssen nur SSH (meist vorhanden) und MySQL / PostgreSQL |
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Zeile 78: | Zeile 80: | ||
=== Datenbank-Benutzer anlegen === | === Datenbank-Benutzer anlegen === | ||
== MySQL == | == MySQL == | ||
- | Der Backup-Benutzer benötigt lediglich folgende Rechte | + | Der Backup-Benutzer benötigt lediglich folgende Rechte: |
* SELECT | * SELECT | ||
* SHOW DATABASES | * SHOW DATABASES | ||
Zeile 94: | Zeile 97: | ||
</ | </ | ||
+ | Beim Einsatz von MySQL ab Version 5.7 und der Sicherung aller Datenbanken inkl. Sys-Schema werden folgende Rechte zusätzlich benötigt: | ||
+ | |||
+ | < | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`extract_table_from_file_name` TO ' | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`format_path` TO ' | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`format_statement` TO ' | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`extract_schema_from_file_name` TO ' | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`ps_thread_account` TO ' | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`format_time` TO ' | ||
+ | GRANT EXECUTE ON FUNCTION `sys`.`format_bytes` TO ' | ||
+ | </ | ||
== PostgreSQL == | == PostgreSQL == | ||
Der Backup-Benutzer benötigt folgende Rechte __nicht__: | Der Backup-Benutzer benötigt folgende Rechte __nicht__: | ||
Zeile 138: | Zeile 152: | ||
* // | * // | ||
+ | |||
+ | == MongoDB == | ||
+ | |||
+ | * // |