Suppression des clauses DEFINER des dumps MySQL
Les dumps MySQL incluent souvent des clauses DEFINER dans les instructions CREATE VIEW et CREATE PROCEDURE, telles que "DEFINER=root @localhost". Ces clauses peuvent être indésirables dans certains scénarios. Cet article explore les méthodes permettant de supprimer ces clauses des fichiers de vidage MySQL.
Solutions :
Ouvrez le fichier dump dans un éditeur de texte et effectuez une recherche et un remplacement global. Recherchez toutes les instances de "DEFINER=
Modifiez le fichier de vidage en utilisant Perl avec la commande suivante :
perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
Cela supprimera toutes les clauses DEFINER du fichier de vidage et créera une sauvegarde avec une extension ".bak".
Diffusez la sortie de mysqldump via sed pour supprimer les clauses DEFINER :
mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
Cette commande créera un nouveau fichier de vidage nommé "triggers_backup.sql" avec les clauses DEFINER supprimées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!