En caso de crear funciones o store-procedures es necesario agregar unos parámetros al mysqldump.
# -c (INSERT completo, incluyendo nombre de columnas)
# -R (ROUTINES, funciones o store-procedures)
# -Q (pone tablas y columnas entre comillas)
# -u (define el usuario con el que va a exportar)
# -E (exporta eventos)
mysqldump -c -E -R -Q -u backup –password=m1Sup3rCl4ve BASE | gzip -1 -c > /root/base.sql.gz
En este ejemplo el resultado del mysqldump lo vuelca al gzip, el cual lo comprime con compresión rápida.
Para importar este archivo luego hacemos lo siguiente:
zcat /root/base.sql.gz| mysql -u usuarioduenodelaDB -D BASE -p
Es importante usar el usuario que tiene privilegios solo sobre esa DB para asegurarnos de que por cualquier error, no vaya a impactar en ninguna otra DB.