WordPress-Backup aus mysqldump wieder herstellen

Offenbar kommt es in den besten Familien vor, dass mysql mal nicht wieder hochkommt. Evtl. hätte ich das auch reparieren können, aber ich wollte auch mal ausprobieren, ob mein mysqldump der wordpress-DB seinen Zweck erfüllt: Es soll im “Katastrophenfall” zum Restaurieren dienen. Leider war das nicht ganz trivial.

Hier gleich meine Lösung:

rm -rf /opt/dockervolumes/wordpress/var_lib_mysql
docker-compose -f mein-docker-compose.yml up -d mysql
echo "create database wordpress" | docker exec -i wordpress_mysql_1 mysql -u root --password=xxx  --default-character-set=utf8
bzip2 -dc mysql-backup/mysqldump_wordpress.sql.bz2  | docker exec -i wordpress_mysql_1 mysql -h localhost -u root --password=xxx wordpress --default-character-set=utf8
docker-compose -f mein-docker-compose.yml up -d
  • Das Passwort (‘xxx’) steht in der mein-docker-compose.yml.
  • Ein ähnlicher Versuch via docker-compose hat immer wieder zu “seltsamen” Abbrüchen geführt: bzip2 -dc mysql-backup/mysqldump_wordpress.sql.bz2 | docker-compose -f mein-docker-compose.yml exec mysql mysql -h localhost -u root --password=xxx wordpress --default-character-set=utf8 >mysql-import4.out

Somit hat sich gezeigt, dass mein mysqldump-Backup von wordpress eigentlich sehr einfach wieder einzuspielen ist…

Anhang: mein-docker-compose.yml

Hier mein aktuelles compose-File für wordpress (inkl. Backup der mysql-DB):

mysql:

  image: mysql:latest
  mem_limit: 300m
  environment:
    - MYSQL_ROOT_PASSWORD=xxx
  restart: always
  volumes:
    - /opt/dockervolumes/wordpress/var_lib_mysql:/var/lib/mysql
    - /etc/localtime:/etc/localtime
    - /etc/timezone:/etc/timezone


mysql-backup:

  image: 'dsteinkopf/backup-all-mysql:latest'
  environment:
    - BACKUP_INTERVAL=86400
  links:
    - mysql
  restart: always
  volumes:
    - '/opt/dockervolumes/wordpress/mysql-backup:/var/dbdumps'
    - '/etc/localtime:/etc/localtime'
    - '/etc/timezone:/etc/timezone'


wordpress:

  image: 'dsteinkopf/wordpress:latest'
  links:
    - mysql
  ports:
    - '8082:80'
  restart: always
  volumes:
    - '/opt/dockervolumes/wordpress/var_www_html:/var/www/html'
    - '/etc/localtime:/etc/localtime'
    - '/etc/timezone:/etc/timezone'

One thought on “WordPress-Backup aus mysqldump wieder herstellen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.