•
Recuperar datos de un MySQL con snapshots
Hemos visto como realizar snapshots periódicos de MySQL para tener cópias de seguridad cada pocas horas. Vamos a ver como recuperar datos desde los snapshots.
Podemos montar el snapshot normalmente:
mount /dev/mapper/local2-snap.mysql2.08 /mnt/tmp
A continuación podemos levantar un MySQL en otro puerto y otro socket:
/usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/mnt/tmp/ --user=mysql --pid-file=/var/mysql/mysqld2.pid --skip-external-locking --port=3307 --socket=/tmp/mysql2.sock --log-output=FILE --log-error=/var/log/mysql/mysqld.log.2 --slow_query_log_file=/var/log/mysql/mysqld-slow.log.2
Mediante este comando tendríamos lo siguiente:
- socket: /tmp/mysql2.sock
- puerto: 3307
- log general: /var/log/mysql/mysqld.log.2
A continuación podriamos mirar mediante comandos SQL en dicho puerto o socket como si de la base de datos en el instante del snapshot paralizada en el tiempo se tratase. Incluso podemos realizar dumps:
mysqldump -S /tmp/mysql2.sock -u root -p$(cat /var/mysql/.mysql.root.pass) mediawiki wkpage wkrevision wktext > /var/backup/wikidb.snap.08.sql
Para luego importarlas al MySQL principal con otro nombre:
cat /var/backup/wikidb.recuperat.snap.08.sql | sed 's/wkpage/wkpage_old/g' | sed 's/wktext/wktext_old/g' |sed 's/wkrevision/wkrevision_old/g' | mysql mediawiki
Relacionados
Imprimir
Deja un comentario: