이 글에서는 Ubuntu OS에 MariaDB를 설치하고 외부 접속까지 설정하는 방법을 정리한다.

📦 패키지 업데이트

sudo apt update
sudo apt upgrade -y
  • 먼저 시스템 패키지 목록을 갱신한다.
  • 설치된 패키지도 최신 버전으로 업데이트한다.

🛠 MariaDB 저장소 설정

  • 저장소 설정을 위해 필요한 도구를 설치한다.
sudo apt-get install curl software-properties-common dirmngr ca-certificates apt-transport-https -y
  • 주요 역할은 다음과 같다.

    • software-properties-common : 추가 저장소 관리
    • dirmngr : GPG 키 관리
    • ca-certificates : HTTPS 인증서 검증
    • apt-transport-https : HTTPS 기반 패키지 다운로드
  • MariaDB 저장소 설정 스크립트를 내려받는다.

sudo curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
  • 필요한 버전의 저장소를 설정한다.
sudo bash -s -- --mariadb-server-version=10.5

🧰 MariaDB 설치

sudo apt install mariadb-server mariadb-client mariadb-backup
sudo mysql_secure_installation
  • 패키지를 설치한 뒤 보안 설정을 진행한다.

🌐 외부 접속 설정

MariaDB 설정

  • 설정 파일에서 portbind-address를 수정한다.
  • 필자는 /etc/mysql/mariadb.conf.d/50-server.cnf 파일을 수정했다.
[mysqld]
bind-address = 0.0.0.0
port = 3309
  • 환경에 따라 설정 파일이 여러 개 있을 수 있다.
  • 이럴 때는 원하는 속성을 가진 파일을 찾아 수정하는 편이 좋다.
sudo grep -r 'bind-address' /etc/mysql/
  • 설정을 수정한 뒤 MariaDB를 재시작한다.
systemctl restart mariadb
  • 적용 여부는 포트 확인 명령으로 점검한다.
sudo netstat -tulnp | grep 3309

image

  • 외부에서 접속하려면 0.0.0.0:<mariadbPort> 형태로 열려 있어야 한다.

caution

MariaDB 서비스가 실행 중일 때 설정값을 바꾸면 반드시 재시작해야 반영된다.

🔑 사용자 권한 설정

  • MariaDB는 외부 접속이 가능한 사용자 권한을 별도로 부여해야 한다.
mysql -u root
GRANT ALL PRIVILEGES ON mydatabase.* TO <사용자명>@<ip> IDENTIFIED BY <비밀번호>;
FLUSH PRIVILEGES;
  • IP를 %로 설정하면 사용자명 기준으로 허용 범위가 넓어진다.

🛡 방화벽 설정

  • MariaDB 포트가 방화벽에 열려 있어야 외부 접속이 가능하다.
  • ufwUncomplicated Firewall의 약자다.
sudo ufw status
sudo ufw enable
sudo ufw allow 3309/tcp
  • 현재 방화벽 상태를 확인하고, 필요하면 활성화한 뒤 포트를 허용한다.

📌 정리

  • Ubuntu에서는 저장소 설정부터 시작해 MariaDB를 설치한다.
  • 외부 접속을 위해 bind-address, 사용자 권한, 방화벽을 함께 설정해야 한다.
  • 설정 변경 후에는 재시작과 포트 확인이 중요하다.

연결문서

태그:

카테고리:

업데이트:

댓글남기기