J'ai écrit toutes les procédures MySQL comme [email protected]
:Est-ce que `definer` est requis lors de la création d'une procédure stockée?
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_add_user`(...)
Le problème est, lors du déploiement sur un autre serveur, je dois remplacer root
avec l'utilisateur en cours et remplacer localhost
avec IP en cours, ce qui est gênant.
Est-il possible d'écrire des procédures pour que quelqu'un qui veut utiliser ma base de données et mes procédures n'ait pas à modifier le définisseur de chaque procédure?
Il est écrit "La clause DEFINER détermine le contexte de sécurité à utiliser lors de la vérification des privilèges d'accès au moment de l'activation du déclencheur." Plus de détails sont donnés plus loin dans cette section. " Alors, quand je m'en assurerai, les procédures ne sont utilisées que par des utilisateurs privilégiés, je peux totalement supprimer des choses définitives entières? – Xorty
Oui, je suppose. Je pense que lorsque vous définissez les permissions de l'utilisateur il y a un privilège "execute procedures" qui peut être accordé/refusé (pas sûr de ça ...) – maid450
Bon, je vais essayer plus tard et répondre si ça a marché. Thanx – Xorty