티스토리 뷰
WAS는 윈도우에서 개발하고 MySQL 데이터베이스는 리눅스(우분투)에 띄워서 개발하는 중에 MySQL에 접속되지 않는 현상이 있었다.
일단 리눅스 피씨의 MySQL에 새로운 사용자를 모든 IP에 대해 허용하도록 권한을 설정해서 생성했다.
CREATE USER 'baetest'@'%' IDENTIFIED by 'password';
그리고 웹 어플리케이션 에서 jdbc url을 localhost에서 접속했던 방법에서 url의 localhost만 리눅스 피씨의 IP로 변경해서 설정했다.
jdbc.url=jdbc:mysql://[리눅스피씨 IP]:3306/workbook_db
그러나 실행해본 결과 아래와 같은 Exception 이 발생했다.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Communications link failure 와 같은 메세지를 보니 MySQL에 통신 오류가 된 것으로 보였다.
확인해본 결과 MySQL 설치 후 default로 localhost만 접속 가능하게 설정되어 있었다.
Ubuntu에서 mysqld 연결 수신대기 상태 확인
$ sudo netstat -ntlp | grep mysqld
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 8864/mysqld
이는 mysql server의 listen ip 대역이 localhost(127.0.0.1:3306)만 수신 가능하도록 제한되어 있는 상태이다.
my.cnf 파일 수정
$ vi /etc/mysql/my.cnf
// MySQL 버전이 변경되면서 path가 변경된 것 같다. 위에 혹은 아래 경로의 cnf 파일 수정
$ vi /etc/mysql/mysql.conf.d/.. <- 재확인 필요
모든 IP에 대해서 수신 가능하도록 변경 하기 위해서는 my.cnf의 bind-address=127.0.0.1을 주석 처리하고 bind-address=0.0.0.0으로 변경해야 한다. bind-address 를 0.0.0.0 으로 변경 하는 것은 외부에서의 접근을 허용한다는 의미이다.
#bind-address=127.0.0.1
bind-address=0.0.0.0
#주석처리만 해도 bind-address=0.0.0.0 과 같은 의미가 된다.
MySQL 재시작
설정 변경 후 적용되도록 재시작이 필요하다.
$ service mysql restart
...
$ sudo netstat -ntlp | grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0: * LISTEN 8864/mysqld
특정 IP 대역 설정하는 방법
MySQL의 bind-address 를 특정 IP 로 설정하고 재시작 하는 경우 실행이 되지 않았다. 따라서 현재까지 확인한 방법으로는 Listen IP 는 0.0.0.0 으로 열어두고 사용자의 IP를 설정해서 접근을 제한 하는 방법을 사용하면 특정 IP 대역 설정이 가능하다.
특정 혹은 외부 IP 에 대해서 접속 허용을 제한하는 것은 사용자를 추가할 때만 많이 봤던 내용인데, MySQL에서 접속 가능한 IP 대역을 설정해주고 있는지는 처음 알게 되었다.
- Total
- Today
- Yesterday
- 특정 ip
- minikube node add
- minikube
- node add
- WEB-INF
- kubernetes
- Spring Cloud Stream
- Servlet
- Java 장단점
- producer
- 웹 애플리케이션
- Java 란
- ServiceMonitor
- OneToOne
- 데스크톱 애플리케이션
- 애노테이션 프로세서
- MySQL 외부 IP
- 서버 클라이언트
- StreamBridge
- 애플리케이션 변화 과정
- Kafka
- ExpectedException
- docker-compose
- Servlet Container
- Prometheus Operator
- springboot3.x
- consumer
- DD파일
- cpus
- Java 특징
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
