Differences between revisions 3 and 4
Revision 3 as of 2011-06-23 13:51:31
Size: 537
Comment:
Revision 4 as of 2011-06-24 17:12:50
Size: 2535
Comment:
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * ist '''eine''' innodb Tabelle vorhanden, wird diese Datenbank mit ''innobackupex'' gesichert
 * noaction Modus: ''/var/lib/mysql/mysql_backups -n''
 * ''/var/lib/mysql/mysql_backups -i'' sichert nur innodb DBs

=== Restore ===
 * sollte auf test mysql server erfolgen
 * man kann nicht eine innodb Datenbank zurückspeichern
 * deshalb
  * Backup /var/lib/mysql/dumps/innodb/innodb.tar.gz vom gewünschten Datum aus Backup holen und auspacken
  * Transaktionslog applizieren
  * Testserver stoppen,
  * Umkopieren, Rechte und SELinux Attribute anpassen
  * Testerver starten
  * evtl. Änderungen vom binlog des Zielservers anwenden
  * Datenbank dumpen
  * File im Ziel MySQL Server anwenden
 
{{{
  tar -tizvf /var/lib/mysql/dumps/innodb/innodb.tar.gz
  mkdir /tmp/innodb
  cd /tmp/innodb
  tar -xizvf /var/lib/mysql/dumps/innodb/innodb.tar.gz # bzw. vom TSM recoverten File
  # Abfrage mit dsmc q b -inactive -su=yes /var/lib/mysql/dumps/innodb/innodb.tar.gz
  innobackupex --defaults-file=/root/.myxtrabackup.conf --apply-log /tmp/innodb
  # auf Test-server:
  service mysqld stop
  # ibdata und DB Files nach ~mysql/mysqldb kopieren:

drwxr-xr-x 2 root root 4096 Jun 24 15:55 cecdb
drwxr-xr-x 2 root root 4096 Jun 24 15:55 cecdb2
-rw-r--r-- 1 root root 5242880 Jun 24 15:57 ib_logfile0
-rw-r--r-- 1 root root 5242880 Jun 24 15:56 ib_logfile1
-rw-rw---- 1 mysql mysql 10485760 Jun 24 15:57 ibdata1

  # auf Test-Server:
  service mysqld start
  # auf dem Ziel-Server für gewünschte Binlogs (evtl. auch aus Backup holen)
  mysqlbinlog ~mysql/binlogs/binlog.000008 >/tmp/statements.sql
  mysqlbinlog ~mysql/binlogs/binlog.000009 >>/tmp/statements.sql
  ...
  # /tmp/statements auf Test-Server kopieren und anwenden
  mysql -e "source /tmp/statements.sql"
  # Dump auf Test-server erstellen
  mysqldump --opt <database> >/tmp/db.dump
  # Datenbank auf Zielserver aus dem Dump neu erzeugen
  mysql < /tmp/db.dump

}}}
  

MySQL

MySQL Backup

  • -> feature mysql

  • Script /var/lib/mysql/mysql_backups verwendet für

  • mysql_backups kennt die Optionen -n (Anzeige der Kommandos) -m (nur MyISAM DB backup) -i (nur InnoDB backup)

  • schreibt die Dumps ins Verzeichnis /var/lib/mysql/dumps
  • Logfile in /var/log/mysqlbackup
  • ist eine innodb Tabelle vorhanden, wird diese Datenbank mit innobackupex gesichert

  • noaction Modus: /var/lib/mysql/mysql_backups -n

  • /var/lib/mysql/mysql_backups -i sichert nur innodb DBs

Restore

  • sollte auf test mysql server erfolgen
  • man kann nicht eine innodb Datenbank zurückspeichern
  • deshalb
    • Backup /var/lib/mysql/dumps/innodb/innodb.tar.gz vom gewünschten Datum aus Backup holen und auspacken
    • Transaktionslog applizieren
    • Testserver stoppen,
    • Umkopieren, Rechte und SELinux Attribute anpassen
    • Testerver starten
    • evtl. Änderungen vom binlog des Zielservers anwenden
    • Datenbank dumpen
    • File im Ziel MySQL Server anwenden

  tar -tizvf /var/lib/mysql/dumps/innodb/innodb.tar.gz
  mkdir /tmp/innodb
  cd /tmp/innodb
  tar -xizvf /var/lib/mysql/dumps/innodb/innodb.tar.gz # bzw. vom TSM recoverten File
  # Abfrage mit dsmc q b -inactive -su=yes /var/lib/mysql/dumps/innodb/innodb.tar.gz
  innobackupex --defaults-file=/root/.myxtrabackup.conf --apply-log /tmp/innodb
  # auf Test-server:
  service mysqld stop
  # ibdata und DB Files nach ~mysql/mysqldb kopieren:

drwxr-xr-x 2 root  root      4096 Jun 24 15:55 cecdb
drwxr-xr-x 2 root  root      4096 Jun 24 15:55 cecdb2
-rw-r--r-- 1 root  root   5242880 Jun 24 15:57 ib_logfile0
-rw-r--r-- 1 root  root   5242880 Jun 24 15:56 ib_logfile1
-rw-rw---- 1 mysql mysql 10485760 Jun 24 15:57 ibdata1

  # auf Test-Server:
  service mysqld start
  # auf dem Ziel-Server für gewünschte Binlogs (evtl. auch aus Backup holen)
  mysqlbinlog ~mysql/binlogs/binlog.000008 >/tmp/statements.sql
  mysqlbinlog ~mysql/binlogs/binlog.000009 >>/tmp/statements.sql
  ...
  # /tmp/statements auf Test-Server kopieren und anwenden
  mysql -e "source /tmp/statements.sql"
  # Dump auf Test-server erstellen
  mysqldump --opt  <database> >/tmp/db.dump
  # Datenbank auf Zielserver aus dem Dump neu erzeugen
  mysql  < /tmp/db.dump

MySQL (last edited 2017-05-23 11:21:59 by FabianKrack)