Post

TIL(20241011) [ubuntu DB서버와 프로젝트 연결]

TIL(20241011) [ubuntu DB서버와 프로젝트 연결]

아래를 참고해서 DB서버에 mariaDB를 설치했다.

[Linux] Ubuntu Mariadb 설치

설치 이후에 연결하려고 하면

1
unable to connect to localhost

데이터베이스 서버가 로컬이 아니기 때문에 연결할 때 5가지 상황을 확인해야한다.

1) DB 서버 주소 확인: 로컬호스트(localhost) 대신 DB 서버의 IP 주소나 도메인을 사용해야 한다. DB 서버의 주소를 정확히 입력했는지 확인한다.

2) 포트 번호 확인: DB 서버가 사용하는 포트 번호가 맞는지 확인한다. 일반적으로 MySQL은 3306, PostgreSQL은 5432 등을 사용한다.

3) 방화벽 설정: DB 서버가 있는 머신의 방화벽이 해당 포트를 차단하고 있지 않은지 확인한다.

4) 사용자 인증: DB에 접근하기 위한 사용자 이름과 비밀번호가 올바른지 확인한다.

5) DB 설정: DB 서버가 외부 접속을 허용하도록 설정되어 있는지 확인해야 한다. 예를 들어, MySQL의 경우 bind-address 설정을 0.0.0.0으로 변경해야 외부에서 접근할 수 있다.

일단 1,2,4번은 확인을 했을 때 문제가 없다. 그러면 3번,5번 설정을 해주어야 한다.

💡 방화벽 설정 (3번)

DB 서버 ubuntu 환경에서 아래 명령어로 방화벽에서 인바운드 규칙을 추가 3306포트를 허용한다.

1
2
3
sudo iptables -L
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
<!-- sudo iptables -A INPUT -p tcp --dport [포트번호] -j ACCEPT -->

💡 DB설정 (MariaDB)

ubuntu 환경에서 터미널에 mariaDB설정파일을 열고 [mysqld] 섹션을 찾아서 bind-address를 0.0.0.0 으로 수정한다.

1
2
3
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 0.0.0.0

명령어 참고**

  • nano 사용 시: Ctrl + O를 눌러 저장하고 Enter를 누른 후, Ctrl + X로 종료.
  • vim 사용 시: i를 눌러 입력 모드로 전환하고 수정한 후, Esc를 눌러 명령 모드로 돌아가서. 그런 다음 :wq 입력 후 Enter.
1
sudo systemctl restart mariadb

그 다음 mariaDB 재시작 하고 다시 연결했을 때 성공!

This post is licensed under CC BY 4.0 by the author.