MySQL Forums
Forum List  »  Spanish

Re: Copia de seguridad haciendo un tar.gz
Posted by: Jaime Crespo
Date: August 13, 2014 02:33AM

Quote

Aunque el motor de base de datos está arrancado tengo la seguridad de que no se está accediendo a la base de datos que estoy copiando.

Pero tienes muchos buffers internos, como la key_cache o el buffer pool que hacen la base de datos inconsistente con disco.

Para asegurar la consistencia en MyISAM, tienes que ejecutar
FLUSH TABLES WITH READ LOCK;
(bloqueando todas las tablas) y entonces puedes copiar sus archivos sin problema.

InnoDB siempre es consistente con disco, pero no puedes asegurar que haya escrituras pendientes en hilos de background (auque no haya DMLs). Hay dos opciones, hacer un snapshot (de manera que se copien todos los archivos absolutamente a la vez) y luego realizar un crash recovery controlado -como simula Percona XtraBackup- o utilizas los transportable tablespaces que te permite MySQL 5.6 y Percona Server (con lo cual se bloquea cada tabla una a una).

Quote

Lo del esclavo no me sirve porque lo que yo quiero entre otras cosas es que si alguien por ejemplo borra algo por error poder restaurar la base de datos desde la copia de seguridad, pero con la replicación se habría propagado el borrado accidental a la esclava.

No me has entendido, montas un esclavo, y luego usas el esclavo para hacer las copias de seguridad. Puedes tirarlo y copiar el directorio de datos sin afectar a producción (maestro). Por cierto que también puedes montar un esclavo con un cierto retraso (un día, una semana) ya que la replicación es asíncrona, usando MASTER_DELAY de MySQL 5.6 o pt-slave-delay en cualquier versión.


Quote

Yo lo que quiero es tener un backup diario. ¿Cómo lo hacen en las empresas de hosting sin parar el servidio? ¿O es que sí que lo paran?

Las empresas usan (o combinan): mysqldump o mydumper si la base de datos es pequeña o alta disponibilidad (cluster de replicación u otro) o snapshoting combinado con FTWRL o InnoDB (LVM, máquinas virtuales) o herramientas especializadas (MySQL Enterprise Backup o Percona XtraBackup). En general, las empresas suelen usar InnoDB, que permite realizar copias en caliente sin problemas (al contrario que MyISAM).

No puedes simplemente copiar el directorio de datos en caliente.

--
Jaime Crespo
http://dbahire.com

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Copia de seguridad haciendo un tar.gz
1221
August 13, 2014 02:33AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.