이 문제에 관련하여 여러가지 경우(접속시간이 지나치게 길어서 접속이 끊어졌거나, 접속이 끊어졌는데 쿼리를 날리려고 하는 등...)가 있겠지만 내가 설명하는 경우는 날리려는 쿼리가 지나치게 클 때 해결할 수 있는 방법이다.
이는 다른 문제가 아니라 max_allowed_packet 값이 너무 작아서이다.
클라이언트의 경우 기본 max_allowed_packet의 값은 16M인데
서버의 경우 기본 max_allowed_packet의 값은 1M밖에 되지 않는다.
그래서 쿼리를 날릴 때에는 문제가 없었는데 서버에 insert나 update시에 문제가 발생하는 것이다.
이 값을 고쳐주기 위해서는.
set GLOBAL max_allowed_packet = 1024 * 1024 *
64;
set SESSION max_allowed_packet = 1024 * 1024 * 64;
이런 쿼리를 서버에 날려주자.
제한 용량이 64M로 바뀌면서 아무런 문제없이 쿼리를 읽어들이는 서버의 모습을 보게 될 것이다.ㅎ