Blog de Gonzalo

Blog de programación de Gonzalo López

ELIMINAR CLÁUSULA DEFINER EN BACKUP DE MYSQL

MYSQL

Si tenemos una base de datos mysql y tenemos vistas declaradas y se hace una copia de seguridad de dicha base de datos, se va a añadir la línea:


CREATE ALGORITHM=UNDEFINED DEFINER=`usuario`@`host` SQL SECURITY DEFINER VIEW
Va a coger el usuario y el host configurado, para ese usuario, en esa base de datos y al inportar dicha base de datos en otro servidor puede causar error si ese usuario no está definido.
Eliminar Para eliminar cláusula definer en backup de MySQL hay dos soluciones:
  • Quitar el usuario al momento de crear la vista, quedando la definición de la vista así:
    
    CREATE ALGORITHM=UNDEFINED DEFINER=`usuario`@`host` SQL SECURITY DEFINER VIEW
    
  • Reemplazar por un usuario que exista en la base de datos

Compartir en twitter