gloryyam 님의 블로그
HOST ‘ ‘ is not allowed to connect to this MariaDB server 본문
* 그림에 색칠해져 있는 부분은 회사 솔루션명이기 때문에 가렸습니다.
그리고 제가 VirtualBox로 서버 환경을 구성한 이유는 회사에서는 외부로 유출되면 안되는 중요한 자료들이 많기 때문에 대부분, 폐쇠망을 사용합니다. 그래서 VirtualBox를 사용해서 WAS와 DB서버를 만들어 사용하기 위해 VirtualBox를 사용하기로 하였습니다..
문제발생
회사 솔루션의 Builder, Schedualer가 Windows에서만 실행이 가능하기 때문에 dbeaver를 통해서 MariaDB에 접속하려고 했습니다.
하지만!!!
접속이 안되는 이슈가 발생했습니다..
분명 어제까지만해도 수석님이랑 같이 했을 때는 됐던 거 같은데 왜 혼자 실습하려니 안되는 건지..
그래서 Chat gpt와 각종 커뮤니티 사이트를 찾으면서 해결 방법을 모색해 봤습니다.
찾아본 결과 크게 4가지 문제로 정리해 봤습니다.
1. 외부에서 가상 머신에 접근하려면 호스트 시스템의 특정 포트로 들어오는 트래픽을 가상 머신의 해당 포트로 전달하기 위해 포트 포워딩을 설정해줘야한다.
2. 방화벽 활성화
3. MariaDB 내부 설정에서 로컬 127.0.0.1 만 접근 가능하도록 설정되어서 생기는 문제
4. 권한 문제
이제 한 번 문제를 해결해 보도록 하겠습니다.
문제 해결
1. 포트포워딩 설정
포트포워딩 이용해 MariaDB port 번호를 설정해 줍시다
2. 방화벽 활성화
설정한 port 번호를 활성화 시켜준다.
3. 172.0.0.1 -> 0.0.0.0 변경
sudo cd /etc/mysql/mariadb.conf.d/vi 50-server.cnf
명령어를 실행해 설정파일을 열어줍니다.
그리고 “bind-address = 127.0.0.1”로 되어 있다면 “bind-address = 0.0.0.0” 로 수정하여 외부 IP로 접속이 가능하도록 수정한 후, Maria 를 재실행하거나 Ubuntu를 재실행해서 해당 설정이 적용되도록 합니다.
4. 권한 설정
마지막으로 db 서버에 접속해서
GRANT ALL PRIVILEGES ON database_name.* TO 'usernaem'@'%' IDENTIFIED BY 'password';
명령어로 사용자 권한을 전부 허용할 수 있도록 바꿔줍니다.
이제 모든 준비는 맞췄습니다...
제발 되기를 기도하며 다시 연결을 시도..!!
...?
5분동안 망연자실하며 있다가 다시 해결을 위해 구글이한테 도움을 요청했습니다.
찾고있다가 네트워크 통신 방법을 바꿔보라는 글을 보고 NAT -> Bridged Adapter 모드로 변경을 해봤습니다.
변경 후에 우분투를 재부팅해 한 뒤
DB Cennection을 수정을 하니..!
성공을 했습니다.ㅠㅠ
그렇다면 왜 NAT로 접속했을 때는 실패하고 어댑터 브리지로 변경 한 뒤에는 왜 성공을 했는지 궁금해졌습니다.
이 부분에 대해서는 다음 글을 통해서 다뤄보도록 하겠습니다.
그리고 NAT와 어댑터 브리지에 대해서도 작성해보겠습니다.
'에러일기' 카테고리의 다른 글
스케줄러 프로세스 Hang 현상 (0) | 2025.03.24 |
---|---|
select command denied to user '<userid>'@'<ip>' for table '<table-name>' (0) | 2024.08.05 |
사용자 정의 예외에서 예외 메세지 null 값 (0) | 2024.07.29 |