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

Lecture de 3 minute(s)
0

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

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, définissez log_bin_trust_function_creators sur true dans le groupe de paramètres de base de données personnalisé pour votre instance de base de données.

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, voir Utilisation de 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 personnalisé et définissez le paramètre :log_bin_trust_function_creators=1
  3. Sélectionnez 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 DB.

**Remarque :**Le nom du groupe de paramètres change immédiatement, mais les modifications apportées aux paramètres s'appliquent seulement lorsque vous redémarrez l'instance sans basculement.

Si vous utilisez déjà un groupe de paramètres personnalisé, effectuez uniquement les étapes 2 et 3. Le paramètre log_bin_trust_function_creators est un paramètre dynamique, il n'est donc pas nécessaire de redémarrer la base de données.

Lorsque la sauvegarde automatique est activée pour une instance de base de données MySQL, la journalisation binaire est également activée. Le message d'erreur suivant peut s'afficher lors de la création d'un déclencheur :

« ERREUR 1419 (HY000) : Vous n'avez pas le privilège SUPER et la journalisation binaire est activée (vous pouvez utiliser la variable log_bin_trust_function_creator, moins sûre) »

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

Remarque : Des événements dangereux peuvent être écrits dans le journal binaire lorsque vous définissez log_bin_trust_function_creators=1. La journalisation binaire est basée sur des instructions (binlog_format=STATEMENT).

Pour plus de détails sur le paramètre log_bin_trust_function_creators, consultez log_bin_trust_function_creators etJournalisation binaire des programmes stockés dans la documentation MySQL.


Informations connexes

Comment puis-je résoudre les erreurs 1227 et les erreurs de définition lors de l'importation de données vers mon instance de base de données Amazon RDS pour MySQL à l'aide de mysqldump ?