Hay una base de datos de un tamaño de 500 GB. Las tablas en la base de datos A contienen tablas MyISAM e INNODB. Las tablas MyISAM son tablas maestras y las tablas Innodb son tablas de transacciones principales.
Realice copias de seguridad y restaure utilizando el volcado de mysql, y deje de hacerlo mucho tiempo o días.
- max_allowed_packet = 1G
- foreign_key_checks = 0
- auto_commit = off
Respuestas:
Pero el enlace también recomienda XtraBackup de Percona, que es más rápido, no tiene bloqueos en las mesas que ya están en uso y no gana tiempo para la restauración. Para 500 GB de datos, prefiero que Percona XtraBackup sea rápido y eficiente a menos que desee convertirlos al modelo innodb_file_per_table si no fuera del servidor DB existente. El siguiente enlace explica cómo proceder.
http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html
fuente
Mira mydumper. Es mucho más rápido que mysqldump: la nueva versión mydumper 0.6.1 ofrece características de rendimiento y usabilidad
Puede descargar desde aquí: https://github.com/maxbube/mydumper
fuente
Creo que la pregunta es sobre cómo restaurar más rápido desde los archivos de volcado finalizados de mysqldump y no una solución de copia de seguridad diferente.
Una de las formas en que puede hacerlo es mediante la creación de grupos de tablas en su esquema y crear un usuario de base de datos separado para cada grupo y usar permisos MySQL para no permitir que las tablas se inserten para usar todos menos un usuario de base de datos.
Esta es una técnica probada, rápida, casi paralela, pero no está 100% seguro de cuánto tiempo tomará restaurar desde 500G. Pero en mi humilde opinión, necesitas algo paralelo. Vea el siguiente enlace para ver un ejemplo.
Restauración rápida y paralela de volcados de SQL (mysqldump) para MySQL
fuente
Pruebe lo siguiente con innobackupex:
Puede cambiar el número de proceso paralelo como desee. Como mencionó que tiene tablas myisam, el parámetro "rsync" ayudará a acelerar la copia de seguridad de esas.
fuente