Comment activer des fonctions, des procédures et des déclencheurs pour mon instance de base de données MySQL Amazon RDS ?

Date de la dernière mise à jour : 20/11/2020

Comment activer des fonctions, des procédures et des déclencheurs pour mon instance de base de données MySQL Amazon Relational Database Service (Amazon RDS) ?

Résolution

Amazon RDS est un service géré qui ne fournit pas d'accès SYS (privilèges SUPER). Si la journalisation binaire est activée sur votre instance de base de données MySQL, définissez le paramètre log_bin_trust_function_creators sur true dans le groupe de paramètres de base de données personnalisés que vous créez pour votre instance de base de données. Pour plus d'informations, consultez Privilèges de compte utilisateur principal pour Amazon RDS.

Si vous créez une instance de base de données sans spécifier de groupe de paramètres de base de données, Amazon RDS crée un nouveau groupe de paramètres de base de données par défaut. Pour plus d'informations, consultez Utilisation des groupes de paramètres de base de données.

  1. Créez un groupe de paramètres de base de données.
  2. Modifiez le groupe de paramètres de base de données de la façon suivante : log_bin_trust_function_creators=1
  3. Choisissez Enregistrer les modifications.
    Remarque : avant d'utiliser le groupe de paramètres de base de données avec une instance de base de données, patientez au moins 5 minutes.
  4. Choisissez Bases de données dans le volet de navigation.
  5. Choisissez l'instance que vous souhaitez associer au groupe de paramètres de base de données.
  6. Choisissez Actions, puis Modifier.
  7. Sélectionnez le groupe de paramètres que vous souhaitez associer à l'instance de base de données.
  8. Redémarrez l'instance de base de données.
  9. Remarque : le nom du groupe de paramètres change immédiatement, mais les modifications apportées au groupe de paramètres ne sont pas appliquées tant que vous n'avez pas redémarré l'instance sans basculement.

Lorsque la sauvegarde automatique est activée pour une instance de base de données MySQL, elle active également la journalisation binaire. Le message d'erreur suivant peut s'afficher lors de la création d'un déclencheur : « ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable) » [ERREUR 1419 (HY000) : Vous n'avez pas le privilège SUPER et la journalisation binaire est activée (vous pouvez utiliser la variable moins sûre log_bin_trust_function_creators)].

Si vous recevez cette erreur, modifiez le paramètre log_bin_trust_function_creators sur 1 pour autoriser les fonctions, les procédures et les déclencheurs sur votre instance de base de données.