MySQL 프로시저 복구 0 3 2,949

by ekujb [MySQL] [2016.03.29 17:16:05]


MySQL 프로시저 저장중 네트워크가 끊어지면서 일부가 프로시저가 날아갔습니다. (어이없는 일이지만...)

정확하게 표현하면 MySQL Workbench에서 보이질 않습니다.

하지만, call xxx() 처럼 실행시켜보면 실행은 되고 있습니다. DB내부에는 살아있는데, workbench에서는 보이질 않네요..

export를 해봐도 날아간것은 뽑히지 않고 있습니다..

 

뭔가 해결방법이 없을까요?

by 마농 [2016.03.29 17:33:01]

다른 스키마로 접속해서 안보이는게 아닐까요?


by ekujb [2016.03.29 17:38:48]

터미널로 show procedure status; 로 리스트를 보면 목록에 없습니다.

하지만 show create procedure xxx; 하면 프로시저 내용이 살아있네요.. ㅠㅠ

스키마도 맞습니다.

현상을 정확하게 말하면, 프로시저가 aaa, bbb, ccc, ddd, eee, fff, ggg, ...... 가 있을때 ddd를 수정하다가 순간 네트워크가 끊겼는데, 워크벤치 또는 show procedure status; 에서는 aaa, bbb, ccc 까지만 보이는 현상입니다.


by ekujb [2016.03.29 18:04:31]

일단 원인은 찾았습니다.

MySQL이 설치된 리눅스에 workbench를 설치해보니 사라진 프로시저 리스트가 보입니다.

여기서 drop procedure ddd; 를 해보면 Error 1305 ddd does not exist 라고 나오는데,

create procedure ddd ....  를 해보면 Error 1304 ddd already exists 라고 나오네요..

뭔가 귀신이 있는거 같은데, 어떻게 쫒을까요?

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입