[DB] The user specified as a definer ('root'@'%') does not exist 에러

하파타카·2024년 2월 5일
0

트러블슈팅

목록 보기
3/4

에러

에러 메시지

The user specified as a definer ('root'@'%') does not exist

상황

갑자기 잘되던 서비스에서 문제가 발생했다.
서비스 내에서 특정 쿼리 실행 시 위와 같은 에러가 발생했는데, 다른 기능은 정상인것으로 보아 조회쿼리에 문제가 있는 것 같았다.
문제없이 실행되던 기능에서 갑자기 발생한 에러에다가 에러메시지의 '계정명'@'호스트 부분이 내가 한번도 사용한적 없는 계정의 정보였기에 원인을 파악하는데 시간이 걸렸다.

설명

서버DB에 함수를 하나 만들어 조회쿼리에서 사용하도록 해두었는데 여기서 발생한 문제였다.
함수를 만든 DB계정이 삭제되거나 권한이 변경되어 현재 접속중인 계정에게 함수의 사용권한을 줄 수 없어서 에러가 발생했던 것.
계정권한을 내가 직접 수정한 것은 아니기에 위의 원인으로 추정된다.

해결

DB에서 문제가 된 함수를 삭제 후 현재 사용중인 DB계정으로 다시 만들어 주었더니 정상적으로 조회할 수 있었다.

🔗참고링크

1번 링크가 많은 도움이 되었음.
1. ERROR 1449 (HY000): The user specified as a definer ('계정명'@'호스트') does not exist
2. The user specified as a definer ('root'@'%') does not exist 오류 해결
3. MySQL Error 에러(The user specified as a definer ('root'@'%') does not exist)

profile
천 리 길도 가나다라부터

0개의 댓글