기본 콘텐츠로 건너뛰기

4월, 2017의 게시물 표시

This is very likely to create a memory leak.

이클립스에서 프로젝트를 WAR파일로 묶어 배포를 주로 하게 되는데, 이때 WAR파일의 Library에 들어있는 MySQL Connector / Driver 파일을 지우고, 이 라이브러리를 tomcat의 lib 디렉토리로 옮겨놓으라는 것이었습니다. 이유는 war 파일 내에 해당 Connector/Driver.jar 파일이 들어있는 경우, 하나의 프로젝트면 크게 상관이 없을지도 모르겠으나 여러 프로젝트를 webapps 아래에 war파일로 배포하게 되는 경우, 해당 커넥터/드라이버가 계속 생성이 될 것이라는 점이었습니다. 게다가 향후 JVM의 가비지컬렉터가 활성화 되더라도 MySQL에 들락날락거리는 그 접속 객체를 삭제할 수가 없게 될 수도 있어 결국 메모리를 고갈시킬 수 있는 문제가 있다는 것이었습니다. 그러니, war 파일에 해당 연결/드라이버 라이브러리를 넣지 말고, 톰캣이 설치된 디렉토리 아래의 lib 디렉토리에 mysql-connector-java-x.x.xx.jar 파일을 이동시키라는 이야기였습니다.

mysql 계정 추가

-  mysql 서버 로그인하기  $ mysql -uroot -prootpassword mysql - 다른 PC에서 mysql 서버로 접속을 하기 위한 사용자 추가  mysql> create user 'userId'@'%' identified by 'userpassword'; - 위 사용자에게 모든 것을 할 수 있는 권한 주기 mysql> grant all privileges on *.* to 'userid'@'%'; - 위 사용자에게 특정 DB를 관리할수 있는 권한 주기  mysql> grant all privileges on dbname.* to 'userid'@'%'; - 로컬PC에서 mysql로 접속하기 위한 사용자 추가  mysql> create user 'userId'@'localhost' identified by 'userpassword'; - 위 사용자에게 모든 것을 할 수 있는 권한 주기  mysql> grant all privileges on *.* to 'userid'@'localhost'; - 위 사용자에게 특정 DB를 관리할 수 있는 권한 주기  mysql> grant all privileges on dbname.* to 'userid'@'localhost';