본문 바로가기
studies/Back-end

[MySQL] 데이터베이스 공유 & 타 데이터베이스 접속하기

by mjkcool 2020. 1. 12.
728x90
반응형

[MySQL 데이터베이스를 로컬에서까지는 다룰 수 있는 사람 대상의 자료입니다. 필자역시 초보이니 100%신뢰는 X.]

 

MySQL은 하나의 데이터베이스(서버)를 여러 사람 또는 PC가 공유할 수 있다.

근데 그 방법이 초보에겐 너무나 어렵다 .. Y . Y

과정을 요약하자면

1. 로컬이 아닌 외부접근가능 새계정을 생성한다.

2. 새계정에게 root 접속 권한을 허용한다.

3. 타 PC에서 ip연결을 통해 새계정으로 접속한다.

4. 연결 !

 

이제 그 방법을 알아보자

※ 테스트를 진행한 두 기기는 같은 무선인터넷에 연결되어있다.

 

 

 

반응형

MySQL 데이터베이스 공유하기

콘솔을 사용해도 되나, 저는 GUI툴을 사용하겠습니다. 필자의 MySQL 버전은 8.0입니다.


0. 먼저 데이터를 가진 서버 역할의 PC의 MySQL워크벤치에서 root계정으로 접속한 다음 공유할 데이터베이스를 확인한다. 


2. root계정은 host가 local인데, 이것은 외부 접근이 불가하니 외부접근이 가능한 새 계정을 만든다.

좌측의 Navigator>Users and Privileges>Add Account

Name과 PW는 마음대로 하고 Limit to Host Matching은 반드시 %으로, Authentication Type은 잘 모르겠으니 표준으로 했다.

외부접근이 가능한 새 계정을 통해 root계정의 데이터베이스에 간접접근한다고 생각하면 쉽다.


3. 이 계정에 root 데이터베이스에 접근할 수 있도록 권한을 부여한다. 공유하고자 하는 데이터베이스(스키마)를 선택한 후 Ok.

그럼 스키마가 올라가고, 권한들을 모두 체크한 후(필요한 것만 체크해도 되나 간편을 위해 일단 모두 체크함.) Apply. 

 


4. 명령 프롬포트(콘솔)에서 공백없이 ipconfig를 입력한다. 

그럼 무선 어쩌고 하는 문장이 나오는데, 무선 LAN 어댑터 Wi-Fi>IPv4 주소를 확인한다. (ex. 000.000.0.00)

다른 PC에서 접근할때 이 ip주소가 필요하다.

 

이제 서버 PC의 방화벽들을 확인해보는걸 추천한다. 방화벽으로 인해 외부 연결이 불가능할 수 있기 때문. 백신 프로그램(ex.V3 etc.)이 전용 방화벽을 가진 경우도 있다. 문제가 없어보이면 패스.

 

 

 


4-1. 이제 클라이언트 PC로 진행한다.

SQLyog Community라는 프로그램툴을 이용해 서버 데이터베이스에 접속할 것이다. 아래 링크에서 최신 버전을 다운.

https://github.com/webyog/sqlyog-community/wiki/Downloads

 

첫화면에서 상단좌측 버튼을 누르고 새 호스트에 연결한다. new Connection이름을 준다. 연결정보가 기억되는데, 그 정보의 이름이 되니 식별이 가능하도록 만든다.

Host Address에는 앞서 확인한 서버 PC의 ip주소를, 사용자이름엔 root로부터 접근권한을 받은 계정의 이름을 입력. 뒤엔 차례대로 그 계정의 비밀번호와 root의 포트번호, 그 계정이 접근권한을 받아 클라이언트PC가 접근하고자하는 데이터베이스(스키마) 이름을 입력하고 연결한다.

 

정상적으로 연결되었다면 newuser계정이 데이터베이스에 root로부터 부여받은 권한을 사용할 수 있다. 앞서 나는 모든 권한을 체크하였으니, delete문만 실행해보겠다.

SQLyog에서도 2번째 행이 삭제된 걸 확인할 수 있다.

서버PC에서 확인하니 클라이언트PC의 delete쿼리가 잘 먹었다!

 


728x90
반응형