데이터 리터러시를 위한 발자취

[Airflow] DBeaver에서 Ubuntu의 MySQL 연결하기 본문

데이터 분석/Airflow

[Airflow] DBeaver에서 Ubuntu의 MySQL 연결하기

wosole 2023. 12. 8. 16:00

 

 

지난번 포스팅한 Airflow 파이프라인 구축 과정에서 MySQL Connection Setting 이슈로 테이블 조회가 어려웠던 부분을 다루려 합니다. 

 

오류 해결과정에서 알게 된 방법이기에 최대한 간결하게 다뤄보겠습니다-! 

prepeocess_result를 통해 insert된 테이블이 DBeaver의 localhost DB에서 확인되지 않았던 이슈

 

*️⃣ MySQL Connection Setting 오류

  🔸 사용 중인 PC 내 기 설치된 Windows 버전 MySQL 존재함

  🔸 Airflow 사용을 위해 Ubuntu 버전 MySQL을 추가 설치함

  🔸 DBeaver에 Windows 버전 MySQL 연결되었으나, Ubuntu의 MySQL의 연결이 제대로 수행되지 않음

  🔸 이 문제로 DBeaver에서 preprocess_result 절차에 따른 MySQL DB 조회 불가, wsl 환경에서만 확인 가능

   ➡️ DBeaver에서도 Ubuntu의 MySQL 연결 시도. 아래 내용은 해당 문제 해결에 따른 절차를 다루고 있음


 

 ※ 본 과정은 Airflow 내 MySQL 설치 및 계정 생성까지 모두 완료했다고 가정하는 점 참고해 주세요-!

 

1. 외부 접속 허용하기 (mysqld.cnf 수정)

- WSL, Ubuntu와 같이 외부 접속을 통해 MySQL을 연결할 경우, mysqld.cnf의 bind-address를 수정해줘야 함

➡️ wsl 또는 ubuntu 접속 후 mysql.conf.d가 있는 파일 경로로 이동

# mysqld.cnf가 있는 파일 경로 이동
cd /etc/mysql/mysql.conf.d/

 

경로 내 mysql.cnf 또는 mysqld.cnf가 있는 지 확인 필요

 

➡️  이동 후, mysqld.cnf 수정하기

# mysqld.cnf 수정하기
sudo nano mysqld.cnf

mysqld.cnf 화면

- Ctrl + W를 통해 bind-address를 검색하기

➡️ bind-address의 ip주소를 아래처럼 0.0.0.0으로 설정 후 저장하기

➡️Ctrl + X를 선택하면 저장할 것인지 저장하지 않고 닫을 것인지 Yes/NO를 선택하는 화면으로 전환 (Y를 누른 후 Enter)


2. DBeaver에서 Ubuntu의 MySQL 환경 연결하기

1) Ubuntu의 ip 주소 확인하기

- ifconfig 입력 후, inet 옆에 있는 '172.0.0.0'에 있는 숫자 참고 (아래 2) 번 과정 Sever Host 입력 필요)

ifconfig 조회 화면

 

2) DBeaver에서 새로운 데이터베이스 연결하기

- Main 화면에서 Sever Host, Database, Username, Password 입력

- Driver Properties의 allowPublicKeyRetrieval을 TRUE로 변경 (MySQL 8.0 버전 이상 해당)

- Test Connection 클릭 후, 이슈가 없으면 확인 버튼 클릭

위 두 과정을 모두 진행해줘야 에러나지 않음

 

MySQL 연결 완료


해당 과정까지 모두 진행하셨다면 DBeaver에서도 Ubuntu의 MySQL에 접속할 수 있습니다 😊

 

별 것 아닌 것 같지만 Linux를 처음 다뤄본 저는 Ubuntu의 MySQL이 왜 보이지 않는 건지 잘 몰랐거든요..ㅎㅎ 

하고 나니 서로 다른 환경에서 MySQL DB를 조회했으니 벌어질 수밖에 없던 소소한 이슈였던 것 같습니다 😅

 

그래도 이번 과정을 통해 Airflow 파이프라인 구축에 따른 전 과정을 이해하고, 몰랐던 것을 더 배우게 돼서 재밌었어요! 

Linux도 다뤄보기 전까진 어렵게만 느껴졌는데 기본적인 명령어들을 이해하고 나니 오히려 간단하게만 느껴지네요.

 

이런 지식들을 잘 융합해서 더 잘 써먹을 수 있도록 노력해 봐야겠습니다.

 

오늘도 긴 글 읽어주셔서 감사합니다-! 

Comments