Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- php
- ubuntu
- 옵티머스 g
- 회고
- upbit
- 라즈베리파이
- 옵G
- 우분투 20.04
- 셀레니움
- 옵지
- 우분투
- 제주도
- Raspberry Pi
- 라즈비안
- 프레임워크
- 맛집
- 옵티머스g
- 라라벨
- FMS
- Laravel
- 업비트
- 맥
- MySQL
- Selenium
- 코드이그나이터
- Ubuntu 20.04
- 20.04
- codeigniter
- C
- TiL
Archives
- Today
- Total
평범한 이야기들
[Ubuntu] Ubuntu20.04 에서 Mysql 외부접속 허용하기 본문
728x90
Mysql은 로컬이 아닌 외부에서 접속을 시도하면 오류가 나옵니다. 그 이유는 Mysql은 설치 시 기본적으로 로컬에서만 접속 가능하게 설정이 되어있기 때문입니다. 그렇기 때문에 외부에서 접속을 하기 위해서는 몇 가지 설정을 더 해주어야 합니다.
cnf 파일 수정
먼저 mysql의 설정이 되어있는 cnf 파일을 수정해야 합니다.
# 설치시 별 다른 옵션을 주지 않았다면 아래와 같은 곳에 cnf 파일이 존재한다.
$ sudo vim /etc/mysql/my.cnf
$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
해당 파일을 열면 중간에 bind-address = 127.0.0.1 부분이 존재합니다.
해당 부분을 주석 처리해주시면 됩니다. 이 내용은 로컬 호스트(localhost, 127.0.0.1)에서 들어오는 접속을 바인딩한다는 뜻으로 해당 설정 때문에 외부에서 접근을 하지 못하는 것입니다. 저는 bind-address, mysqlx-bind-address 부분을 주석 처리했습니다. 주석처리는 '#'을 이용하시면 됩니다.
그리고 Mysql을 재시작해주시면 됩니다.
$ sudo service mysql restart
iptables rule 추가
우분투 내부의 방화벽에 포트를 열어주어야 합니다.
$ sudo vim /etc/iptables/rules.v4
해당 파일을 열게 되면 아래 화면과 같습니다.
해당 파일에 적당한 위치에 mysql 기본 포트인 3306 포트를 열어주면 됩니다.
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
위와 같이 내용을 추가해주신 다음 저장 후 iptables를 재시작해주시면 됩니다.
$ sudo service iptables restart
모든 설정이 다 끝났습니다. 다시 Mysql Workbench로 접속을 하게 되면 정상적으로 접속이 되는 것을 확인하실 수 있습니다.
혹시 우분투에서 ufw를 사용하신다면 ufw를 이용해 3306 포트를 열어주시면 됩니다.
728x90
Comments