1. mysql workbench 설치
https://velog.io/@zdevowl/MySQL-Workbench-%EC%84%A4%EC%B9%98
위의 사이트에서 자신의 운영체제에 맞춰서 설치한다.
2. 외부접근을 위한 mysql db에 할당된 포트 개방(필자 OS : ubuntu 18.04)
* 데이터베이스 역시 서버처럼 1개의 포트를 점유한다.
(보통 mysql 의 경우 3306 으로 설정되는데 개발과정에서는 크게 상관없지만 만약 서비스를 개방하는 경우에는 포트번호를 바꾸는 것을 추천한다.)
* linux 포트를 개방하는 이유는 workbench 에서 원격으로 작업을 하려면 db 에서 열린 포트로 직접접근하게 되는데 이를 위해서 linux 에서 mysql에게 할당한 포트를 개방해야 한다.
* 또한 database 포트는 서비스 런칭이후에는 (반드시!!!!!!!!!!)개방해 놓은 포트를 외부접근이 불가능하게 만들어야 한다.
(외부접근이 가능한 상태로 남겨두면 비밀번호로 mysql db 에 직접접근이 가능해지므로 매우매우 위험하다.)
2.1. 열려 있는 모든 포트 조회
$ netstat -nap
2.2. Listen 중인 포트 조회
$ netstat -nap | grep LISTEN
2.3. 개방하려는 포트번호 상태 조회
$ netstat -nap | grep <포트번호>
만약 mysql 의 default port 인 3306 포트를 조회한다면 아래와 같다.
$ netstat -nap | grep 3306
2.4. 포트의 외부접근 허용
$ iptables -I INPUT 1 -p tcp --dport <포트번호> -j ACCEPT
-I: 새로운 규칙을 추가한다.
-p: 패킷의 프로토콜을 명시한다.
-j: 규칙에 해당되는 패킷을 어떻게 처리할지를 정한다.
2.5. 내부에서 외부로 나갈 수 있는 포트 개방
만약 mysql 의 default port 인 3306 포트로 개방한다면 아래와 같다.
$ iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
2.5. 포트의 내부에서 외부로 내보내기 허용
$ iptables -I OUTPUT 1 -p tcp --dport 9002 -j ACCEPT
$ iptables -I OUTPUT 1 -p udp --dport 9002 -j ACCEPT
출처: https://server-engineer.tistory.com/840 [임대리 개발일지:티스토리]
3. workbench 에서 원격으로 연결하기
Connection Name : workbench 에서 표시될 원격 db 의 설정 name
Connection Method : 포트개방시 설정하였던 tcp 인지 udp 인지 설정
Hostname : 원격으로 연결할 대상 서버의 ip 주소
Port : 원격으로 연결할 대상 서버에서 연 mysql db 의 포트번호(default : 3306)
Username : 접속할 유저의 이름
Password : 이 부분을 설정해 두면 추후에 접근할 때마다 비밀번호를 치지 않아도 된다.
'Web Programming > mysql' 카테고리의 다른 글
[MysqlWorkbench] mysql workbench result grid 바로 안나오는 문제 (0) | 2023.06.03 |
---|---|
[Mysql] delete on cascade (0) | 2022.12.03 |
[mysql] mac-mysql 정리 (0) | 2022.10.29 |
[mysql] auto_increment 사용 시 주의점 (0) | 2022.01.06 |