jueves, 16 de septiembre de 2010

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

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

... 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:


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

Espero que les sea de utilidad.