sql >> Base de Datos >  >> RDS >> Mysql

Eliminar la cláusula DEFINER de los volcados de MySQL

No creo que haya una forma de ignorar la adición de DEFINER s al vertedero. Pero hay formas de eliminarlos después de crear el archivo de volcado.

  1. Abra el archivo de volcado en un editor de texto y reemplace todas las apariciones de [email protected] con una cadena vacía ""

  2. Edite el volcado (o canalice la salida) usando perl :

    perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
    
  3. Transfiera la salida a través de sed :

    mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql