사진: Unsplash의Mitchell Griest |
오랜 만에 Apache Derby를 사용했다. Docker에 설치하고 보니, 이런 저런 허들이 있었다.
- Docker 외부에서 Derby에 접속을 할 수 없었고,
- 사용자 계정을 만드는 방법을 몰랐고,
- 백업과 복원하는 방법을 몰랐다.
Docker 외부에서 Derby에 접속하는 방법
Derby를 실행할 때 호스트 옵션을 추가한다.
1 | -h 0.0.0.0 | cs |
관리자, 사용자 계정을 만드는 방법
관리자 계정은 ij에 접속하여 DB를 생성하면서 동시에 만들 수 있다.
1 2 | ij> connect 'jdbc:derby://localhost:1527/dbname;create=true;user=username;password=userpw' ij> | cs |
사용자 계정은 관리자 계정으로 접속한 후, 추가할 수 있다.
1 2 3 4 5 | ij> connect 'jdbc:derby:dbname;user=username;password=userpw'; ij(CONNECTION1)> connect 'jdbc:derby:dbname;user=user1;password=user1pw'; ij(CONNECTION2)> connect 'jdbc:derby:dbname;user=user2;password=user2pw'; ij(CONNECTION3)> connect 'jdbc:derby:dbname;user=user3;password=user3pw'; ij> | cs |
사용자 계정을 추가한 후, 해당 사용자에게 권한을 부여한다.
1 | ij> grant select on names to user1; | cs |
백업, 복원 방법
백업은 db 디렉토리를 그대로 복사하면 된다.
복원은 restoreFrom 을 이용하며, 기존 관리자 계정을 입력한다.
1 | connect 'jdbc:derby://localhost:1527/dbname;restoreFrom=${백업경로};user=username;password=userpw'; | cs |
0 댓글