Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi est-ce que j'obtiens « Erreur : accès refusé ; vous avez besoin du privilège SUPER pour cette opération » lors de la création de fonctions dans phpMyAdmin ?

Susan Sarandon
Libérer: 2024-10-31 17:13:30
original
985 Les gens l'ont consulté

Why Am I Getting

Erreur : accès refusé : création de fonctions dans phpMyAdmin

Lors de l'exécution de requêtes SQL pour créer des fonctions dans phpMyAdmin, les utilisateurs peuvent rencontrer une « Erreur : Accès refusé ; vous avez besoin du privilège SUPER pour cette opération". Cette erreur provient d'une exigence de privilège.

Identification du problème

Deux problèmes principaux peuvent provoquer cette erreur :

  1. Manquant Privilège CREATE ROUTINE : MySQL 5.0.3 et versions ultérieures nécessitent le privilège CREATE ROUTINE pour exécuter les requêtes CREATE PROCEDURE et CREATE FUNCTION.
  2. Restriction DEFINER : L'attribut DEFINER spécifie l'utilisateur qui possède la procédure stockée ou la fonction. Si DEFINER est défini sur un utilisateur restreint, l'appelant doit disposer du privilège SUPER pour créer l'objet.

Solution

Supprimer l'attribut DEFINER :

Pour éliminer le besoin du privilège SUPER, supprimez l'attribut DEFINER de la requête SQL. Cela accorde la propriété de la fonction à l'utilisateur actuel.

<code class="sql">CREATE FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
...</code>
Copier après la connexion

Définir le champ délimiteur dans phpMyAdmin :

Avant d'exécuter la requête modifiée, assurez-vous que le champ délimiteur est correctement défini sous la zone de texte SQL dans phpMyAdmin.

Remarques supplémentaires :

  • La journalisation binaire peut nécessiter le privilège SUPER.
  • Une fois le fonction est créée, les utilisateurs peuvent accorder des privilèges spécifiques à d'autres utilisateurs ou rôles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal