※ 개발연습생의 설정 방법이므로, 내용이 정확하지 않거나 자세하지 않을 수 있습니다! (또륵)
MySQL에 담겨있는 나의 DB들을 다른 PC나 장소에서도 똑같이 동기화 하고 공유할 수 있으면 정말 좋겠지만...
간단한 연결이나 동기화는 아마도 보안적인 부분에서 이슈가 생기기 쉬울테니까? 이렇게 하는 거겠지? 하는 연습생의 스치는 생각은 버려두고....,
아무튼 노트북과 데스크탑을 옮겨다니며 연습생활을 하고 있는데, 각 기기에 DB동기화가 안되니까 export-import를 통해 직접 파일을 넘겨주며 연결해줘야하는게 너무너무너무너무너무 불편했다.
그래서 다른 PC에서도 실시간(?)으로 DB를 사용하고 작업할 수 있는 방법에 대해 구글링을 하다보니 원격접속이라는게 있었다! 몇가지 블로그들을 찾아보니 커맨드창에서 직접 쿼리문을 이용하여 원격접속 설정을 하는 것이 정석인 것 같다.
그런데 나는 커맨드창을 좋아하지 않는다. (아니, 커맨드창이 날 좋아하지 않는다.)
그래서 보기 좋고 설정하기 편한 MySQL 워크벤치를 이용해서 원격 접속을 설정하였다!
준비물
서버PC (DB를 공유해줄 PC)
|
접속PC (DB를 공유받을 PC)
- 서버PC의 IP주소만 제대로 알고 있으면, 인터넷 환경이 같지 않아도 된다.
(나 같은 경우 서버PC는 유선 환경ㅡ즉 본체에 랜선 장착 중, 그리고 접속PC는 무선 환경ㅡ즉 Wifi로 연결중이었다!) - 각 PC마다 워크벤치가 설치되어 있어야한다.
- 서버PC가 전원이 켜져있어야지만 접속PC로 DB를 다룰 수 있다.
1. 서버PC의 Workbench에서 root계정으로 접속 한 뒤, 새로운 계정을 생성한다.
- 워크벤치 좌측의 Users and Privileges - Add Account 클릭
- Login Name : 새로운 계정명. 아무거나 자유롭게
- Limit to Hosts Matching : 접근 가능한 IP를 제한해주는 부분.
- % : 모~~든 IP에서 접근 가능하다.
- 특정 IP주소 : 기입한 IP주소로만 접근이 가능하다.
(예를들어 내 DB에 접근 할 수 있는건 내 노트북 뿐이다 -> 내 노트북의 IP주소를 기입) - 비밀번호를 자유롭게 입력하고 우측 하단의 Apply 클릭하여 계정 생성을 완료한다.
2. 접근허용할 스키마를 선택한 후, 스키마에 대한 새계정의 권한을 설정한다.
- 좌측에 생성된 계정을 클릭하고, 우측에서 Schema Privileges 탭을 선택 - Add Entry 클릭
- 접근허용할 스키마(테이블)를 설정할 수 있다.
- All Schema : 현재 root 계정에 있는 모든 DB에 접근할 수 있게 한다.
- 지금 설정은 모두 프로그래밍 연습을 위한 접속이므로 일단 어느 컴에서나 모든 DB를 다 관리할 수 있게 All Schema를 선택했다. 특정 스키마만 필요한 부분이라면 Selected schema 에서 선택할 수 있다.
- 추가된 스키마 목록을 클릭하고 , 하단에서 새로운 계정에서 사용가능한 DDL, DML 권한을 설정한다.
- 이 부분 또한 연습을 위한 목적이므로 모든 권한을 부여하도록 Select "ALL"을 클릭하여 적용해주었다.
3. 접속할 PC에서 워크벤치를 켜고, 새로운 연결을 등록해준다.
- 워크벤치의 메인화면에서 캡쳐에 표시된 +를 누르고 Setup New Connection창을 열어준다.
- Connection Name : 연결명. 아무거나 알아보기 쉽게 입력해준다.
- Hostname : 서버 PC의 IP주소를 적어준다.
- Username : 아까 서버PC에서 만들어둔 새로운 계정이름을 입력한다.
- Store in Vault ... 를 클릭하고 새로운 계정의 비밀번호를 입력하고 OK - OK !
- 여기서 연결이 성공했다면, 만들어둔 Connection으로 접속하면 서버PC에서 설정한대로 스키마들이 들어와있고, 관리할 수 있다.
연결에 성공한 접속 PC에서 DB를 만지면, 만진 내용이 바로 서버PC에서도 동기화 되어 있는 것을 알 수 있다!
'SPRING > 연습장' 카테고리의 다른 글
Interceptor 동작 경로 설정 (0) | 2021.08.24 |
---|---|
form안의 데이터를 한 번에 묶어 ajax로 전송하기 (0) | 2021.08.17 |
session과 cookie를 이용한 자동 로그인 기능 (0) | 2021.08.17 |
jsp에서 보낸 이메일 주소가 controller에서 잘려 받아질 때 (0) | 2021.08.10 |
코딩용 폰트 비교 (0) | 2021.08.08 |