Comment éliminer l'ERREUR 1227 lors de l'importation de données vers une instance MySQL Amazon RDS avec des sauvegardes automatiques activées ?

Date de la dernière mise à jour : 24/06/2020

J'ai importé la sauvegarde logique effectuée à l'aide de mysqldump vers une instance Amazon Relational Database Service (Amazon RDS) pour MySQL avec les sauvegardes automatiques activées. J'ai reçu un message d'erreur similaire à celui-ci :

« Error: 1227 SQLSTATE: 42000 (ER_SPECIFIC_ACCESS_DENIED_ERROR) Accès refusé : vous devez disposer d’au moins un des privilèges %s pour cette opération »

Brève description

Cette erreur se produit lorsque le journal binaire de la base de données est activé et que le fichier mysqldump contient un objet (un déclencheur, une vue, une fonction ou un événement). Pour plus d'informations, reportez-vous à la documentation MySQL sur le joural binaire.

Si des instructions de création n'incluent pas les mots clés « NO SQL », « READS SQL DATA » ou « DETERMINISTIC », MySQL ne peut pas créer ces objets, et l'importation échoue avec l'erreur 1227.

Solution

Pour éliminer l'erreur 1227, remplacez la valeur de groupe de paramètres log_bin_trust_function_creators par 1.

Pour résoudre ce problème et permettre l'importation de tous les objets, affectez aux variables système global log_bin_trust_function_creators la valeur 1 dans le groupe de paramètres personnalisés RDS. Pour plus d'informations, consultez e Modification des paramètres d'un groupe de paramètres de base de données.

Remarque : étant donné que vous ne pouvez pas modifier les valeurs d'un groupe de paramètres par défaut, vous devez associer un groupe de paramètres personnalisés à l’instance de base de donnés RDS si le groupe de paramètres par défaut est actuellement associé à cette dernière. Après avoir associé un nouveau groupe de paramètres à l’instance, vous devez redémarrer l’instance de base de données RDS.

Si vous disposez d’un groupe de paramètres personnalisés, associez-le à l’instance de base de données RDS, puis procédez comme suit :

  1. Ouvrez la console Amazon RDS, puis choisissez Groupes de paramètres dans le volet de navigation.
  2. Choisissez le nom du groupe de paramètres personnalisés associé à l’instance de base de données RDS.
  3. Saisissez log_bin_trust_function_creators dans le champ Filtrer les paramètres, puis choisissez Modifier les paramètres.
  4. Remplacez les valeurs de log_bin_trust_function_creators par 1.
  5. Choisissez Enregistrer les modifications.
    Remarque : comme il s’agit d’un paramètre dynamique et que le groupe de paramètres personnalisés est déjà associé votre instance de base de données RDS, cette modification est appliquée immédiatement. Pour plus d’informations, consultez Utilisation des groupes de paramètres de base de données.

Si vous disposez d'un groupe de paramètres par défaut associé à l’instance de base de données RDS :

  1. Ouvrez la console Amazon RDSe, puis choisissez Groupes de paramètres dans le volet de navigation.
  2. Choisissez Créer un groupe de paramètres, puis sélectionnez la famille de groupes de paramètres correspondant à l’instance de base de données RDS.
  3. Renseignez les champs Nom de groupe et Description, puis sélectionnez Créer.
  4. Choisissez le nom du nouveau groupe de paramètres, puis saisissez log_bin_trust_function_creators dans le champ Filtrer les paramètres.
  5. Choisissez Modifier les paramètres et remplacez les valeurs de log_bin_trust_function_creators par 1.
    Remarque : vérifiez que le même groupe de paramètres est associé à l'instance de base de données RDS cible ou se produit l'erreur.
  6. Choisissez Enregistrer les modifications.
  7. Sélectionnez Bases de données dans le volet de navigation.
  8. Sélectionnez l’instance de base de données RDS, puis choisissez Modifier.
  9. Sous Options de base de données, choisissez le groupe de paramètres que vous avez créé.
  10. Sélectionnez Continuer.
  11. Choisissez Appliquer immédiatement ou Appliquer pendant la fenêtre de maintenance planifiée suivante.
  12. Choisissez Modifier l’instance de base de données.
  13. Redémarrez manuellement l’instance de base de données RDS pour que le groupe de paramètres ait le statut in-sync.
    Remarque : pour appliquer les modifications pour le nouveau groupe de paramètres associés, vous devez redémarrer manuellement l’instance de base de données RDS. Pour plus d’informations, consultez Utilisation des groupes de paramètres de base de données.

Si la journalisation binaire ou les sauvegardes automatisées sont activées et que vous recevez cette erreur lorsque vous tentez d'importer le vidage dans une instance Amazon RDS for MySQL, vérifiez que vous avez défini le paramètre log_bin_trust_function_creators. Pour plus d'informations, consultez Comment éliminer les erreurs definier lors de l'importation de données vers mon instance Amazon RDS for MySQL en utilisant mysqldump ?


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?