test DB를 내 local로 dump를 해온 뒤 프로젝트 data.xml에서 local로 연결을 바꿔주고 프로젝트를 돌렸다. 정상 작동했지만 로그인을 하려고 하자
The user specified as a definer ('사용자이름'@'%') does not exist
해당 오류가 발생되었다.
구글링을 해보니 데이터베이스에 대한 권한을 주지 않아 생기는 오류였고
grant all on *.* to '사용자이름'@'%' identified by 'password' with grant option;
위 코드를 실행하면 오류가 해결된다는 글을 보았다.
mysql 워크벤치에 들어가서 위 코드를 실행해 보았다.
하지만 나는 아래와 같은 오류를 다시 만났다.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'password' with grant option' at line 1
먼저 사용자를 생성한 후에 권한을 부여해야 하기 때문이었다.
mysql Command에 들어가서 아래 코드를 입력하여 정말로 사용자가 존재하는지 확인한다.
SELECT user FROM mysql.user;
그리고 사용자를 생성해준다.
CREATE USER '생성하려는 사용자 이름'@'%' IDENTIFIED BY 'password';
이후 권한을 부여해 준다.
GRANT ALL PRIVILEGES ON *.* TO '생성하려는 사용자 이름'@'%' WITH GRANT OPTION;
그러면 최종적으로 사용자가 추가된 것을 확인할 수 있다.
나는 로그인이 정상적으로 되어 문제를 해결하였다.
글 잘 봤습니다.