본문 바로가기

mysql 에러2

[MYSQL] 연결이 해제되는 이유 / Connection retry 리눅스에서 프로그램 개발을 하다보면 Mysql 을 연동한 DB를 사용하게 된다. 그런데 무슨 이유에서인지 동작이 잘 되던 프로그램이 소켓을 연결하여 데이터를 전송하여도 DB에 입력이 되지 않는 증상이 발견 되곤 한다. 이것은 프로그램 구조마다 다를수 있겠지만 근본적인 원인은 Mysql 사용하지 않는 대기시간에 의한 끊김이라고 보는것이 맞겠다. Mysql은 기본적으로 대기시간이 설정에 따라 다르겠지만 6시간동안 사용하지 않으면 해당 Connection을 해제하는 옵션이 설정되어 있다. 그래서 DB에 오랫동안 접근하지 않으면 연결이 끊겨 DB에 데이터가 입력되지 않는 증상이 발견되는 것이다. 자 그럼 근본적으로 간단하게 해결하는 방법이 무엇이 있을까.? 구조적으로 정말 간단하지만 일정 시간단위로 Mysql에.. 2020. 3. 31.
[MYSQL] delete 에러 해결 / delete error Mysql 을 사용하다가 쿼리에서 해당 테이블의 데이터를 삭제해야 할 경우가 생긴다. delete from 테이블명 where 지우고자하는 데이터 대상; 아무 문제없이 삭제되어야 하지만 아래와 같은 에러를 마주하게 된다 솰라솰라 무슨 말인가 하니 safe mode가 활성화 되어서 삭제가 불가능하다는 문구였다. 자 그럼 지울수없게 보호되어 있는 이 모드를 어떻게 해제해야 할까?? 정말 간단하게 쿼리문을 통해 가능하다 아래와같이 실행해 보자 set sql_safe_updates=0; 이렇게 실행해주고 맨 처음 delete문을 다시 실행하게 되면 깔끔하게 지워지는 모습을 볼 수 있다. 쿼리문으로 간단하게 해결 할 수도 있지만 Mysql Workbench를 쓰는 사용자라면 다음과같이도 설정 가능하다. Edit .. 2020. 3. 31.