
로컬에서 보려고 실서버의 데이터를 덤프떠와서 연결했더니 이상하게 다른 데이터는 다 뜨는데 특정 부분만 안 떴다.
그때 난 에러가 the user specified as a definer ('root'@'%') does not exist.
구글에 검색해보니 덤프 떠오기 전의 데이터의 definer가 현재 로컬에는 없어서 그런 거 같았는데..
이상하게 이것저것 찾아본 대로 select * from mysql.proc where definer = '기존계정@%' and type='function'으로 함수를 확인한 다음 update로 함수 정의자를 수정했는데도 여전히 안되더라..
알고보니까 기존 데이터에 view가 있었고 이 view의 definer가 기존계정으로 돼있던 거였다!
난 바보같이 view를 걍 삭제했다가 또 안돼서.. 덤프뜬거 다시 restore한다음 새로 view를 만들었다. 다른 프로그램은 어떤지 모르겠는데, Dbeaver에서는 그냥 새롭게 view만드는게 낫다는 포스팅도 본 거 같아서..
어쨌든 결론적으론 이제 잘된다.
덤프떠올때도 고려할 점이 많구나.