No Image

[MySQL] ERROR 1457 (HY000): Failed to load routine after upgrade or migratrion

2015-12-03 KENNETH 0

[MySQL] ERROR 1457 (HY000): Failed to load routine after upgrade or migratrion   에러메세지 ERROR 1457 (HY000): Failed to load routine DB_NAME.MY_PROCEDURE_01. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6) 상황 mysql 업그레이드 및 마이그레이션 작업 이후   데이터상태 proc 테이블에는 MY_PROCEDURE_01 이 제대로 들어가 있음 use mysql; select * from proc where name=’MY_PROCEDURE_01′; 의 결과는 제대로 나옴…   호출시 call DB_NAME.MY_PROCEDURE_01; show create procedure DB_NAME.MY_PROCEDURE_01; 등을 수행하게 되면.. 위의 에러메세지가 발생한다는것…   원인 테이블 손상 데이터 마이그레이션 실패 등 여러가지가 있겠으나.. 나같은 경우는… 구버전 -> 최신(mysql-5.7) 업데이트를 하다보니..   프로시저 선언시 CREATE TEMPORARY TABLE TMPTTT(REGDATE varchar(10))TYPE = HEAP 이런식으로 현재 버전에서 지원하지 않는 구문오류로 인해 해당 프로시저가 정상적으로 생성되지 않았던 것.   찾느라 무척 애먹음.. ;;;;;   mysql upgrade : https://dev.mysql.com/doc/refman/5.7/en/upgrading.html#upgrade-procedure-logical