1단계: MariaDB 설정 파일 수정 (외부 접속 허용)
기본적으로 MariaDB는 보안을 위해 로컬(127.0.0.1) 접속만 허용하도록 묶여 있습니다. 이 설정을 풀어주어야 합니다.
- 설정 파일 열기 (운영체제에 맞는 파일을 편집기로 엽니다)
- Linux (Ubuntu/Debian):
/etc/mysql/mariadb.conf.d/50-server.cnf또는/etc/mysql/my.cnf - Linux (CentOS/RHEL):
/etc/my.cnf또는/etc/my.cnf.d/mariadb-server.cnf - Windows: MariaDB 설치 폴더 내
data/my.ini
- Linux (Ubuntu/Debian):
bind-address항목 수정
파일 내에서bind-address항목을 찾아0.0.0.0으로 변경합니다. (모든 IP로부터의 접속을 허용한다는 의미입니다.)ini# 변경 전 bind-address = 127.0.0.1 # 변경 후 bind-address = 0.0.0.0코드를 사용할 때는 주의가 필요합니다. [1]- MariaDB 서비스 재시작
설정을 적용하기 위해 서버를 재시작합니다.- Linux:
sudo systemctl restart mariadb또는sudo systemctl restart mysql - Windows:
제어판 -> 관리도구 -> 서비스에서 MariaDB 재시작 [1]
- Linux:
2단계: 외부 접속용 사용자 계정 권한 부여
MariaDB 내부에서 특정 아이디가 외부 IP를 통해 로그인할 수 있도록 권한을 열어주어야 합니다.
- MariaDB 콘솔 접속 (root 계정)bash
mysql -u root -p코드를 사용할 때는 주의가 필요합니다. [1] - 원격 접속 계정 생성 및 권한 부여 (상황에 맞는 명령어를 선택하세요)
- 방법 A: 모든 IP에서 접속 가능한 계정 생성 (가장 흔함)sql
-- 'username'과 'password'를 원하는 값으로 변경하세요. GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;코드를 사용할 때는 주의가 필요합니다. - 방법 B: 특정 원격 IP(예: 192.168.0.50)에서만 접속 가능한 계정 생성 (보안상 권장)sql
GRANT ALL PRIVILEGES ON *.* TO 'username'@'192.168.0.50' IDENTIFIED BY 'password' WITH GRANT OPTION;코드를 사용할 때는 주의가 필요합니다.
- 방법 A: 모든 IP에서 접속 가능한 계정 생성 (가장 흔함)sql
- 설정 적용 및 종료sql
FLUSH PRIVILEGES; EXIT;코드를 사용할 때는 주의가 필요합니다.
3단계: 방화벽(Port) 및 네트워크 설정 확인
서버 자체의 방화벽이나 클라우드 보안 설정이 MariaDB의 기본 포트인 3306을 막고 있으면 접속되지 않습니다.
- Linux (UFW 방화벽 사용 시):bash
sudo ufw allow 3306/tcp sudo ufw reload코드를 사용할 때는 주의가 필요합니다. - Linux (Firewalld 사용 시):bash
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload코드를 사용할 때는 주의가 필요합니다. - AWS / GCP 등 클라우드 환경:
인스턴스의 보안 그룹(Security Group) 또는 방화벽 규칙으로 이동하여 인바운드(Inbound) 규칙에3306포트를 추가(허용)해야 합니다.

답글 남기기