← Volver a publicaciones

mysqldump: ignorando el tag DEFINER

Este es otro no-apunte-de-java. Se trata del MySQL.

Resulta que he tratado de hacer un dump de un servidor a otro. Pero como tienen usuarios restringidos por host, y el mysqldump me genera el script con el tag

<code>
/*!50013 DEFINER=`root`@`10.%` SQL SECURITY DEFINER */
</code>

… pensé que debería haber algún parámetro de mysqldump para ignorar estos tags. Pero según el mismo MySQL dicen que tendría problemas de seguridad (vamos: darle derechos de pasar un VIEW o STORED PROCEDURE a alguien que no le corresponde).

Así que tuve que valerme de un comando de unix/linux para ignorar estos tag:

Este comando es el famoso grep.

Y aquí está mi mysqldump modificado:

<code>
mysqldump -u root -p -B  db100 | grep -v 'DEFINER' > dump.sql
</code>

Espero que les sea de utilidad.