Instalar y usar pv
(está disponible como paquete yum para CentOS)
http://www.ivarch.com/programs/pv.shtml
Suponiendo que el tamaño esperado del archivo dumpfile.sql resultante es de 100 m (100 megabytes), el uso de pv
sería el siguiente:
mysqldump <parameters> | pv --progress --size 100m > dumpfile.sql
La salida de la consola se verá así:
[===> ] 20%
Mire la página man man pv
para más opciones. Puede mostrar la tasa de transferencia, cuánto tiempo ha transcurrido, cuántos bytes se han transferido y más.
Si no sabe el tamaño de su archivo de volcado, hay una manera de obtener un tamaño de la base de datos MySQL desde table_schema - no será el tamaño de su archivo de volcado, pero puede ser lo suficientemente cerca para sus necesidades:
SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema;
Actualizar
En mi experiencia, al volcar todo el servidor MySQL, el tamaño real sin comprimir del volcado mysql (usando la opción mysqldump --hex-blob) es aproximadamente entre el 75 % y el 85 % del tamaño real de los datos MySQL obtenidos de information_schema. Entonces, para una solución general, podría intentar lo siguiente:
SIZE_BYTES=$(mysql --skip-column-names <parameters> <<< 'SELECT ROUND(SUM(data_length) * 0.8) AS "size_bytes" FROM information_schema.TABLES;')
mysqldump <parameters> --hex-blob | pv --progress --size $SIZE_BYTES > dumpfile.sql