2012-06-25 7 views
0

J'essaie de créer un trigger MySQL qui va invoquer un script PHP. J'ai une instance de serveur MySQL fonctionnant dans RDS et j'aimerais utiliser le script php pour envoyer un message à mon système de messagerie SQS.MySQL trigger sur RDS

  1. Où puis-je sauvegarder les scripts php?
  2. Ai-je besoin d'installer le SDK PHP pour SQS sur mon instance EC2?

Répondre

0

Oublier les déclencheurs, en particulier sur Amazon RDS.

Utilisez un cron pour exécuter un script PHP toutes les 5 minutes (par exemple) qui recherche les messages non envoyés et les envoie en utilisant le système de messagerie SQS.

+0

Quel est le motif de suggérer de ne pas utiliser les déclencheurs? Y a-t-il un problème connu avec cela? – user1481054

+0

Je pense que les déclencheurs doivent être évités autant que possible. Lourdement utilisés, ils font du débogage une douleur dans le cul car ils sont exécutés dans un ordre aléatoire et vous n'y pensez souvent pas quand vous vous demandez pourquoi les données modifiées ne semblent pas comme prévu. – CodeZombie

+0

Malheureusement, ils sont les seuls substituts sur MySQL pour les contraintes CHECK, ce qui est vraiment dommage –

1

Oui, vous pouvez utiliser des déclencheurs normalement. Utilisez cette étapes:

  1. Changement dans le menu "groupe de paramètres" la variable:

    log_bin_trust_function_creators to "ON" or "1". 
    
  2. Faites un "modifier" et "reboot" à exemple. OBLIGATOIRE!

  3. Vérifiez avec le client mysql si était vraiment modifié la variable. La commande est: SHOW VARIABLES LIKE 'log_bin_trust%'

Maintenant, vous pouvez créer vos déclencheurs normalement. La grande difficulté est de vérifier correctement aux questions: votre instance devrait être utiliser ce groupe de paramètres, et cela devrait être réglé correctement