> 데이터 베이스 > MySQL 튜토리얼 > SQL 함수를 phpMyAdmin으로 가져올 때 \'액세스가 거부되었습니다. 이 작업에 대한 SUPER 권한이 필요합니다\' 오류가 발생하는 이유는 무엇입니까?

SQL 함수를 phpMyAdmin으로 가져올 때 \'액세스가 거부되었습니다. 이 작업에 대한 SUPER 권한이 필요합니다\' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-02 14:53:30
원래의
310명이 탐색했습니다.

Why do I get the

오류: 액세스가 거부되었습니다. 이 작업에는 SUPER 권한이 필요합니다

SQL 함수를 phpMyAdmin으로 가져오려고 하면 "#1227 - 액세스가 거부되었습니다. 이 작업에 대해 SUPER 권한이 필요합니다."라는 오류 메시지가 나타날 수 있습니다. 이 오류는 실망스러울 수 있지만 해결 방법은 비교적 간단합니다.

SUPER 권한 이해

MySQL에서 SUPER 권한은 사용자에게 다음과 같은 권한을 부여하는 특별한 권한 수준입니다. 저장된 루틴 생성 및 수정을 포함한 고급 작업을 수행하는 능력. 기본적으로 일반 사용자는 SUPER 권한이 없습니다.

DEFINER 문 제거

귀하의 경우 DEFINER 문을 포함하면 문제가 발생합니다. SQL 쿼리. DEFINER 문은 생성된 함수를 소유할 사용자를 지정합니다. 지정된 사용자에게 SUPER 권한이 없으면 쿼리가 실패합니다.

이 문제를 해결하려면 phpMyAdmin으로 가져오기 전에 SQL 쿼리에서 DEFINER 문을 제거하세요. 이렇게 하면 SUPER 권한이 없어도 함수를 생성할 수 있습니다.

구분자 설정

또한 SQL 텍스트 아래에 구분자 필드를 설정하는 것이 중요합니다. phpMyAdmin의 상자. 이 필드는 SQL 문을 구분하는 데 사용되는 문자를 지정합니다. 기본적으로 세미콜론(;)이 구분 기호로 사용되지만 쿼리에 함수 정의 내에 세미콜론이 포함되어 있는 경우 다른 구분 기호를 선택해야 합니다.

DEFINER 문이 없는 쿼리 예시

다음은 DEFINER 문이 없는 SQL 쿼리의 예입니다.

/*!50003 DROP FUNCTION IF EXISTS `f_calc_gst` */;;
/*!50003 SET SESSION SQL_MODE=""*/;;
/*!50003 CREATE*/ /*!50003 FUNCTION `f_calc_gst`(p_ht decimal(15,3), p_province varchar(2)) RETURNS varchar(255) CHARSET utf8
begin
  declare res varchar(255); 
  declare v_gst decimal(15,3);
  declare v_gst_formula varchar(255);

  select GST, GST_formula
  into v_gst, v_gst_formula
  from taxes_periods
  where NOW() between dt_debut and dt_fin
  and id_province = p_province;

  set v_gst_formula = replace(v_gst_formula, 'HT$', p_ht);
  set v_gst_formula = replace(v_gst_formula, 'GST%', v_gst);

  set res = concat('select round(', v_gst_formula, ',2) "gst"');
  return res;
end */;;
로그인 후 복사

DEFINER 문을 제거하고 올바른 구분 기호를 설정하고 나면 SQL 쿼리를 가져올 수 있습니다. 액세스 거부 오류 없이 phpMyAdmin에 성공적으로 로그인했습니다.

위 내용은 SQL 함수를 phpMyAdmin으로 가져올 때 \'액세스가 거부되었습니다. 이 작업에 대한 SUPER 권한이 필요합니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿