MySQL, tiempo restante de restauración de backup

En muchas ocasiones, sobre todo en bases de datos grandes, cuando se realizar un dump, luego hay que pensar en restaurarla. Un dump, aunque de forma muy poco profesional, es un copiado de los datos de la base de datos a formato texto, sin embargo, cargar luego dicho texto en la base de datos es algo que lleva más trabajo. Especialmente si las tablas tienen estructuras complicadas, están particionadas o algo que consuma varios ciclos de CPU. Generalmente el problema que se presenta en estos casos, es que no se sabe cuánto porcentaje del fichero va procesado. Vamos a explicar aquí un pequeño truco que sí permite saber dicho porcentaje.
Primero se realiza el dump de la base de datos, por ejemplo, tal con forme sigue (ojo a los permisos!).
shell> mysqldump -u root database < database.sql
Ahora, nos interesa restaurar dicha base de datos nuevamente en otro equipo, por ejemplo, pero nos interesa que haya una barra de progreso para saber el porcentaje de trabajo realizado. Para lograrlo, empleamos el comando pv "file", que hace justamente eso. Va indicando el porcentaje de fichero procesado y que se le va pasando como pipe a mysql para que lo vaya insertando nuevamente. El resultado, el que sigue,
shell> pv database.sql | mysql -u USRE database
180.8MB 0:01:52 [3.51MB/s] [=======>                  ] 42% ETA 0:02:10


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios