mysql 을 리눅스 서버에 설치하고 원격의 클라이언트에서 툴을 이용해서 접근하려 하니 접속이 안되는 경우가 있다. 이때는 두가지를 의심해 봐야 한다.
첫째,리눅스의 방화벽이 3306 Port 의 접속을 허용하고 있는가 ?
둘째, mysql 계정이 원격지에서 로그인 할 수 있는가 ?
셋째, 그래도 안되면 ...
I. 리눅스 방화벽 조정 하기 : iptables 를 사용하고 있다면
1. 리눅스 방화벽 확인 하기
- 아래의 그림을 보면 ssh, ftp, http 에 대한 허용을 볼수 있을 뿐 어디에도 mysql 은 없는 것을 확인 할 수 있다.
2. 방화벽에 mysql Port 허용 하기
3. 허용 하는 구문 추가하기
※ 방화벽 설정은 순서가 중요하다. 허용하고 난후 거부해야 한다.
4. 방화벽 재 시작 하기
5. 재 확인 하기
- 아래 그림과 같이 mysql port 가 살아 있는 것을 알 수 있다.
※ 그런데 ubuntu 에서는 ufw를 이용해서 방화벽을 설정하고 그것이 더 단순하다.
아래 IV 을 참고 하면 된다.
▶ Cnetos 7 에서 사용한 방화벽 조정 하기
1. 포트 추가 하기 : 3306 기본 포트 허용
2. 방화벽 재로딩 하기
II. mysql 계정 원격 로그인 권한 부여하기
1. mysql 에 접속하기
- 로컬서버에서 mysql 에 접속 한다.
2, 권한 부여 하기
- IP 주소 대신 '%' 를 넣으면 모든 곳에서의 접속을 허용한다는 의미 임.
3. 권한 적용 하기
III. 아무리 해도 안된다.
1. bind-address 수정 하기
sudo vi /etc/mysql/my.cnf
#bind-address = 127.0.0.1
# 아래에 서버의 주소를 입력해 준다.
bind-address = 192.168.123.100
IV. 방화벽은 사실 ufw 를 사용하는 경우가 많다.
1. 설정방법은 아래 링크 참조한다.
http://www.ubuntu-kr.org/wiki/doku.php?id=program:ufw%EC%84%A4%EC%A0%95
'MySQL' 카테고리의 다른 글
mysql의 윈도우에서의 my.ini 파일 위치 (2) | 2014.06.27 |
---|---|
JOIN 을 이용한 다중 행 UPDATE와 DELETE 사용하기 (0) | 2014.06.04 |
MySQL Event 확인하기 (1) | 2014.05.23 |
mysql 이벤트 스케쥴러 사용하기 (2) | 2014.05.23 |
MySQL Fetch Cursor 문 사용방법 (0) | 2014.05.17 |