percona_xtrabackup
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| percona_xtrabackup [2025-05-13 15:55:14] – [Allgemeines] manfred | percona_xtrabackup [2025-05-13 16:25:07] (aktuell) – [Allgemeines] manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Percona xtrabackup ====== | ||
| + | |||
| + | |||
| + | ===== Allgemeines ===== | ||
| + | |||
| + | <code bash xtrabackup gibt die " | ||
| + | root@host01: | ||
| + | ... | ||
| + | --datadir=/ | ||
| + | --socket=/ | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | <code bash xtrabackup legt eine Kopie vom DataDir im PWD an> | ||
| + | root@host01: | ||
| + | </ | ||
| + | |||
| + | <code bash 1. socat+xbstream auf dem Empfänger starten " | ||
| + | root@host02: | ||
| + | root@host02:/ | ||
| + | root@host02:/ | ||
| + | </ | ||
| + | |||
| + | <code bash 2. xtrabackup auf dem Sender starten " | ||
| + | root@host01: | ||
| + | </ | ||
| + | |||
| + | <code bash 3. prepare auf " | ||
| + | # prepare the backup on db2 | ||
| + | root@host02: | ||
| + | </ | ||
| + | |||
| + | <code bash 4. grastate.dat generieren auf " | ||
| + | # recreate the grastate.dat file using the GTID in xtrabackup_galera_info file. | ||
| + | root@host02:/ | ||
| + | root@host02:/ | ||
| + | root@host02:/ | ||
| + | </ | ||
| + | |||
| + | <code bash 5. BIN-LOG-Dateien, | ||
| + | root@host02:/ | ||
| + | renamed ' | ||
| + | renamed ' | ||
| + | </ | ||
| + | |||
| + | <code bash 6. alte Dateien löschen> | ||
| + | root@host02:/ | ||
| + | </ | ||
| + | |||
| + | <code bash 7. Rechte> | ||
| + | root@host02: | ||
| + | root@host02: | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== xtrabackup installieren ===== | ||
| + | |||
| + | Da xtrabackup kein Bestandteil von Ubuntu ist, muß das Percona-Repository eingebunden werden. | ||
| + | \\ //(Muß es sowieso, da eteleon den mySQL-Fork " | ||
| + | |||
| + | |||
| + | == Percona GPG-Key === | ||
| + | |||
| + | Um die Authentizität der Percona-Pakete zu verifizieren benötig aptitude deren öffentlichen GPG-Schlüssel. | ||
| + | \\ [[http:// | ||
| + | |||
| + | <file bash RPM-GPG-KEY-percona> | ||
| + | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
| + | Version: GnuPG v1.4.9 (GNU/Linux) | ||
| + | |||
| + | mQGiBEsm3aERBACyB1E9ixebIMRGtmD45c6c/ | ||
| + | AX63hhEs4MUCGO7KnON1hpjuNN7MQZtGTJC0iX97X2Mk+IwB1KmBYN9sS/ | ||
| + | itj2RAkug4PFHR9dy21v0flj66KjBS3GpuOadpcrZ/ | ||
| + | f/ | ||
| + | YQunRlhB9f9QUFfhfnjRn8wjeYasMARDctCde5nbx3Pc+nRIXoB4D1Z1ZxRzR/ | ||
| + | 7S4i8KRr9xhommFnDv/ | ||
| + | 7DV3BACj1cBwCf8tckWsvFtQfCP4CiBB50Ku49MU2Nfwq7durfIiePF4IIYRDZgg | ||
| + | kHKSfP3oUZBGJx00BujtTobERraaV7lIRIwETZao76MqGt9K1uIqw4NT/ | ||
| + | rFaOmAkaujbcB11HYIyjtkAGq9mXxaVqCC3RPWGr+fqAx/ | ||
| + | eVNRTCBEZXZlbG9wbWVudCBUZWFtIDxteXNxbC1kZXZAcGVyY29uYS5jb20+iGAE | ||
| + | ExECACAFAksm3aECGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRAcTL3NzS79 | ||
| + | Kpk/ | ||
| + | Ag0ESybdoRAIAKKUV8rbqlB8qwZdWlmrwQqg3o7OpoAJ53/ | ||
| + | lHkwGqEqfbFYoTbOCEEJi2yFLg9UJCSBM/ | ||
| + | O0PzVAF7rCnWaIz76iY+AMI6xKeRy91TxYo/ | ||
| + | chAExMTgbnoPx1ka1Vqbe6iza+FnJq3f4p9luGbZdSParGdlKhGqvVUJ3FLeLTqt | ||
| + | caOn5cN2ZsdakE07GzdSktVtdYPT5BNMKgOAxhXKy11IPLj2Z5C33iVYSXjpTelJ | ||
| + | b2qHvcg9XDMhmYJyE3O4AWFh2no3Jf4ypIcABA0IAJO8ms9ov6bFqFTqA0UW2gWQ | ||
| + | cKFN4Q6NPV6IW0rV61ONLUc0VFXvYDtwsRbUmUYkB/ | ||
| + | / | ||
| + | eEihtcjltGAoS54+6C3lbjrHUQhLwPGqlAh8uZKzfSZq0C06kTxiEqsG6VDDYWy6 | ||
| + | L7qaMwOqWdQtdekKiCk8w/ | ||
| + | ZSL00Mx+g3NA7pQ1Yo5Vhok034mP8L2fBLhhWaK3LG63jYvd0HLkUFhNG+xjkpeI | ||
| + | SQQYEQIACQUCSybdoQIbDAAKCRAcTL3NzS79KlacAJ0aAkBQapIaHNvmAhtVjLPN | ||
| + | wke4ZgCePe3sPPF49lBal7QaYPdjqapa1SQ= | ||
| + | =qcCk | ||
| + | -----END PGP PUBLIC KEY BLOCK----- | ||
| + | </ | ||
| + | |||
| + | |||
| + | == GPG-Key importieren == | ||
| + | |||
| + | Schlüssel importieren: | ||
| + | # gpg --import RPM-GPG-KEY-percona | ||
| + | # gpg -a --export CD2EFD2A | apt-key add - | ||
| + | |||
| + | Schlüssel Aptitude bekanntmachen | ||
| + | # aptitude update | ||
| + | |||
| + | |||
| + | == Repository einbinden == | ||
| + | |||
| + | Und folgendes einfügen: | ||
| + | # echo "deb http:// | ||
| + | # echo " | ||
| + | |||
| + | Aptitude mit neuem Repo bekanntmachen | ||
| + | # aptitude update | ||
| + | |||
| + | |||
| + | == xtrabackup installieren == | ||
| + | |||
| + | # aptitude install xtrabackup | ||
| + | |||
| + | |||
| + | ===== xtrabackup einsetzen ===== | ||
| + | |||
| + | Dump schreiben: | ||
| + | # innobackupex --stream=tar ./ | gzip -1 > db.tar.gz | ||
| + | |||
| + | Dump wieder einspielen: | ||
| + | # / | ||
| + | # cd / | ||
| + | # tar xvfzi / | ||
| + | # innobackupex --use-memory=1G --apply-log --ibbackup xtrabackup ./ | ||
| + | # chown -R mysql:mysql * | ||
| + | # / | ||
| + | |||
| + | |||
| + | === / | ||
| + | |||
| + | PATH="/ | ||
| + | | ||
| + | # Xtra-Backup | ||
| + | 0 1 * * * | ||
| + | |||
| + | |||
| + | === / | ||
| + | |||
| + | Dieses Skript wird vom Backup-Server aus aufgerufen. | ||
| + | |||
| + | #!/bin/bash | ||
| + | | ||
| + | PATH="/ | ||
| + | BACKUPPFAD="/ | ||
| + | WOCHENTAG=" | ||
| + | | ||
| + | ### Diese Datei muss auf dem DB-Host liegen, sonst funktioniert das Backup nicht | ||
| + | # | ||
| + | ### cat / | ||
| + | # # Automatically generated for Debian scripts. DO NOT TOUCH! | ||
| + | # [client] | ||
| + | # host = localhost | ||
| + | # user = root | ||
| + | # password = ' | ||
| + | # socket | ||
| + | # | ||
| + | | ||
| + | | ||
| + | # Xtra-Backup | ||
| + | | ||
| + | if [ -d ${BACKUPPFAD} ] ; then | ||
| + | ssh root@xdb01 ' | ||
| + | scp root@xdb01:/ | ||
| + | fi | ||
| + | |||
